最近有一個朋友花了近十萬請了個外包團隊對接了第三方支付,這讓我感到很驚訝,對接第三方支付不是很簡單的么?我們今天就來了解了解,什么是第三方支付。
首先,我們應該了解下什么是第三方支付,如果沒有第三方支付會是什么樣子呢?如果你有一定的網齡了,就一定還記得,我們在網上買東西,需要去銀行打款,或者去匯款,有一些網站還要上傳匯款單,一方面非常的麻煩,買個東西都要專門跑去銀行打款,另一方面,打完錢錢就到商家手里了,萬一商家不給我發貨那怎么辦?這個時候就需要第三方支付了。
一般第三方支付的流程如下:
1.用戶在商城購買商品
2.用戶獲取支付參數后,去第三方支付支付商品的費用
3.第三方支付收到錢后,通知商城用戶已經支付
4.商城像用戶提供服務
5.如果用戶發現有什么異常,可以像第三方機構投訴商家,第三方機構如果沒有收到投訴,過一段時間就會把錢打給商家。
在日常生活中,可能第五步我們用的比較少,因為大部分的商城都會提供退貨退款的功能,但是如果你用過ApplePay,購買的服務不合適的話,可以向蘋果公司投訴,對方核實后就會給你退款。
如果我們是商家,那么我們需要去對應的商家后臺進行注冊,提交一定的營業資料,然后會有對應的用戶名跟密鑰。為什么需要密鑰呢?那是為了防止被別人壞人竄改,再回看一遍上一個圖的流程,從第一步到第二步,如果有人更改了訂單的支付參數,那么用戶支付到的錢就可能到了壞人的賬戶,造成用戶的損失了。現在大部分第三方支付用的都是非對稱加密,文末有對應的鏈接。
那么,用戶支付的流程是什么樣子的呢?
1.用戶先在商城那邊查詢對應訂單,發起支付。
2.商城會按照之前根據第三方支付約定的參數構建支付參數,也可以請求第三方支付系統獲取支付參數,最后用RSA算法簽名把參數返還給用戶。
3.用戶拿到支付參數后,去喚起第三方支付SDK,然后第三方支付SDK會對支付參數進行解析與簽名驗證。
4.用戶支付成功后,第三方支付會根據之前設置的回調地址,通知商城已經支付成功了。這個時候會告訴商城唯一的支付ID,商城必須把這個保存到數據庫,以便后續查詢與退款使用。
5.一般商城都會定期對賬,保證金額的準確性。
那退款流程又是怎么樣子呢?
1.用戶發起退款
2.商城查詢訂單相關數據,并校驗是否可以退款
3.商城向第三方支付系統發起退款請求,為了防止被數據被竄改,這里通常需要使用證書或者退款Ip白名單并且數據需要簽名。
4.第三方支付系統校驗沒問題后,就會發起異步任務進行退款。
5.用戶收到退款的金額。
好了,第三方支付就是這個樣子,對接的話并沒有什么高大上的技術,只要熟悉這個流程,仔細閱讀對接文檔,就能夠對接成功了,是不是很簡單?當然,第三方支付的系統是非常復雜有挑戰性的,后面我們再繼續談談支付寶、微信支付是如何保證支付可用的。