如何搭建支付中臺(tái)系統(tǒng)?
中臺(tái)的概念在2018年下半年到2019年突然一下子在互聯(lián)網(wǎng)圈火起來(lái)了,在招聘網(wǎng)站上隨便一搜都是中臺(tái)產(chǎn)品經(jīng)理,那么什么是中臺(tái)呢?中臺(tái)能解決什么問(wèn)題,如何去搭建適合公司的中臺(tái)系統(tǒng)?支付中臺(tái)如何落地?
什么是中臺(tái)
中臺(tái)其實(shí)最早是起源于軍事領(lǐng)域,在二戰(zhàn)時(shí)期的美軍在各個(gè)戰(zhàn)場(chǎng)上,看起來(lái)有打不完的彈藥、耗不完的燃料、充足的食品補(bǔ)給、及時(shí)準(zhǔn)確的情報(bào)……但其資源卻在萬(wàn)里之遙的美國(guó)本土,這一切是如何做到的呢?
就是依靠龐大的中臺(tái)體系,支持到世界各戰(zhàn)場(chǎng)。前方戰(zhàn)場(chǎng)上的一名士兵,平均就有12名人員支持,在戰(zhàn)場(chǎng)-基地-本土形成前、中、后臺(tái)的效率系統(tǒng)。
國(guó)內(nèi)互聯(lián)網(wǎng)最早實(shí)行中臺(tái)戰(zhàn)略的就是阿里。
由于阿里涉及的業(yè)務(wù)線非常多,在沒(méi)有中臺(tái)之前都是每個(gè)業(yè)務(wù)自己去做一套系統(tǒng),但是每個(gè)業(yè)務(wù)系統(tǒng)都有相同的模塊,例如訂單系統(tǒng)、支付系統(tǒng)、商戶系統(tǒng)、短信系統(tǒng)等。因此就導(dǎo)致各個(gè)業(yè)務(wù)線重復(fù)造輪子的現(xiàn)象,業(yè)務(wù)端不僅需要對(duì)業(yè)務(wù)模塊進(jìn)行優(yōu)化和升級(jí),同時(shí)也需要維護(hù)這些基礎(chǔ)支撐服務(wù)。
用一句話概括:中臺(tái)就是將所有業(yè)務(wù)的公共模塊抽象出來(lái),單獨(dú)創(chuàng)建一個(gè)中臺(tái)系統(tǒng)統(tǒng)一對(duì)這些公共模塊進(jìn)行維護(hù),統(tǒng)一輸出服務(wù)提供業(yè)務(wù)方使用,讓業(yè)務(wù)方能夠集中全力發(fā)展業(yè)務(wù)。
中臺(tái)解決什么問(wèn)題
理解了中臺(tái)的概念,那么就需要思考對(duì)于互聯(lián)網(wǎng)公司,中臺(tái)系統(tǒng)的搭建能夠解決什么問(wèn)題呢?
可以解決你的996問(wèn)題
中臺(tái)是獨(dú)立于業(yè)務(wù)系統(tǒng)而又服務(wù)于業(yè)務(wù)系統(tǒng)的存在,業(yè)務(wù)系統(tǒng)的前臺(tái)和后臺(tái)是關(guān)聯(lián)存在的,但是中臺(tái)的定位就是出于整個(gè)公司層面,要服務(wù)于多條業(yè)務(wù)線。
因此通過(guò)建設(shè)中臺(tái)系統(tǒng),能夠極大減少業(yè)務(wù)系統(tǒng)的工作量,提高業(yè)務(wù)端的工作效率,業(yè)務(wù)系統(tǒng)部門就不需要再為了這些基礎(chǔ)服務(wù)而進(jìn)行996了。
提高公司產(chǎn)品靈活性和市場(chǎng)競(jìng)爭(zhēng)力
通過(guò)中臺(tái)系統(tǒng),業(yè)務(wù)只需要關(guān)系業(yè)務(wù)流程即可,輕裝上陣,將重心配合市場(chǎng)方向去優(yōu)化業(yè)務(wù)系統(tǒng),對(duì)于市場(chǎng)上出現(xiàn)的新的業(yè)務(wù)模式和特殊需求能夠更快的響應(yīng),幫助公司快速占領(lǐng)市場(chǎng)。
節(jié)約成本,結(jié)構(gòu)清晰
對(duì)于中臺(tái)最直觀的感受就是提高工作效率和減少人力成本,不僅僅減少業(yè)務(wù)開(kāi)發(fā)部門,同時(shí)也減少商務(wù)部門、法務(wù)部門等相關(guān)職能部門,所有的外部基礎(chǔ)服務(wù)統(tǒng)一中臺(tái)管理,對(duì)于整個(gè)產(chǎn)品架構(gòu)的梳理會(huì)更加清晰,在產(chǎn)品設(shè)計(jì)方面也會(huì)更加快速,部門分工也更加合理。
支付中臺(tái)如何落地
支付中臺(tái),首先咱們應(yīng)該最關(guān)心的是中臺(tái)這個(gè)關(guān)鍵詞,因?yàn)閷?shí)際每個(gè)業(yè)務(wù)都已經(jīng)有支付能力了,但是由于每個(gè)業(yè)務(wù)對(duì)于支付的單獨(dú)開(kāi)發(fā),導(dǎo)致資源的浪費(fèi),讓業(yè)務(wù)將過(guò)多的精力用在基礎(chǔ)支撐服務(wù)的維護(hù)和開(kāi)發(fā)上,而無(wú)法集中精力去針對(duì)市場(chǎng)優(yōu)化業(yè)務(wù),不利于業(yè)務(wù)的沉淀和持續(xù)發(fā)展。
我認(rèn)為當(dāng)企業(yè)的業(yè)務(wù)線數(shù)量大,企業(yè)的主要業(yè)務(wù)線穩(wěn)定情況下應(yīng)該需要建立中臺(tái)系統(tǒng)。
而建立企業(yè)的中臺(tái)系統(tǒng)則需要首先調(diào)研企業(yè)的每個(gè)業(yè)務(wù)的場(chǎng)景和特點(diǎn),然后對(duì)每個(gè)業(yè)務(wù)進(jìn)行拆解,得到每個(gè)業(yè)務(wù)的組成模塊,再分析出每個(gè)業(yè)務(wù)組成模塊的一個(gè)合集,這樣就能確定中臺(tái)系統(tǒng)的定位和構(gòu)成。
業(yè)務(wù)拆分思路
- 在設(shè)計(jì)之初需要確定業(yè)務(wù),該業(yè)務(wù)的核心場(chǎng)景;
- 從核心場(chǎng)景往外剝離,確定哪些是基礎(chǔ)服務(wù);
- 確定基礎(chǔ)服務(wù)與業(yè)務(wù)的系統(tǒng)分界;
- 確定好每個(gè)基礎(chǔ)服務(wù)的分界后,需要對(duì)基礎(chǔ)服務(wù)進(jìn)行建模,以保證整個(gè)中臺(tái)體系的兼容性和擴(kuò)展性。
支付中臺(tái)建模思路
- 基于業(yè)務(wù),拆分為面向支付業(yè)務(wù)和面向資金核算兩套體系。
- 基于場(chǎng)景,例如依據(jù)支付流程等進(jìn)行拆分。
- 基于技術(shù)實(shí)現(xiàn),例如出于對(duì)系統(tǒng)的性能等考慮拆分。
支付中臺(tái)整體架構(gòu)
通過(guò)上圖,可以看出支付系統(tǒng)可以拆分為:收銀臺(tái)、交易核心、支付核心、渠道網(wǎng)關(guān)、賬務(wù)系統(tǒng)、會(huì)計(jì)系統(tǒng)、清算系統(tǒng)、合規(guī)系統(tǒng)等。
- 收銀臺(tái):主要應(yīng)用于業(yè)務(wù)的提交結(jié)算場(chǎng)景,可以根據(jù)不同的業(yè)務(wù)配置不同的收銀臺(tái)模板。
- 交易核心:業(yè)務(wù)發(fā)起支付時(shí),支付系統(tǒng)與業(yè)務(wù)方的前置模塊,主要用于對(duì)業(yè)務(wù)的校驗(yàn)、接單、查詢請(qǐng)求等處理。
- 支付核心:對(duì)于業(yè)務(wù)發(fā)起的交易進(jìn)行支付處理,生成支付訂單,可以根據(jù)不同的交易類型匹配不同的支付工具,支付核心根據(jù)渠道返回的支付結(jié)果,請(qǐng)求賬務(wù)系統(tǒng)、清結(jié)算系統(tǒng)、數(shù)據(jù)中心、交易系統(tǒng)等邏輯處理。
- 渠道網(wǎng)關(guān):主要是對(duì)接渠道,處理渠道報(bào)文,渠道接口請(qǐng)求,支付路由處理等。
- 賬務(wù)系統(tǒng):支付系統(tǒng)的賬務(wù)處理中心,賬務(wù)的凍結(jié)、解凍、出金、入金,根據(jù)不同的交易類型對(duì)賬戶進(jìn)行記賬,并將賬務(wù)流水通知到會(huì)計(jì)系統(tǒng),會(huì)計(jì)系統(tǒng)進(jìn)行復(fù)式記賬。
- 會(huì)計(jì)系統(tǒng):會(huì)計(jì)系統(tǒng)可以作為公司的業(yè)財(cái)中臺(tái),主要是根據(jù)賬務(wù)系統(tǒng)流水將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)化為財(cái)務(wù)數(shù)據(jù),如果公司有用友、金蝶等財(cái)務(wù)系統(tǒng),可以將生成的會(huì)計(jì)分類同步到財(cái)務(wù)系統(tǒng)中。
- 清算系統(tǒng):針對(duì)不同的業(yè)務(wù)類型,進(jìn)行清分結(jié)算。
- 合規(guī)系統(tǒng):對(duì)接反洗錢系統(tǒng)、反詐騙系統(tǒng),保證支付安全合規(guī)。
支付鏈路
由業(yè)務(wù)方發(fā)起交易,通過(guò)收銀臺(tái)或者API發(fā)起,進(jìn)入到交易系統(tǒng),交易系統(tǒng)請(qǐng)求支付系統(tǒng),支付系統(tǒng)接收到支付請(qǐng)求向渠道網(wǎng)關(guān)發(fā)起,渠道網(wǎng)關(guān)請(qǐng)求銀行或支付公司;支付系統(tǒng)接收到結(jié)果后異步通知數(shù)據(jù)中心、清結(jié)算系統(tǒng)和合規(guī)系統(tǒng)。
異常處理機(jī)制
1)如何保證數(shù)據(jù)統(tǒng)一性?
支付系統(tǒng)最重要的就是數(shù)據(jù)的統(tǒng)一性,因?yàn)樯婕暗秸鎸?shí)的資金情況,因此對(duì)于訂單統(tǒng)一性的要求是最高的,否則會(huì)導(dǎo)致資損的情況產(chǎn)生。
我們可以針對(duì)每個(gè)業(yè)務(wù)設(shè)置一個(gè)業(yè)務(wù)代碼,通過(guò)業(yè)務(wù)代碼+訂單號(hào)的方式,在每筆訂單生成一個(gè)業(yè)務(wù)跟蹤號(hào)。通過(guò)這個(gè)業(yè)務(wù)跟蹤號(hào)能夠?qū)⒔灰子唵?、支付訂單、渠道訂單、資金流水進(jìn)行關(guān)聯(lián)和約束,防止訂單數(shù)據(jù)差異以及對(duì)整個(gè)訂單生命周期的追溯。
每個(gè)系統(tǒng)的訂單可以定義規(guī)則,例如:日期+系統(tǒng)代碼+序號(hào)。
2)如何保證業(yè)務(wù)支付的穩(wěn)定性和擴(kuò)展性?
首先需要深入了解每個(gè)業(yè)務(wù)對(duì)于基礎(chǔ)服務(wù)的應(yīng)用場(chǎng)景,根據(jù)業(yè)務(wù)的應(yīng)用場(chǎng)景包裝出不同的交易產(chǎn)品(交易類型、例如充值場(chǎng)景、提現(xiàn)場(chǎng)景、擔(dān)保場(chǎng)景等)。在支付核心系統(tǒng)中,通過(guò)支付能力的組合形成支付工具,根據(jù)支付工具在組合成不同的交易產(chǎn)品,例如通過(guò)鑒權(quán)+代扣的支付能力,可以組合成支付工具快捷支付,快捷支付可以與交易場(chǎng)景的充值對(duì)應(yīng)。這樣就能實(shí)現(xiàn)插件化開(kāi)發(fā),能夠根據(jù)業(yè)務(wù)的需要完成不同的組合場(chǎng)景,提供支付系統(tǒng)的擴(kuò)展性。
3)如何處理部分支付的異常流程?
例如用戶的組合支付(紅包、優(yōu)惠券、支付寶支付)紅包和優(yōu)惠券扣款成功、支付寶支付失敗,我們建立了一個(gè)異常管理組件,這種組合支付都需要報(bào)送到異常管理組件,通過(guò)異常處理組件的規(guī)則,對(duì)該異常情況發(fā)起反向退款流程。異常處理組件會(huì)向支付系統(tǒng)發(fā)起紅包退款、優(yōu)惠券退款,保證整體訂單的狀態(tài)一致性。
4)代付拆單,部分成功的情況
對(duì)于代付交易,如果拆單后,出現(xiàn)2筆子單成功,1筆子單失敗,出現(xiàn)這種異常會(huì)將該異常子單發(fā)送到異常處理組件,異常處理組件發(fā)送到調(diào)度中心,可以重發(fā);如果無(wú)法重發(fā),可以人工支付后更新?tīng)顟B(tài)。
本文由 @極光 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議4
給支付中臺(tái)提供了一個(gè)明確的定義,公共模塊抽象出來(lái) ,提供各個(gè)業(yè)務(wù)以支持,不同重復(fù)造輪子, 后面會(huì)是如何做的問(wèn)題了。 1.如何研發(fā)公共模塊 2.各個(gè)前臺(tái)系統(tǒng)如何調(diào)用 3.中臺(tái)系統(tǒng)如何整合數(shù)據(jù)
一直沒(méi)理解,為什么交易系統(tǒng)在收銀臺(tái)之后而不是在收銀臺(tái)之前
此交易系統(tǒng)不是訂單系統(tǒng)
怎么感覺(jué)沒(méi)寫完,突然就結(jié)束了
我也是這么認(rèn)為的,確實(shí)從那個(gè)架構(gòu)圖開(kāi)始就斷開(kāi)了的感覺(jué),不過(guò)本文已經(jīng)介紹的一些概念寫的還是相當(dāng)不錯(cuò)的,如果作者再進(jìn)一步敘述就太好了
點(diǎn)贊