通常我們在開發(fā)手機(jī) app 或網(wǎng)站時(shí)都會(huì)涉及到支付相關(guān)的業(yè)務(wù)場景,用戶只需要簡單的點(diǎn)擊下按鈕并輸入密碼,就完成了整個(gè)支付過程。那么今天我們就來簡單聊一下一個(gè)完整的支付系統(tǒng)由那些功能組成以及設(shè)計(jì)時(shí)需要考慮的因素。
我們先來看下支付過程:

從上圖中我們可以看出真實(shí)的資金流向。首先當(dāng)用戶產(chǎn)生支付行為時(shí),資金從用戶端流向支付系統(tǒng),退款時(shí)則相反,從支付系統(tǒng)回流至用戶端。因此在整個(gè)交易過程中用戶端與支付系統(tǒng)是雙向資金的流動(dòng)方式。對(duì)于支付系統(tǒng)而言,資金有進(jìn)有出。
從支付系統(tǒng)到商戶端就比較簡單了,在清算完成后支付系統(tǒng)負(fù)責(zé)將代收的資金結(jié)算給商戶,通常結(jié)算的操作可以在線上來完成(采用支付公司代付接口或者銀企直連接口來完成),也可以由公司財(cái)務(wù)通過線下手工轉(zhuǎn)賬的方式來完成,因此這種資金流動(dòng)的方式是單向的。出于資金安全考慮,大多數(shù)公司通常這部分采用線下方式實(shí)現(xiàn)。
真實(shí)的資金流由支付公司按照約定期限(通常 T+1 )結(jié)算到平臺(tái)公司對(duì)公賬戶中,然后再由平臺(tái)公司再按照交易明細(xì)進(jìn)行二次清算后結(jié)算給對(duì)應(yīng)的商戶。
為了能把這件事說清楚,我們先來看個(gè)生活中的例子:比如今天我去華堂商場買個(gè) New Balance 的鞋子,我在拿到商家開出的小票后去了收銀臺(tái)刷卡交錢,然后再將小票的副聯(lián)交給那個(gè)出小票的業(yè)務(wù)員(商戶),這時(shí)我就可以拿著鞋子走人了。此時(shí)華堂的收銀臺(tái)就是我們上面說的支付系統(tǒng),而 New Balance 就是商戶。當(dāng)我完成交易時(shí)錢首先是由華堂代收了,然后它再按照與商戶約定的固定周期將資金結(jié)算給 New Balance 商戶。這樣是不是好理解多了?
到此,支付的業(yè)務(wù)場景我們已經(jīng)清楚了,現(xiàn)在我們看看作為一個(gè)支付系統(tǒng)需要由哪些功能模塊組成呢?

一個(gè)完整的支付系統(tǒng)應(yīng)包括的功能:
- 應(yīng)用管理: 同時(shí)支持公司多個(gè)業(yè)務(wù)系統(tǒng)對(duì)接。
- 商戶管理: 支持商戶入駐,商戶需要向平臺(tái)方提供相關(guān)的資料備案。
- 渠道管理: 支持微信、支付寶、銀聯(lián)、京東支付等多種渠道。
- 賬戶管理: 渠道賬戶管理,支持共享賬戶(個(gè)人商戶)及自有賬戶。
- 支付下單: 生成預(yù)支付訂單、提供退款服務(wù)。
- 通知模塊: 處理第三方支付渠道的異步通知,并將處理結(jié)果同步至業(yè)務(wù)系統(tǒng)。
- 對(duì)賬處理: 實(shí)現(xiàn)支付系統(tǒng)的交易數(shù)據(jù)與第三方支付渠道交易明細(xì)的自動(dòng)核對(duì)(通常T+1),確保交易數(shù)據(jù)的準(zhǔn)確性和一致性。
- 商戶清算: 計(jì)算收款交易中商戶的應(yīng)收與支付系統(tǒng)收益。
- 商戶結(jié)算: 根據(jù)清算結(jié)果,將資金劃撥至商戶對(duì)應(yīng)的資金帳戶中。