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

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

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