支付系統之非同步通知

lvxiangan發表於2018-10-22

在支付閘道器(如支付寶)接入時,我們需要在支付完成呼叫同步通知後,需要再次呼叫非同步通知。很多時候會疑惑:為什麼有了同步通知還需要非同步通知?

其實為了安全保險起見用的,兩者傳送的資料沒有本質的區別;

同步通知有2個作用;
第一是從支付寶的頁面上返回自己的網站繼續後續操作;
第二是攜帶支付狀態的get引數;讓自己的網站用於驗證;

同步通知後;還需要非同步通知主要是為了防止出現意外情況;
因為涉及到金錢,這是一個對安全和穩定要求比較嚴格的場景,如果同步通知的過程中,使用者不小心關閉了瀏覽器,或者瀏覽器卡死了,非同步也能收到通知,記錄支付狀態。

即便是使用者端沒問題;萬一自己的伺服器網路異常了一下呢?如果自己的伺服器沒有正確返回接受到通知的狀態,支付寶的伺服器會在一段時間內持續的往自己的伺服器傳送非同步通知,一直到成功;這個時間是:
25 小時以內完成 8 次通知(通知的間隔頻率一般是:4m, 10m, 10m, 1h,  2h,   6h,  15h)

 

相關文章