聊聊電商平臺(tái)的支付交易系統(tǒng)
一伴澄、關(guān)于定位
今天和大家分享支付交易相關(guān)的系統(tǒng),這是一個(gè)和資金打交道的系統(tǒng)阱缓,承載著電商平臺(tái)的購(gòu)物車非凌、下單、支付渠道網(wǎng)關(guān)荆针、訂單管理敞嗡、虛擬資金賬戶、營(yíng)銷優(yōu)惠等重要業(yè)務(wù)航背,是電商平臺(tái)不可或缺的系統(tǒng)
在不同的業(yè)務(wù)發(fā)展階段喉悴,支付交易系統(tǒng)需要的架構(gòu)和投入的人力也不大一樣。
二沃粗、架構(gòu)演進(jìn)
1. 初期:?jiǎn)魏穗A段
在平臺(tái)發(fā)展初期粥惧,業(yè)務(wù)相對(duì)比較簡(jiǎn)單,業(yè)務(wù)量也很小最盅,一個(gè)系統(tǒng)就囊括了所有功能突雪,很可能連部署都和其他功能混布起惕。
1.0.png
這個(gè)階段的特點(diǎn)是:
系統(tǒng)簡(jiǎn)單開(kāi)發(fā)快,
可擴(kuò)展性差咏删,無(wú)法快速滿足新商品支付的接入
各個(gè)節(jié)點(diǎn)耦合度高惹想,節(jié)點(diǎn)間多為事務(wù)性依賴,導(dǎo)致交易鏈路很長(zhǎng)
代碼越來(lái)越多督函,各個(gè)節(jié)點(diǎn)并行開(kāi)發(fā)越來(lái)越困難
為了解決這些問(wèn)題嘀粱,決定將各個(gè)節(jié)點(diǎn)進(jìn)行服務(wù)化,采用分布式系統(tǒng)架構(gòu)辰狡,把支付交易的各個(gè)節(jié)點(diǎn)服務(wù)化到后端锋叨,用來(lái)支撐多個(gè)前端應(yīng)用。
2. 中期:服務(wù)化
除了服務(wù)化宛篇,這個(gè)架構(gòu)里還加上了交易訂單娃磺,把訂單拆分為商品訂單和交易訂單,主要目的是讓支付和商品解藕叫倍,讓網(wǎng)關(guān)更加獨(dú)立偷卧,同時(shí)解決由于訂單信息變更帶來(lái)的觸發(fā)第三方渠道風(fēng)控策略,導(dǎo)致無(wú)法支付的情況 ( 比如點(diǎn)擊過(guò)第三方支付吆倦,然后發(fā)生了訂單改價(jià)听诸,那么同一個(gè)訂單號(hào)在第三方就不允許再次支付了 )
2.0.jpg
這個(gè)階段的特點(diǎn)是:
緩解了1.0的問(wèn)題
分布式系統(tǒng),保障分布式事務(wù)的數(shù)據(jù)一致性是難點(diǎn)蚕泽,這里不做深入介紹晌梨,可參考
跟著業(yè)務(wù)走
3. 后期:面向業(yè)務(wù)規(guī)則
3.0的支付交易系統(tǒng)應(yīng)該是面向業(yè)務(wù)規(guī)則的系統(tǒng),能夠滿足平臺(tái)大多數(shù)的支付場(chǎng)景需要赛糟,業(yè)務(wù)規(guī)則可抽象派任,通過(guò)配置規(guī)則就能快速訂閱底層的支付基礎(chǔ)服務(wù)。
但這需要等業(yè)務(wù)發(fā)展到一定階段才可行璧南。
三掌逛、支付網(wǎng)關(guān)
市面上有很多的渠道網(wǎng)關(guān),那么渠道網(wǎng)關(guān)如何做選擇呢司倚?我歸結(jié)為3個(gè)關(guān)鍵詞
主流豆混、穩(wěn)定、手續(xù)費(fèi)
首先是主流,就是滿足大多數(shù)用戶的支付需求动知,市面上的網(wǎng)關(guān)巨頭如支付寶皿伺、微信基本就是標(biāo)配
然后是穩(wěn)定,一般主流的支付渠道穩(wěn)定性都沒(méi)有問(wèn)題,但為了更好的容錯(cuò)容災(zāi)盒粮,多接入一些渠道進(jìn)行備份也是好的選擇
最后是手續(xù)費(fèi),當(dāng)交易量達(dá)到一定量級(jí)鸵鸥,你會(huì)發(fā)現(xiàn)每筆交易支付的手續(xù)費(fèi)也是一筆不菲的支出,降低手續(xù)費(fèi)就成了需要去解決的問(wèn)題
如何降低手續(xù)費(fèi)呢?
通過(guò)商務(wù)手段進(jìn)行談判妒穴,同時(shí)接入一些中小渠道宋税,一般這些渠道為了發(fā)展會(huì)有較高的談判空間;
在界面上可以降低高手續(xù)費(fèi)渠道的展示位置讼油,當(dāng)然不能影響交易額
對(duì)于有交易額階梯價(jià)的渠道杰赛,通過(guò)渠道引擎自動(dòng)調(diào)整交易渠道,對(duì)用戶無(wú)感知矮台,但這需要交易有一定渠道特點(diǎn)才能達(dá)到效果
四乏屯、財(cái)務(wù)清算
財(cái)務(wù)清算包括對(duì)賬并產(chǎn)出會(huì)計(jì)報(bào)表,它的設(shè)計(jì)有一定會(huì)計(jì)知識(shí)門檻,在系統(tǒng)初期瘦赫,一般團(tuán)隊(duì)都會(huì)因?yàn)榭焖僦螛I(yè)務(wù)發(fā)展辰晕,而遺漏了這方面的設(shè)計(jì)。
財(cái)務(wù)清算系統(tǒng)和支付交易系統(tǒng)在交易數(shù)據(jù)上是緊耦合的耸彪,為了讓兩個(gè)系統(tǒng)有比較清晰的系統(tǒng)邊界伞芹,盡可能的解藕,我們的思路可以是這樣的
建立會(huì)計(jì)科目體系蝉娜,結(jié)合自身平臺(tái)的特性,在這些主科目下建立分科目
資產(chǎn) = 負(fù)債+待清算+(收入-費(fèi)用)
支付交易系統(tǒng)產(chǎn)生交易流水
財(cái)務(wù)清算系統(tǒng)把交易流水錄入到科目體系
財(cái)務(wù)清算系統(tǒng)和第三方對(duì)賬單對(duì)賬