淺析支付系統(tǒng)的整體架構(gòu)
本文主要是簡單地描述支付系統(tǒng)的整體架構(gòu)。
支付的典型架構(gòu)
每個公司根據(jù)其業(yè)務和公司發(fā)展的不同階段,所設計的支付系統(tǒng)也會有所不同。我們先看看互聯(lián)網(wǎng)公司的一些典型的支付系統(tǒng)架構(gòu)。
支付寶
先看看業(yè)內(nèi)最強的支付寶系統(tǒng),支付寶的支付系統(tǒng)整體架構(gòu)設計
這個整體架構(gòu)上并沒有與眾不同之處。在模塊劃分上,這個圖顯示的是最頂層的劃分,也無法告知更多細節(jié)。 但支付寶架構(gòu)強點在兩個方面,一個是賬務處理,分為內(nèi)外兩個子系統(tǒng),外部子系統(tǒng)是單邊賬,內(nèi)部子系統(tǒng)走復式記賬。 不少支付平臺是從這里得到啟發(fā)來搞定的對賬系統(tǒng)。
另一個亮點是柔性事務處理,利用消息機制來實現(xiàn)跨系統(tǒng)的事務處理,避免數(shù)據(jù)庫鎖導致的性能問題。
京東金融
京東金融是在網(wǎng)銀在線的基礎上發(fā)展起來的。 網(wǎng)銀在線的原班技術(shù)人員有不少來自易寶公司,在京東收購之后,又引入了支付寶的人才。因而從架構(gòu)上受這兩個公司的影響很大。
去哪兒
美團
來自美團的支付平臺規(guī)劃架構(gòu) 。這是2015年的文檔。 2016年美團才拿到支付牌照。 從這個架構(gòu),大家也能知道為什么美團必須拿到支付牌照。
這些架構(gòu)文檔全部來自互聯(lián)網(wǎng)公開資料。 對于架構(gòu)是否真實反映實際系統(tǒng)情況,需要大家自行判斷。 我們以這些文檔為基礎,分析支付系統(tǒng)的應有的軟件架構(gòu)。
參考架構(gòu)
一般來說,支付系統(tǒng)典型架構(gòu)會包含如下模塊:
支付系統(tǒng)從架構(gòu)上來說,分為三層:
- 支撐層: 用來支持核心系統(tǒng)的基礎軟件包和基礎設施, 包括運維監(jiān)控系統(tǒng)、日志分析系統(tǒng)等。
- 核心層: 支付系統(tǒng)的核心模塊,內(nèi)部又分為兩個部分: 支付核心模塊以及支付服務模塊。
- 產(chǎn)品層: 通過核心層提供的服務組合起來,對最終用戶、商戶、運營管理人員提供的系統(tǒng)。
支撐系統(tǒng)
支撐系統(tǒng)是一個公司提供給支付系統(tǒng)運行的基礎設施。 主要包括如下子系統(tǒng):
- 運維監(jiān)控: 支付系統(tǒng)在下運行過程中不可避免的會受到各種內(nèi)部和外部的干擾,光纖被挖斷、黑客攻擊、數(shù)據(jù)庫被誤刪、上線系統(tǒng)中有bug等等,運維人員必須在第一時間內(nèi)對這些意外事件作出響應,又不能夠一天24小時盯著。這就需要一個運維監(jiān)控系統(tǒng)來協(xié)助完成。
- 日志分析: 日志是支付系統(tǒng)統(tǒng)計分析、運維監(jiān)控的重要依據(jù)。公司需要提供基礎設施來支持日志統(tǒng)一收集和分析。
- 短信平臺: 短信在支付系統(tǒng)中有重要作用: 身份驗證、安全登錄、找回密碼、以及報警監(jiān)控,都需要短信的支持。
- 安全機制: 安全是支付的生命線。 SSL、證書系統(tǒng)、防刷接口等,都是支付的必要設施。
- 統(tǒng)計報表: 支付數(shù)據(jù)的可視化展示,是公司進行決策的基礎。
遠程連接管理、分布式計算、消息機制、全文檢索、文件傳輸、數(shù)據(jù)存儲、機器學習等,都是構(gòu)建大型系統(tǒng)所必須的基礎軟件,這里不再一一詳細介紹。
支付核心系統(tǒng)
支付核心系統(tǒng)指用戶執(zhí)行支付的核心流程,包括:
- 用戶從支付應用啟動支付流程。
- 支付應用根據(jù)應用和用戶選擇的支付工具來調(diào)用對應的支付產(chǎn)品來執(zhí)行支付。
- 支付路由根據(jù)支付工具、渠道費率、接口穩(wěn)定性等因素選擇合適的支付渠道來落地支付。
- 支付渠道調(diào)用銀行、第三方支付等渠道提供的接口來執(zhí)行支付操作,最終落地資金轉(zhuǎn)移。
支付服務系統(tǒng)
支持支付核心系統(tǒng)所提供的功能。服務系統(tǒng)又分為基礎服務系統(tǒng)、資金系統(tǒng)、風控和信用系統(tǒng)。
基礎服務系統(tǒng)提供支撐線上支付系統(tǒng)運行的基礎業(yè)務功能:
- 客戶信息管理:包括對用戶、商戶的實名身份、基本信息、協(xié)議的管理;
- 卡券管理: 對優(yōu)惠券、代金券、折扣券的制作、發(fā)放、使用流程的管理;
- 支付通道管理: 通道接口、配置參數(shù)、費用、限額以及QOS的管理;
- 賬戶和賬務系統(tǒng): 管理賬戶信息以及交易流水、記賬憑證等。這里的賬務一般指對接線上系統(tǒng)的賬務,采用單邊賬的記賬方式。 內(nèi)部賬記錄在會計核算系統(tǒng)中。
- 訂單系統(tǒng): 一般訂單系統(tǒng)可以獨立于業(yè)務系統(tǒng)來實現(xiàn)的。這里的訂單,主要指支付訂單。
資金系統(tǒng)指圍繞財務會計而產(chǎn)生的后臺資金核實、調(diào)度和管理的系統(tǒng),包括:
- 會計核算: 提供會計科目、內(nèi)部賬務、試算平衡、日切、流水登記、核算和歸檔的功能。
- 資金管理: 管理公司在各個支付渠道的頭寸,在余額不足時進行打款。 對第三方支付公司,還需要對備付金進行管理。
- 清算分潤: 對于有分潤需求的業(yè)務,還需要提供清分清算、對賬處理和計費分潤功能。
風控系統(tǒng)是支付系統(tǒng)必備的基礎功能,所有的支付行為必須做風險評估并采取對應的措施;信用系統(tǒng)是在風控基礎上發(fā)展的高級功能,京東的白條,螞蟻花唄等,都是成功的案例。
支付應用
支撐系統(tǒng)、核心系統(tǒng)和服務系統(tǒng),在每個公司的架構(gòu)上應該是大同小異的,都是必不可少的模塊。而支付應用是每個公司根據(jù)自己的業(yè)務來構(gòu)建的,各不相同。 總的來說,可以按照使用對象分為針對最終用戶的應用、針對商戶的應用、針對運營人員的運營管理、BI和風控后臺。
總結(jié)
這一章節(jié)簡單描述支付系統(tǒng)的整體架構(gòu)。后續(xù)我們將以此為基礎,分別介紹各個模塊的設計。
#專欄作家#
鳳凰牌老熊,微信公眾號:鳳凰牌老熊,人人都是產(chǎn)品經(jīng)理專欄作家,10多年企業(yè)應用和互聯(lián)網(wǎng)軟件架構(gòu)設計經(jīng)驗,關(guān)注互聯(lián)網(wǎng)金融和大數(shù)據(jù)領(lǐng)域。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
受益匪淺,感謝
感謝大神
希望作者能出一本支付產(chǎn)品設計的專著啊
有沒有支付路由設計的干貨貼?
感謝
文章很有參考價值,跟著看了系列文章了,之前先看了清結(jié)算的文章不是很明白,看完這邊文章再回頭看清結(jié)算系統(tǒng)的文章另有收獲!感謝大神分享!
穩(wěn)!
好深奧
膜拜,受教了
老哥穩(wěn)~
學到了
好有道理啊