應用商店支付流程:
整體流程:
從入口開始的流程跳轉
應用商店接口:
分層結構圖:
實現難點:
(1)支付回調
跳轉到第三方支付的時候,會向第三方支付平臺提供一個回調鏈接.
支付完成之後,第三方支付平臺會自動調用這個回調鏈接.
並且會向這個回調鏈接提供如下參數:
(1)驗籤信息
(2)支付結果
(3)訂單號
問題:爲什麼要驗籤信息?
如果沒有驗籤信息,那任何人都可以回調來確認訂單了.
(2)支持多種支付方式
比如支付寶,暢捷支付,財付通,百度錢包等
需要支持可擴展,下次再增加一種支付通道時,改動最小.
注意:回調時不能對登錄信息有強制要求.
爲什麼呢?
按照常規思維,我們會想:如果不要求登錄信息,那麼任何人都可以確認訂單(把訂單的狀態修改爲已支付)了.
這是非常不安全的.
但是,這個接口是第三方異步調用的,無法獲取登錄信息.
就算你把登錄信息存在某個地方(緩存數據庫,比如redis),也可能過期.
不安全嗎?
安全,因爲有驗籤
下面是一個典型的驗籤流程:
應用商店支付回調的驗籤流程如下:
3次握手:
參考:
應用商店流程:
http://hw1287789687.iteye.com/blog/2268658
http://blog.csdn.net/hw1287789687/article/details/17767201
應用商店流程2:http://hw1287789687.iteye.com/blog/2270395
驗籤:http://blog.csdn.net/hw1287789687/article/details/45642041