支付寶微信掃碼支付中間件「第二屆立創商城電子制作節30強作品」
2017-11-02 17:49:50閱讀量:15587來源:立創商城
本作品為第二屆立創商城電子制作節30強入圍作品,作者立創社區ID:云逸Baby;轉載請注明出處,未經允許不得用作商業用途。作品原鏈接:http://club.szlcsc.com/article/details_4577_1.html。
一、作品簡介
1.作品外觀
PCB圖
作品焊接成品圖片:
2.作品設計背景
未來越來越多的商品服務通過現在自動售貨等設備提供服務,現在掃碼支付使用已經非常普遍。但是對于設備開發商來說,要設計一套掃碼支付設備包括支付后臺服務器還是有難度的。
鑒于此,開發一臺掃碼支付中間件。用戶只需要熟悉串口通訊等通信協議,無須關心與微信支付和支付寶服務器的通信協議,只需要在服務器端設置好支付參數,就可以進行支付設備開發。大大縮短了,開發周期。目前共享設備異常火爆,這些設備都需要提供支付功能。此中間件市場前景應該很好
3.作品亮點
作品集成了電子技術與軟件技術與一體融合了GPRS通信,內部集成了與后臺服務器的支付通信協議,對線下支付設備開發者提供了簡易的接口。此外作品提供一路DTU鏈路,可供用戶傳輸自由數據。
二、系統構架圖
三、硬件部分的描述
1.原理圖和PCB文件,Pads 開發:http://club.szlcsc.com/article/downFile_2D85C06B2F9DEB21.html
2.實現原理
系統主要分為2個部分,用戶串口數據的解析,和支付請求數據和支付返回數據的解析。
模塊通過串口接收用戶支付數據,先解析校驗用戶請求數據后,更具用戶的支付金額等參數,生成AES加密支付報文,通過SIM800A 發送到后臺服務器。
后臺服務器對模塊發送來的支付數據進行二次驗證,驗證通過后,根據需要向支付寶或者微信支付服務器發送支付請求數據。隨后后臺服務器將接收到微信和支付寶的支付鏈接數據發送給模塊,模塊接收到這些數據后,經過驗證,通過串口發送給用戶設備。
此后,模塊將進入等待支付結果狀態。通過服務器的異步通知和模塊定時輪休訂單狀況來確認當前訂單的支付狀態。定時將支付狀態返回給用戶。可以根據用戶的設定,支付成功后,開啟某個繼電器。
四、材料清單(BOM列表)
五、軟件部分的描述
串口接收解碼流程圖:
GPRS 發送異常處理流程:
支付請求流程處理:
六、作品演示
支付演示:
后臺服務器演示:
七、總結
本作品主要功夫主要在軟件上面。涉及到支付等資金操作,對系統的穩定性可靠性要求非常高。
對每筆支付訂單,需要能明確的給出支付狀態,即使設備異常重啟,也不能丟失訂單狀態。這就要服務端和設備端都要進行密切配合,對每筆訂單的支付log都要落地。
在通信方面,GPRS 與服務器端的要維持長鏈接,通過心跳來保持連接。由于各種各種不可控,鏈接會中斷,這就需要設備需要及時的重連的能力。設計一臺優雅的重連機制非常重要。

L7805CV-DG/線性穩壓器(LDO) | 0.5637 | |
AMS1117-3.3/線性穩壓器(LDO) | 0.1237 | |
BAT54C,215/肖特基二極管 | 0.0334 | |
LM358DR2G/運算放大器 | 0.35 | |
CJ431/電壓基準芯片 | 0.1147 | |
LM393DR2G/比較器 | 0.318 | |
ADUM4160BRWZ-RL/隔離式USB芯片 | 31.6 | |
SS8050/三極管(BJT) | 0.035 | |
8S005/錫膏/錫漿 | 17.67 | |
B0505S-1WR3/隔離電源模塊 | 2.34 |