支付同步和非同步介面,你還有疑惑麼?

2022-07-07 01:24:10 字數 650 閱讀 2507

原文如下: 

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

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

同步介面和非同步介面

1 定義 2 支付非同步介面3 理解 4 python 模擬測試非同步介面 order 下單介面 url localhost 1234 order create method post body response getorder 查詢訂單介面 url localhost 1234 order ge...

支付場景下非同步通知和同步返回

一 非同步通知的概念 1.1非同步通知 指發出乙個請求後,不需要等待返回,隨時可以觸發下乙個請求,不需要等待。1.2同步返回 指發出乙個請求後,需要等待返回結果,才可以觸發下乙個請求。二 什麼場景下會用到非同步通知 一些對安全和穩定性要求比較高的場景會用到非同步通知,例如支付場景。防止同步通知的時候...

支付寶介面呼叫之同步通知與非同步通知

同步通知與非同步通知 同步通知返回的是使用者系統的通知頁面 非同步通知用來修改資料庫訂單狀態,成功必須返回 success 否則支付寶伺服器會不斷重發通知,直到超過24小時22分鐘。一般情況下,25小時以內完成8次通知 通知的間隔頻率一般是 4m,10m,10m,1h,2h,6h,15h 為什麼使用...