當(dāng)玩家每付款一筆資金,成功或是失敗,都可以在手機(jī)app上監(jiān)控,再將監(jiān)控的信息回調(diào)到聚合支付系統(tǒng)內(nèi)部,收款對(duì)賬便是這么一個(gè)過(guò)程了。說(shuō)起來(lái)很簡(jiǎn)單,但是在這個(gè)流程中可能出現(xiàn)一些問(wèn)題,卻是人為無(wú)法干涉的。
使用場(chǎng)景: 1、IM模塊,收到消息時(shí),需要判斷當(dāng)前App是否在前臺(tái),如果在前臺(tái)則震動(dòng)一下提醒用戶,如果在后臺(tái)則發(fā)送一條通知提醒用戶。 2、收到Push推送,需要判斷App是否存活,如果存活則直接跳轉(zhuǎn)到目標(biāo)界面,如果不存活則先啟動(dòng)App,再跳轉(zhuǎn)到目標(biāo)頁(yè)面。 比如當(dāng)PC端集成支付寶即時(shí)到賬的時(shí)候,會(huì)出現(xiàn)一個(gè)問(wèn)題,當(dāng)支付寶支付成功后,系統(tǒng)的支付寶流水會(huì)重復(fù)添加好幾條。 解決方案: 1、保證執(zhí)行回調(diào)接口的結(jié)果為“success”,但是有時(shí)即使返回“success”,支付寶還是繼續(xù)回發(fā)異步通知,這是采用本地支付狀態(tài)驗(yàn)證。 2、訂單號(hào)唯一,根據(jù)訂單號(hào)查詢訂單的數(shù)據(jù)庫(kù)的支付狀態(tài),如果數(shù)據(jù)庫(kù)支付狀態(tài)為false,則繼續(xù)執(zhí)行下面的程序;反之則返回“success”,相當(dāng)于在數(shù)據(jù)庫(kù)訂單支付狀態(tài)的層面上,又進(jìn)行了一次攔截驗(yàn)證。
一般第三方支付會(huì)通過(guò)兩個(gè)方向通知商戶用戶在他們系統(tǒng)的支付情況,一個(gè)是及時(shí)的前端回調(diào),還有一個(gè)異步的后臺(tái)回調(diào)。 前端回調(diào)是用于告知和處理前端的業(yè)務(wù)跳轉(zhuǎn)/前端用戶交互方面的體驗(yàn)。 后臺(tái)的異步回調(diào)是更加安全的可靠的接收第三方支付結(jié)構(gòu)的方式,基于安全的原因,商戶需要在后臺(tái)回調(diào)處理邏輯里面對(duì)第三方支付的灰度進(jìn)行簽名驗(yàn)證;在驗(yàn)證完成后,還需要調(diào)用第三方支付的查單接口進(jìn)行反查驗(yàn)證。 在聚合系統(tǒng)平臺(tái)之上,商戶進(jìn)件后,通過(guò)云端監(jiān)控和手機(jī)APP監(jiān)控完成回調(diào)工作,手機(jī)在安裝監(jiān)控回調(diào)APP的時(shí)候要注意以下幾點(diǎn),手機(jī)不能熄屏斷網(wǎng)死機(jī),如果中途出現(xiàn)這3種情況,則需要重新安裝。 |