支付系統(tǒng)設(shè)計白皮書:支付系統(tǒng)的概念與架構(gòu)
支付系統(tǒng)伴隨著電子商務的出現(xiàn)而出現(xiàn),為各類電子商務經(jīng)營活動實現(xiàn)在線收付款交易,以及管理交易資金等功能,是具有一定獨立性的內(nèi)部系統(tǒng)模塊。
一、什么是支付系統(tǒng)
自古以來,所有的商業(yè)活動都會產(chǎn)生貨幣的收款與付款行為。在人類漫長的歷史長河中,記錄收付款行為的方式不斷迭代:古代的賬房先生通過手工記賬,工業(yè)社會通過收銀機機械記賬……
今天,進入了互聯(lián)網(wǎng)時代的我們,商業(yè)行為也一同進行了數(shù)字化與信息化的演變,成為今天的「電子商務」。
支付系統(tǒng)伴隨著電子商務的出現(xiàn)而出現(xiàn),為各類電子商務經(jīng)營活動實現(xiàn)在線收付款交易以及管理交易資金等功能,是具有一定獨立性的內(nèi)部系統(tǒng)模塊。
- 平臺:開展電子商務經(jīng)濟活動的主體。
- 業(yè)務系統(tǒng):實現(xiàn)平臺用戶注冊、商品定價、營銷活動等相關(guān)功能。
平臺與業(yè)務系統(tǒng)的關(guān)系:業(yè)務系統(tǒng)將用戶購買行為通過各種交易訂單的形式進行記錄,并交付支付系統(tǒng)進行處理,最終由支付系統(tǒng)完成收款與付款。
根據(jù)央行的現(xiàn)行規(guī)定,人民幣交易處理僅限于銀行及第三方持牌支付機構(gòu),因此支付系統(tǒng)在實現(xiàn)上述功能時,需要通過外部銀行、第三方持牌支付機構(gòu)完成交易資金處理。因此,支付系統(tǒng)需要具備:
- 統(tǒng)一封裝處理的交易接口,以對接外部交易渠道,為業(yè)務系統(tǒng)實現(xiàn)交易訂單處理的功能。
- 根據(jù)業(yè)務系統(tǒng)設(shè)置的資金分配規(guī)則,在一筆交易有多個收款方參與的情況下根據(jù)資金分配規(guī)則完成交易資金的自動化清分與結(jié)算,而后通過已對接的外部交易渠道完成劃付。
- 賬務數(shù)據(jù)記錄功能,上述的交易、清分、結(jié)算形成的資金變動信息,需要支付系統(tǒng)通過賬務數(shù)據(jù)記錄功能加以記錄,對交易資金進行統(tǒng)計并完成交易資金核對等財會工作。
二、支付系統(tǒng)架構(gòu)
支付系統(tǒng)的主要職責是處理業(yè)務系統(tǒng)發(fā)起的所有交易請求,包含收銀臺、交易系統(tǒng)、支付核心等模塊,根據(jù)各模塊不同的功能職責,可以將支付系統(tǒng)分為業(yè)務層和支付層兩部分。
- 業(yè)務層負責為業(yè)務系統(tǒng)提供收付款的操作界面以及處理業(yè)務系統(tǒng)提交的交易請求;
- 支付層負責通過支付渠道實時處理完成資金的收付款、記錄參與交易的賬戶間資金流轉(zhuǎn)情況并按照預定規(guī)則對賬戶所屬資金進行拆分與合并。
1. 業(yè)務層
業(yè)務層包含收銀臺、交易系統(tǒng)以及會員系統(tǒng)三個功能模塊:
(1)收銀臺
收銀臺即用戶日常付款前選擇渠道的頁面,是支付平臺提供的基本功能之一,主要職責是協(xié)助業(yè)務平臺完成支付交易,向用戶提供一致的交易體驗。一般情況下,根據(jù)不同終端類型定制標準化的收銀臺給到外部進行調(diào)用,保證各終端體驗一致且針對各端特定需求、場景來展現(xiàn)不同的支付方式。
①收銀臺的業(yè)務場景(邊界)一般分為付款與充值兩部分:
- 付款即通過各類支付方式針對業(yè)務訂單發(fā)起付款,例如:用戶在天貓店購買一件衣服,確認訂單后自動跳轉(zhuǎn)至支付寶,引導用戶選擇對應的方式(余額、花唄、銀行卡等)進行付款。
- 充值即用戶對賬戶進行余額充值,例如:用戶登錄支付寶、微信或其他商戶自有錢包系統(tǒng)對賬戶余額進行充值。
②支付渠道的服務模型,分為以下幾個要點:
服務模型的概念:從支付公司角度來看,服務模型是決定商戶可以使用的交易形式(擔保收單、即時到賬等)、支付產(chǎn)品(快捷、網(wǎng)銀、代扣、POS 等)、簽約方式、階段周期(T+0、T+1、T+N 等)以及費率等核心問題的綜合體;
從電商平臺角度來看,電商公司內(nèi)部使用的支付系統(tǒng)與支付機構(gòu)相比復雜度較低,可通過參考支付公司服務模型,梳理不同業(yè)務、不同交易類型、不同結(jié)算周期以及不同支付渠道等復雜需求,搭建合理且滿足業(yè)務需求的服務模型,例如充值類交易,具有商城屬性的業(yè)務可配置擔保收單或即時到賬等交易類型。
服務模型的維度:
行業(yè)/服務維度:即從業(yè)務角度出發(fā)對支付產(chǎn)品進行劃分。
例如:螞蟻金融面向行業(yè)輸出交易、結(jié)算、會員、安全等服務,且為不同的服務等級劃定標準,貫穿所有內(nèi)部系統(tǒng);普通非支付公司(以電商為例),提供即時到賬、擔保收單等,基本上能滿足大多數(shù)的業(yè)務場景。
商品維度:針對不同行業(yè)的交易標的,由于交易價格、成本與利潤差異大,因此在業(yè)務層面不同的支付渠道要有不同的可用性標準。
一般情況下,商品本身與市場或行業(yè)掛鉤,例如喜馬拉雅在接入微信/支付寶時,業(yè)務所在行業(yè)為視頻影音屬于虛擬商品,因此接入費率為 1%,結(jié)算周期為 T+7。
由此可得,支付公司針對不同商品本身的特性(例如風險等因素)在費率和結(jié)算周期上會進行一定的控制;同時,針對高風險行業(yè)會在支付方式、渠道層進行限制。
市場維度:此處「市場」指的是指引客戶使用支付產(chǎn)品服務的場所,它可能是支付產(chǎn)品本身,亦可能為相關(guān)公司或平臺的網(wǎng)站。例如某集團子公司、某公司投資的公司以及與該公司無關(guān)的外部公司等等,可分為集團、內(nèi)部以及外部等維度。
客戶維度:此處「客戶」指的是服務的具體使用者??煞譃閭€人客戶及企業(yè)客戶,通過支付系統(tǒng)內(nèi)的會員系統(tǒng)進行區(qū)分。
付款方維度:付款方在整個業(yè)務過程中未核心角色,針對付款方用戶的特征應建立以支付渠道收款方維度的模型,例如付款方的賬戶模型、安裝是否正式、證書等級等要素都決定著付款方的付款流程。
支付渠道維度:在電商平臺,跳轉(zhuǎn)到支付系統(tǒng)是,收銀臺根據(jù)付款方的參數(shù)規(guī)則,進而對該筆支付在收銀臺內(nèi)可使用的支付渠道進行選擇。例如充值賬戶余額不允許使用信用卡時,收銀臺在付款方付款時僅可展現(xiàn)借記卡等支付方式,喜馬拉雅在于支付寶等第三方支付公司交互式,下單接口里一般含有做借貸分離的參數(shù),該參數(shù)起到的作用就是可以指定付款方即用戶不可使用借記卡或信用卡。
業(yè)務渠道維度:業(yè)務端使用的入口,代表著客戶或者業(yè)務方和支付系統(tǒng)的交互方式。例如通過 PC 端跳轉(zhuǎn)到收銀臺、通過 App 跳轉(zhuǎn)到收銀臺以及純接口形式跳轉(zhuǎn)等等。
支付渠道各類配置:
- 渠道配置:抽象收銀臺支付方式大類(第三方、網(wǎng)銀儲蓄卡、網(wǎng)銀信用卡、信用類(花唄、白條)等),對應每個大類下配置對應的落地渠道,再分別對適用場景進行匹配( App、H5、PC 端、公眾號等等),不同的場景下應對應不同的支付方式。
- 渠道參數(shù)配置:在業(yè)務進行中根據(jù)公司的具體情況,部分業(yè)務可能獨立運營,因此在獨立運營過程中財務需要就獨立業(yè)務傳入各支付渠道對應的密鑰及商戶 ID 等關(guān)鍵參數(shù)信息,以滿足業(yè)務方需要支付系統(tǒng)根據(jù)不同商戶信息調(diào)用對應渠道收款主體的需求。
(2)交易系統(tǒng)
交易系統(tǒng)本身是作為支付系統(tǒng)外部處理業(yè)務邏輯的外圍系統(tǒng)。由于支付核心系統(tǒng)本身并非面向業(yè)務端且業(yè)務邏輯的多變性與復雜性,支付系統(tǒng)為了兼顧穩(wěn)定并能夠為業(yè)務端提供靈活支持,因此需要在支付系統(tǒng)外層搭建面向業(yè)務端處理交易邏輯的交易系統(tǒng)。交易系統(tǒng)處理業(yè)務端的各種交易類型后,將業(yè)務信息轉(zhuǎn)化為支付系統(tǒng)可識別的支付訂單并導入。
以擔保交易為例,C 端用戶在天貓購買一件商品,成功支付后商家進行發(fā)貨,用戶確認收貨后平臺將貨款結(jié)算給商家。此處設(shè)計到「擔保交易支付」以及「確認收貨」環(huán)節(jié),與支付系統(tǒng)內(nèi)部的支付與結(jié)算步驟一一對應:
- 用戶付款成功后對應交易的付款成功狀態(tài);
- 用戶確認收貨后對應交易的成功狀態(tài)。
從支付和收貨緩解可以看出,擔保收單交易就是講支付系統(tǒng)的支付基礎(chǔ)能力包裝后對外支持業(yè)務的一款產(chǎn)品。
交易系統(tǒng)的職責:
交易系統(tǒng)作為支付系統(tǒng)的入口:
- 首先需要對接上層業(yè)務系統(tǒng);
- 其次將支付系統(tǒng)的支付能力抽象出來,對外提供各類交易方式,例如下單、支付、修改金額、確認結(jié)算、退款、關(guān)閉交易以及查詢等能力;
- 最后,交易系統(tǒng)需要對各種交易類型進行定義,例如擔保交易、即時到賬、充值、提現(xiàn)等類型。
交易系統(tǒng)的場景(邊界):
- 下單:生成交易訂單,確定交易參與;
- 退款:針對已支付的訂單進行退款,退款金額不得大于實際支付金額,積分的退款退回原積分賬戶,同時針對退款交易類型,會生成交易訂單號,關(guān)聯(lián)入款訂單;
- 修改金額:修改交易金額,對應生成新的支付訂單;
- 查詢:查詢交易結(jié)果、支付結(jié)果;
- 通知:通知上層業(yè)務系統(tǒng)交易狀態(tài);
- 算費:通過算費子系統(tǒng)計算每筆訂單的手續(xù)費。
交易系統(tǒng)的交易類型:
- 即時到賬交易:買家在電商平臺選擇購買商品下單,付款成功后金額直接入賣家支付賬戶或者賣家銀行賬戶;
- 擔保收單交易:買家在電商平臺選擇購買商品下單,有部分金額為擔保金額,買家付款成功后,擔保部分進入平臺方中間擔保賬戶,未擔保金額直接入賣家支付賬戶或者賣家銀行賬戶;
- 收單退款交易:買賣雙方在達成退款協(xié)議后,可針對及時到賬交易,訂金下定等已支付交易由商戶平臺發(fā)起退款請求;
- 普通轉(zhuǎn)賬交易:當平臺方需要對會員進行轉(zhuǎn)賬時,通過此接口實現(xiàn)金額的轉(zhuǎn)移;
- 合并支付交易:多筆交易訂單合并(并筆)付款,適用于購物車針對不同商家生成訂單的場景;
- 下訂交易:賣家和買家達成購買協(xié)議,先行支付部分訂金,該部分訂金在最終付款的時候可以被使用;
- 提現(xiàn):客戶將支付賬戶的余額提到客戶綁定的銀行卡賬戶,基于支付賬戶單筆或者批量付款;
- 凍結(jié)解凍:在交易前通過凍結(jié)能力將用戶的部分資金凍結(jié),保障交易能正常進行,也可以由于某些原因(賬戶被盜、司法案件、反洗錢等),凍結(jié)用戶資金操作,保證用戶的資金安全;
- 充值:基于支付賬戶做余額充值,將用戶的銀行卡賬戶資金充到用戶的支付賬戶余額。
交易系統(tǒng)的交易特性歸類:
①實效性:
- 全額實時到賬:即時到賬類交易,付款后實時到賬;
- 部分確認支付、部分即時到賬:擔保收單類交易,這里分為部分擔保的場景,只有指定金額部分需要確認結(jié)算;
- 全額確認支付:全額擔保交易,電商交易場景下需用戶確認收貨后才會將全部貨款結(jié)算給賣家。
②交易系統(tǒng)的支付形式:
- 單筆支付交易:單筆支付行為,用戶基于一筆訂單發(fā)起付款;
- 合并支付交易:多筆合并支付行為,用戶基于多筆訂單發(fā)起合并付款;
③業(yè)務類型:
- 收單交易:支付入款類型交易,付款人收款人分別是兩個角色;
- 充值交易:賬戶充值類交易,付款人和收款人都是同一個人,由外部賬戶到內(nèi)部賬戶;
- 出款交易:基于賬戶做提現(xiàn),付款人和收款人都是同一個人,由內(nèi)部賬戶到外部賬戶;
- 退款交易:收單入款交易的反向流程。
(3)會員系統(tǒng)
會員系統(tǒng)是完整的支付平臺內(nèi)極其重要的基礎(chǔ)模塊之一,負責管理支付系統(tǒng)內(nèi)部的交易主體。會員系統(tǒng)保存了客戶在支付系統(tǒng)內(nèi)部賬號的實體信息,為客戶建立了統(tǒng)一的、以會員 ID 為標識的會員基本信息、關(guān)系信息(會員和賬戶、會員和操作人、會員與銀行卡)視圖。
一般情況,會員在支付系統(tǒng)內(nèi)部分為個人會員和企業(yè)會員(默認企業(yè)會員有商戶權(quán)限),以電商平臺為例,C 端用戶為個人會員,B 端商戶為企業(yè)會員:
- 通常,企業(yè)會員會配置一定的業(yè)務參數(shù),比如結(jié)算周期、接口權(quán)限、支付方式配置等(開通商戶權(quán)限的情況下);
- 在大多數(shù)互聯(lián)網(wǎng)公司,支付系統(tǒng)僅需要對接支付渠道的模塊,在沒有獨立平臺化的情況下,不太會出現(xiàn)需要獨立的賬戶體系。
2. 支付層
支付層包含支付核心、賬務核心以及清算核心三個部分。
(1)支付核心
下方的內(nèi)容介紹了支付核心的職責、邊界以及系統(tǒng)架構(gòu)三個部分。
支付核心的職責:
支付系統(tǒng)的職責為通過支付核心與后端清結(jié)算、會計、賬務等系統(tǒng)的統(tǒng)一協(xié)作,讓前端支付產(chǎn)品可以更關(guān)注產(chǎn)品本身的邏輯,而減少對清分、對賬、儲值等后端服務的考量及動作;同時通過標準化的支付指令定義,統(tǒng)一前端支付產(chǎn)品的支付請求接口,提供適應各類產(chǎn)品使用的基礎(chǔ)支付服務。
支付核心的邊界:
- 支付服務:負責對后端支付系統(tǒng)的接口進行業(yè)務包裝,同時實現(xiàn)使用多個支付方式進行組合支付的功能;
- 支付服務流程:對各支付類型的支付服務流程進行定義,具體定義為充值、提現(xiàn)、內(nèi)轉(zhuǎn)支付(轉(zhuǎn)賬)、退款等原子類型,并實現(xiàn)對基礎(chǔ)服務的流程編排;
- 支付指令:發(fā)起訂單后,通過協(xié)議和協(xié)議明細項加工得出支付指令,需具備進行后續(xù)操作處理的全部要素信息;
- 支付協(xié)議:根據(jù)產(chǎn)品設(shè)立支付協(xié)議,因此支付協(xié)議的關(guān)鍵要素包含產(chǎn)品碼及支付編碼,定義著產(chǎn)品的處理流程、收付款信息、對應的支付渠道信息。
支付核心的系統(tǒng)架構(gòu):
如圖,將交易和支付分開,主要是為了體現(xiàn)出支付系統(tǒng)的核心支付功能,能夠為會員提供豐富的支付服務:支付核心定義原子支付類型;服務層提供支付業(yè)務能力,例如出款、轉(zhuǎn)賬、紅包、代金券、余額、現(xiàn)金等;產(chǎn)品層能夠更加關(guān)注產(chǎn)品本身的邏輯,將后端標準化的邏輯交由支付層和清算層來處理,這樣就能做到靈活和標準兼顧。
(2)賬務核心
賬務核心的功能為,根據(jù)前端業(yè)務系統(tǒng)的要求設(shè)計相匹配的賬戶類型、管理各類賬戶、記錄賬戶資金變動等,同時,按照公司內(nèi)部的財會規(guī)范提供反映各賬戶間交易資金變化情況的會計數(shù)據(jù);并且負責將自身記錄賬務流水與支付渠道結(jié)算資金和結(jié)算流水進行核對,對對賬結(jié)果中出現(xiàn)的差錯交易進行差錯處理。
(3)清算核心
清算核心負責維護客戶參與交易時的清分、結(jié)算規(guī)則,并按照已配置的規(guī)則完成交易資金的清分與結(jié)算操作。
《支付系統(tǒng)設(shè)計白皮書》由 PingPlusPlus支付學院(ID:pingxxpi)出品。
本文由 @支付學院 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)允許,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議。
感謝分享,錯別字有點多,至少有10處了,希望能夠精修一下,會是一篇質(zhì)量更高的文章,謝謝。
看了很多“支付學院”寫的東西,心得如下:
1、寫的內(nèi)容非常多,不過不精,很多地方不易理解,比如本文交易模塊與支付模塊為什么分開,我個人認為并沒有說明白;
2、針對讀者所提問題基本上不會互動,從這也可以看出可能寫文章只是為了完成某項任務或者為支付學院打廣告而已,并沒有認真對待自己所發(fā)表的文章;
請問支付系統(tǒng)的前臺/中臺/后臺分別包含哪些模塊?有點混亂…
正好對我有用 謝謝作者 希望繼續(xù)出新的文章供大家學習參考。
有一個問題,希望能得到解答:
支付系統(tǒng)作為業(yè)務系統(tǒng)和第三方渠道的中間系統(tǒng),如果第三方系統(tǒng)一直沒有將異步通知到支付系統(tǒng),此時業(yè)務系統(tǒng)遲遲沒有得到交易成功與否的通知。
這種情況是應該支付系統(tǒng)固定時間輪循獲取第三方交易結(jié)果,還是怎么處理?這塊有點不太明白。
異步通知 + 定時主動輪詢
好的 謝謝
寫得太好了
真得嗎?