支付設計白皮書:支付系統的總架構
前言
種一棵樹最好的時間是十年前,其次是現在
中國互聯網支付總架構
今天這篇文章就是想帶大家來了解下一個從點到點,從端到端,從始到終的支付鏈路,最近三隻松鼠的堅果不是挺火的嘛,那六六就以從京東買三隻松鼠爲例,帶大家從整個宏觀的角度來看看中國的互聯網支付!
-
小六六要買三隻松鼠,那麼首先我得找一個電商平臺,這邊用的是京東,所以最開始的話我們接觸的可能是一個電商平臺
-
選好東西之後,六六這邊就要去下單,下單完成之後,進入到了京東的收銀臺了,京東的收銀臺,包含了京東支付,微信支付,雲閃付等等,支付寶目前還沒看到,這些屬於第三方支付,這些支付方式在中國都是需要支付牌照的。
-
那麼這些支付方式其實接的是我們商業銀行的支付通道,然後通過支付通道到了我們的銀聯和網聯
-
最後到達我們的中國人民銀行,也就是我們常說的央媽!絕對的食物鏈的頂端,所以一筆小小的支付都是經過這麼多的參與方的
來看看京東支付的架構
其實這幾秒鐘整個支付的鏈條跋山涉水,翻山越嶺經歷千險,
支付架構解析
我們看上面的架構圖,對於一個服務平臺的支付架構,一般有圖中的相關係統組成:直面用戶的收銀臺,記錄業務的訂單系統,推動交易的交易系統,對支付指令進行處理的支付系統,支付指令傳送通道的支付通道子系統。
另外支付成功後還有一條線清結算線:支付成功以後交易將數據提交清算中心完成數據的清分計算,然後提交賬務系統完成記賬;再通知會計核心完成內部賬的記錄;最後通知資金平臺對交易向商家進行貨款的結算……
這樣對於一個服務平臺來說,一個支付的骨架就出來了!
其實很多第三方支付公司都是這麼玩的 你比如說國內的京東支付,微信支付,海外的 Paypal,Strip checkout 等等
支付系統架構
支付系統的主要職責是處理業務系統發起的所有交易請求,包含收銀臺、交易系統、支付核心等模塊,根據各模塊不同的功能職責,可以將支付系統分爲業務層和支付層兩部分。
-
業務層負責爲業務系統提供收付款的操作界面以及處理業務系統提交的交易請求;
-
支付層負責通過支付渠道實時處理完成資金的收付款、記錄參與交易的賬戶間資金流轉情況並按照預定規則對賬戶所屬資金進行拆分與合併。
收銀臺
收銀臺即用戶日常付款前選擇渠道的頁面,是支付平臺提供的基本功能之一, 主要職責是協助業務平臺完成支付交易,向用戶提供一致的交易體驗。一般情況下,根據不同終端類型定製標準化的收銀臺給到外部進行調用,保證各終端體驗一致且針對各端特定需求、場景來展現不同的支付方式。
收銀臺的業務場景(邊界) 一般分爲付款與充值兩部分:
-
付款即通過各類支付方式針對業務訂單發起付款,例如:用戶在天貓店購買一件衣服,確認訂單後自動跳轉至支付寶,引導用戶選擇對應的方式(餘額、花唄、銀行卡等)進行付款。
-
充值即用戶對賬戶進行餘額充值,例如:用戶登錄支付寶、微信或其他商戶自有錢包系統對賬戶餘額進行充值。
交易核心
交易系統本身是作爲支付系統外部處理業務邏輯的外圍系統。由於支付核心系統本身並非面向業務端且業務邏輯的多變性與複雜性,支付系統爲了兼顧穩定並能夠爲業務端提供靈活支持,因此需要在支付系統外層搭建面向業務端處理交易邏輯的交易系統。交易系統處理業務端的各種交易類型後,將業務信息轉化爲支付系統可識別的支付訂單並導入。
以擔保交易爲例,C 端用戶在天貓購買一件商品,成功支付後商家進行發貨,用戶確認收貨後平臺將貨款結算給商家。此處設計到「擔保交易支付」以及「確認收貨」環節,與支付系統內部的支付與結算步驟一一對應:
-
用戶付款成功後對應交易的付款成功狀態;
-
用戶確認收貨後對應交易的成功狀態。
從支付和收貨緩解可以看出,擔保收單交易就是講支付系統的支付基礎能力包裝後對外支持業務的一款產品。
會員系統
會員系統是完整的支付平臺內極其重要的基礎模塊之一,負責管理支付系統內部的交易主體。會員系統保存了客戶在支付系統內部賬號的實體信息,爲客戶建立了統一的、以會員 ID 爲標識的會員基本信息、關係信息(會員和賬戶、會員和操作人、會員與銀行卡)視圖。
一般情況,會員在支付系統內部分爲個人會員和企業會員(默認企業會員有商戶權限),以電商平臺爲例,C 端用戶爲個人會員,B 端商戶爲企業會員:
-
通常,企業會員會配置一定的業務參數,比如結算週期、接口權限、支付方式配置等(開通商戶權限的情況下);
-
在大多數互聯網公司,支付系統僅需要對接支付渠道的模塊,在沒有獨立平臺化的情況下,不太會出現需要獨立的賬戶體系。
支付核心
支付系統的職責爲通過支付核心與後端清結算、會計、賬務等系統的統一協作,讓前端支付產品可以更關注產品本身的邏輯,而減少對清分、對賬、儲值等後端服務的考量及動作;同時通過標準化的支付指令定義,統一前端支付產品的支付請求接口,提供適應各類產品使用的基礎支付服務。
支付核心的邊界:
-
支付服務:負責對後端支付系統的接口進行業務包裝,同時實現使用多個支付方式進行組合支付的功能;
-
支付服務流程:對各支付類型的支付服務流程進行定義,具體定義爲充值、提現、內轉支付(轉賬)、退款等原子類型,並實現對基礎服務的流程編排;
-
支付指令:發起訂單後,通過協議和協議明細項加工得出支付指令,需具備進行後續操作處理的全部要素信息;
-
支付協議:根據產品設立支付協議,因此支付協議的關鍵要素包含產品碼及支付編碼,定義着產品的處理流程、收付款信息、對應的支付渠道信息。
賬務核心
賬務核心的功能爲,根據前端業務系統的要求設計相匹配的賬戶類型、管理各類賬戶、記錄賬戶資金變動等,同時,按照公司內部的財會規範提供反映各賬戶間交易資金變化情況的會計數據;並且負責將自身記錄賬務流水與支付渠道結算資金和結算流水進行覈對,對對賬結果中出現的差錯交易進行差錯處理。
清算核心
清算核心負責維護客戶參與交易時的清分、結算規則,並按照已配置的規則完成交易資金的清分與結算操作。
結束
由此可見如果你要做一個第三方支付公司的,大大小小估計得建設幾十個系統呢?所以來說,支付並不簡單!
作者:六脈神劍
來源:juejin.cn/post/7101522332883091463
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/LyAnfi2DML9nUBhzu9jHBw