現(xiàn)在支付寶、微信掃碼支付使用已經(jīng)非常普遍。鑒于此,開(kāi)發(fā)一臺(tái)掃碼支付服務(wù)器平臺(tái)。作品集成了電子技術(shù)與軟件技術(shù)與一體融合了GPRS通信,內(nèi)部集成了與后臺(tái)服務(wù)器的支付通信協(xié)議,對(duì)線下支付設(shè)備開(kāi)發(fā)者提供了簡(jiǎn)易的接口。此外作品提供一路DTU鏈路,可供用戶傳輸自由數(shù)據(jù)。
用戶只需要熟悉串口通訊等通信協(xié)議,無(wú)須關(guān)心與微信支付和支付寶服務(wù)器的通信協(xié)議,只需要在服務(wù)器端設(shè)置好支付參數(shù),就可以進(jìn)行支付設(shè)備開(kāi)發(fā)。大大縮短了,開(kāi)發(fā)周期。目前共享設(shè)備異?;鸨@些設(shè)備都需要提供支付功能。
系統(tǒng)設(shè)計(jì)框圖:
系統(tǒng)主要分為2個(gè)部分,用戶串口數(shù)據(jù)的解析,和支付請(qǐng)求數(shù)據(jù)和支付返回?cái)?shù)據(jù)的解析。
模塊通過(guò)串口接收用戶支付數(shù)據(jù),先解析校驗(yàn)用戶請(qǐng)求數(shù)據(jù)后,更具用戶的支付金額等參數(shù),生成AES加密支付報(bào)文,通過(guò)SIM800A 發(fā)送到后臺(tái)服務(wù)器。
后臺(tái)服務(wù)器對(duì)模塊發(fā)送來(lái)的支付數(shù)據(jù)進(jìn)行二次驗(yàn)證,驗(yàn)證通過(guò)后,根據(jù)需要向支付寶或者微信支付服務(wù)器發(fā)送支付請(qǐng)求數(shù)據(jù)。隨后后臺(tái)服務(wù)器將接收到微信和支付寶的支付鏈接數(shù)據(jù)
發(fā)送給模塊,模塊接收到這些數(shù)據(jù)后,經(jīng)過(guò)驗(yàn)證,通過(guò)串口發(fā)送給用戶設(shè)備。
此后,模塊將進(jìn)入等待支付結(jié)果狀態(tài)。通過(guò)服務(wù)器的異步通知和模塊定時(shí)輪休訂單狀況來(lái)確認(rèn)當(dāng)前訂單的支付狀態(tài)。定時(shí)將支付狀態(tài)返回給用戶??梢愿鶕?jù)用戶的設(shè)定,支付成功后,開(kāi)啟某個(gè)繼電器。
總結(jié):
本作品主要功夫主要在軟件上面。涉及到支付等資金操作,對(duì)系統(tǒng)的穩(wěn)定性可靠性要求非常高。
對(duì)每筆支付訂單,需要能明確的給出支付狀態(tài),即使設(shè)備異常重啟,也不能丟失訂單狀態(tài)。這就要服務(wù)端和設(shè)備端都要進(jìn)行密切配合,對(duì)每筆訂單的支付log都要落地。
在通信方面,GPRS 與服務(wù)器端的要維持長(zhǎng)鏈接,通過(guò)心跳來(lái)保持連接。由于各種各種不可控,鏈接會(huì)中斷,這就需要設(shè)備需要及時(shí)的重連的能力。設(shè)計(jì)一臺(tái)優(yōu)雅的重連機(jī)制非常重要。
未來(lái)產(chǎn)品近繼續(xù)完善,加入軟件遠(yuǎn)程升級(jí)能力,在協(xié)議方面會(huì)添加多種協(xié)議。
PS:該項(xiàng)目設(shè)計(jì)來(lái)源于立創(chuàng)社區(qū),設(shè)計(jì)資料僅供學(xué)習(xí)參考。詳見(jiàn)附件原文出處