支付流程整體設(shè)計

一、主要思想

  • 無需支付校驗,直接查詢支付結(jié)果
  • 支付流程整體設(shè)計,兼容支付寶、微信的支付設(shè)計

二、關(guān)于支付校驗

支付校驗比較麻煩,而且好像大多數(shù)人的項目里也沒有支付校驗,這是為什么?

在支付寶支付中,我們調(diào)用SDK,得到支付寶服務(wù)端返回的支付結(jié)果后,需要和我們自己的服務(wù)端做一步支付校驗的工作:

支付校驗.png

但是這樣做很是麻煩,支付寶官方給文是這么說的:
"由于同步通知和異步通知都可以作為支付完成的憑證,且異步通知支付寶一定會確保發(fā)送給商戶服務(wù)端。為了簡化集成流程,商戶可以將同步結(jié)果僅僅作為一個支付結(jié)束的通知(忽略執(zhí)行校驗),實際支付是否成功,完全依賴服務(wù)端異步通知。"

忽略支付校驗.png

也就是說為了簡化流程,這一步也是可以少滴,但是安全不安全,應(yīng)該沒什么大問題吧。

三、支付流程

1、流程

1、向自己的服務(wù)端發(fā)起支付請求,服務(wù)端將參數(shù)拼裝后返回客戶端;
2、客戶端調(diào)起支付寶支付SDK,SDK連接支付寶服務(wù)端發(fā)起支付;
3、收到SDK的支付回調(diào)后,客戶端開啟輪詢,向自己的服務(wù)端查詢支付結(jié)果。
4、如果自己的服務(wù)端早已收到支付寶服務(wù)端的支付異步通知則直接將結(jié)果返回給客戶端,如果沒收到,服務(wù)端去支付寶服務(wù)端查詢,然后將結(jié)果返回給客戶端。

2、注意

2.1 關(guān)于輪詢查詢支付結(jié)果

流程中的第3步提到“輪詢”查詢支付結(jié)果,為什么要輪詢查詢呢?是為了保證拿到支付結(jié)果,如果收到支付寶的支付回調(diào)后只查詢一次,如果接口失敗了,網(wǎng)絡(luò)不暢通等狀況發(fā)生,那當(dāng)前支付頁面要怎么處理呢,再次發(fā)起支付肯定會出bug。

輪詢查詢支付結(jié)果已經(jīng)是業(yè)界默認(rèn)的一種做法,一般情況支付結(jié)果基本上很快就能出來。

四、最后

支付寶是這樣,微信支付也是大同小異,這一套流程,整體上對于支付寶、微信、銀聯(lián)都是通用的。

如有問題,請指正。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容