支付寶的同步和異步的區別


第一種理解

同步是給客戶看的,異步是服務器處理請求。

同步是客戶充值或者支付成功了,給客戶一個提示,告訴客戶這個操作的結果是成功還是失敗。起到的作用就是提示客戶這個操作的結果是成功還是失敗。

異步是服務器在后端處理支付成功或失敗時的業務邏輯。同步通知:用於用戶在支付寶頁面付款完畢后自動跳轉;

異步通知:其實是處理業務邏輯,比如說修改客戶的支付狀態;

同步得到通知后跳轉到自己的網址,然后根據參數告訴客戶支付結果,然后在更新狀態。

異步其實就是一個雙保險,如果同步沒有跳轉你的網址,可能是關機了,或者網速慢,無法完成數據更新的狀態,這時候異步就發揮作用了,先判斷是否支付,支付了就不必更新了,只返回支付寶 success 就行了,不然會一直異步通知

 

 

第二種理解

當一個支付請求被發送到支付渠道方,支付渠道會很快返回一個結果。但是這個結果,只是告訴你調用成功了,不是扣款成功,這叫同步調用。
很多新手會拿這個結果 當作支付成功了,那就會被坑死,結果就是支付成功率特別高,伴隨着一堆無法解釋的壞賬率,測試人員尤其要注意測試數據的篡改:金額,同步返回結果,訂單號等。

同步請求參數里面會有一個回調地址,這個地址是支付渠道在扣款成功后調用的,這叫異步調用。
一般同步接口僅檢查參數是否正確,簽名是否無誤等。異步接口才告訴你扣款結果。
一般異步接口有5秒以內的延遲。調用不成功會重試。有時候是這邊成功了,但支付渠道側沒收到返回,於是會繼續調。
當天的支付到第二天還在 被異步調用也都是正常的。這也是開發人員需要特別注意的地方,不要當做重復支付。
測試人員也要對重復回調進行測試,應只有一次有效。這還不是最坑的,一般 支付渠道側,只有支付成功了才通知你。
要是支付失敗了,壓根兒都不告訴你。
另一方面,如何老收不到異步結果呢?那就得查查了。同步結果不可靠,異步調用不可靠,那怎么確定支付結果?最終的殺招就是查單了,
反查,一般支付渠道側都 會提供反查接口,定時獲取DB中待支付的訂單調用支付渠道側的反查接口,最終把支付渠道側扣款成功的訂單完成掉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM