支付寶快捷支付模型


其實題目有點大,主要討論的是手機客戶端怎么接入支付寶的快捷支付呢。

支付寶的快捷支付的相關文檔可以看這個帖子:支付寶接口資料下載(2012.11.23更新)

三方主要是客戶端,業務服務端,支付寶服務端的交互。

1 客戶端向業務服務端提交訂單,業務服務方生成一個訂單號

2 客戶端根據訂單號生成支付寶所需要的參數,向支付寶的支付接口提交

3 支付寶的支付接口返回同步數據。

4 支付寶服務端請求回調函數,這個回調函數是在業務服務方的,這個請求是異步的。

5 客戶端根據用戶訂單號來去業務服務方確認是否已經支付成功。

 

這里有幾個問題:

1 簽名安全性

第二步,客戶端根據訂單號生成支付寶所需要的參數,這里的參數少不了簽名,而支付寶的簽名是使用rsa的,那么密鑰就必須要放在客戶端了。這個是有可能導致不安全的因素的。

所以這個簽名過程最好是放在服務端。

即在第一步中不僅僅生成訂單號,而且還生成其他各個參數,包括回調地址,簽名等,這樣做的好處是服務端統管參數了,以后回調地址一旦有變化,就可以在服務端做修改就好。

2 同步返回和異步返回看哪個

這個是最糾結的問題,但是總之,應該是看異步返回的,原因也是異步返回是服務端和服務端的交互,比客戶端交互安全多了。

但是異步返回是可能會有問題風險的。因為異步,可能造成時間的延遲,就是說用戶明明已經支付了,但是異步請求還沒請求到。

這個情況在理論上是會存在的,但是實際上,我問過幾個使用過支付寶開發的同事,這個情況很少,即使有這種情況,也只有記錄下回調數據,然后給用戶反饋,告知他的訂單號,讓他拿這個訂單號再做查詢。然后再做對賬等操作了。


免責聲明!

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



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