1 背景
因為要準備支付相關的產品經理的面試,遂在周末找了些資料,學習了一下。然后深刻感受到支付的基礎框架是多么的復雜,目前只了解了表層,其各系統之間的聯系以及實現的技術還有待之后更進一步去了解。
學習的資料來源:
一份不知道從哪里流出的PPT《與阿里金融交流——支付寶架構與技術》,署名是支付寶(中國)網絡技術有限公司,時間是2010年3月3日。
地址:http://wenku.baidu.com/view/c141e65465ce05087732131e
還有來自知乎的一些解答,推薦知乎上一位大牛“梁川”,描述是一位互聯網金融從業者。
地址:https://www.zhihu.com/people/chuanliang
所以由于資料年限的限制以及資料來源的分散性,只能作為大致的參考。但也相信,一些基本架構還是變化不大的。
先從整體上講講我的理解(學習ppt之后):支付是怎樣一個流程。
互聯網商戶通過API平臺訪問到支付平臺。
連接成功后,將訂單信息傳給支付平臺,進行訂單處理。
訂單在收銀臺進行支付方式的選擇,或者直接進入支付環節。
進入支付環節就主要是后端的工作,進行支付處理。
支付處理后,要分別進行清算處理和財務會計。
清算處理會通過通信前置連接到銀行的支付清算網絡。同時,清算處理和財務會計處理之后會進入到核算處理。
簡單來說,支付流程的關鍵環節就是以上幾步。如下圖:
來自PPT
在支付架構里最為關鍵系統是公共服務中的交易系統和基礎業務當中的資金處理平臺。其中交易系統對不同屬性的訂單進行處理,并且對接到不同的后續系統(如支付、紅包、產品賬、收費等);而資金處理平臺,我的理解是對產品內外的資金流通進行處理的一個平臺。
3.1 交易系統
交易系統也是一個復雜的系統。這塊對于我(技術小白)來說理解上有些復雜。其能力是規定了交易的流程以及規則,從而對交易的情況進行處理,并能將交易的結果反饋到其他地方。其中重要的就是資金的處理。如下圖:
交易系統(對著ppt重畫版)
概念解釋:
1. 流程引擎
流程引擎是工作流引擎的核心,是關系到流程如何正常運轉的核心組件,一個流程運行的效率、功能以及正確性均由工作流引擎實現。
2. 規則引擎
規則引擎是網關節點的規則實現與人工節點的任務分配規則的實現。
3.2 支付清算
在交易系統中進行處理之后,產生支付請求就進入到支付系統。支付系統內有各種支付場景的協議,對應協議發出支付指令就進入到財務系統和清算系統。支付指令進入到清算系統就產生清算指令,進行兩種方式的處理:文件處理和實時處理。實時處理就對應著各種與銀行接入方式,常見的有網銀接入、卡通接入以及銀企直連。如下圖:
支付清算系統(對著ppt重畫版)
一個疑問
1. 為什么從支付指令到清算指令之間同時存在著同步清算處理和異步清算處理?
期待大牛來答答疑。
3.3 財務會計系統
財務系統主要是一個記賬子系統,實時記錄每一條財務交易流水信息。而且這里所使用的賬戶是分戶賬戶(外),方便用戶的財務實時查詢,有完整的信息。而會計系統則分為分錄子系統和日終子系統。分戶賬戶(外)的流水信息通過消息系統異步準實時登記到分錄子系統中的會計分錄流水信息。然后同步到分戶賬戶(內)中。日終子系統就根據分戶日余額,在日切時間進行日結,對所有進行科目匯總。
財務會計系統(對著ppt重畫版)
一些疑問和概念:
1. 為什么要設置分戶賬戶(內)與分戶賬戶(外)?
在知乎上查了相關資料,知乎大牛梁川如是說:
分戶賬戶(外)是外圍業務系統的賬戶系統,采用單式記賬法。
分戶賬戶(內)是最核心的賬戶系統,采用復式記賬法。
這樣做的優勢:
1)業務需要,可以保證用戶實時查賬,也能保證對創新業務進行定制。
2)系統性能及擴展性需要,分戶賬戶(內)由于涉及會計分錄等過程,在并發量大的情況下,采用實時記賬會造成數據庫資源的鎖等待、熱點賬戶等問題。
3)財務平衡檢查需要。
也有比較簡單的解釋:
分戶賬戶(外)是信息流同步;分戶賬戶(內)是資金流同步。
分戶賬戶(外)是權責發生制;分戶賬戶(內)是收付實現制。
知乎原題目和回答鏈接:https://www.zhihu.com/question/34246970
2. 會計分錄
會計分錄指根據經濟業務的內容指明應借、應貸賬戶的方向、賬戶名稱及其金額的一種會計分錄。
3. 鎖等待
指的是程序在執行的過程中,點擊確定或保存按鈕,程序沒有響應,也沒有出現報錯的現象。
4. 熱點賬戶
熱點賬戶即系統中,被高頻繁地進行資金的進出操作,頻繁出現加鎖解鎖操作的賬戶。
3.4 核算系統
經過會計系統的分錄以及匯總等操作之后,將這些數據通過消息系統異步準實時登記到流水登記子系統中的入賬流水登記表里。此外,銀行流水登記系統內有關銀行流水的數據也登記到流水登記子系統內銀行流水登記表里。兩者一起進入到核算處理子系統內,進行流水核算處理,然后進行歸檔,最后進行銀存待結轉統計。
核算系統(對著ppt重畫版)
一些問題和概念:
1. 會計系統里哪一部分的信息與流水登記子系統里的入賬流水登記相對應?
詳細說明下問題,會計系統中存在會計分錄流水,是這部分信息直接異步準實時登記到入賬流水嗎?還是說在日終子系統中科目匯總后所形成的報表內容異步準實時登記到入賬流水?如果是后者,那是否說明核算中心是以日為單位進行得?
也期待某大牛能夠答答疑。
2. 結轉
或稱為期末結轉,指期末結賬時將某一賬戶的余額或差額轉入另一賬戶。
3.5 關鍵業務系統大圖
將上述4個關鍵業務結構進行了整合,但里面的銀行和消息系統仍然各自分離在外。還有待進一步探究其結構。圖如下:
關鍵業務系統大圖