如何設(shè)計(jì)一套支付系統(tǒng)—清算模塊

5 評(píng)論 15256 瀏覽 88 收藏 21 分鐘

編輯導(dǎo)語:清算對(duì)于商家來說是很重要的一個(gè)步驟,清算的不合理或者不及時(shí),可能就會(huì)影響到接下來的流程甚至?xí)?duì)商家造成危險(xiǎn)。在本篇文章中,作者對(duì)中國(guó)清算系統(tǒng)進(jìn)行了簡(jiǎn)述,并且列舉了銀行收單系統(tǒng)清算設(shè)計(jì)的案例,最后為我們總結(jié)了如何做好清算產(chǎn)品的工作。

清算對(duì)于商戶來說是最剛性的需求,并對(duì)其容忍度最低,支付等待時(shí)間長(zhǎng)和操作繁瑣商戶可能還能容忍。

但出現(xiàn)結(jié)算錯(cuò)誤和長(zhǎng)時(shí)間延遲清算,商戶認(rèn)為資金的安全性得不到保障,商戶基本上在有其他選擇的情況下會(huì)毫不猶豫的改換其他支付產(chǎn)品。

我們常說的清算其實(shí)是由清分和結(jié)算是2個(gè)環(huán)節(jié)組成的,類似于會(huì)記中的財(cái)務(wù)和出納的關(guān)系,財(cái)務(wù)負(fù)責(zé)算清賬款,出納則負(fù)責(zé)轉(zhuǎn)賬。

清分是指清分模塊按照業(yè)務(wù)規(guī)則計(jì)算各個(gè)賬戶的收支賬目,最后生成有收支方和金額的清分記錄;結(jié)算是指將清分記錄以清分文件的形式或調(diào)用接口的形式推送到核心結(jié)算系統(tǒng)轉(zhuǎn)賬扣款。

清算模塊可謂是支付系統(tǒng)中含金量最高的業(yè)務(wù)模塊之一,要求既能支撐豐富的業(yè)務(wù)場(chǎng)景又要保障精準(zhǔn)的清分算法,信息交互的監(jiān)控粒度要求非常細(xì)致。

相比較交易訂單的中轉(zhuǎn)透?jìng)?,清算的每一個(gè)金額數(shù)字和狀態(tài),都是真實(shí)的涉及到資金的劃撥,所以狀態(tài)監(jiān)控和人工介入審核的環(huán)節(jié)必不可少。

清算從業(yè)人員需要一定的行業(yè)知識(shí)和專業(yè)儲(chǔ)備,筆者總結(jié)了自身業(yè)務(wù)知識(shí)和項(xiàng)目經(jīng)驗(yàn),希望能幫助讀者能有結(jié)構(gòu)的快速入門。

本文會(huì)先從實(shí)際生活常見的場(chǎng)景舉例,介紹信息流、資金流的流經(jīng)的每一個(gè)環(huán)節(jié),中國(guó)清算系統(tǒng)概況,從而充分理解清算業(yè)務(wù)的基本業(yè)務(wù)知識(shí)。

接著會(huì)以銀行收單系統(tǒng)為例解構(gòu)清分模塊的幾個(gè)核心業(yè)務(wù)能力如何實(shí)現(xiàn),并抽象出行業(yè)內(nèi)常用的基本設(shè)計(jì)理念。

對(duì)賬清算不分家,業(yè)務(wù)上一定是對(duì)賬平賬了才會(huì)執(zhí)行清分,對(duì)賬模塊的詳細(xì)設(shè)計(jì)可以查看筆者上篇文章《如何設(shè)計(jì)一套支付系統(tǒng)—對(duì)賬模塊》,本文不做重點(diǎn)說明。

清結(jié)算專員:負(fù)責(zé)發(fā)起清分的操作者,首先確保信息流對(duì)平,然后確認(rèn)資金流應(yīng)收款和信息流平賬賬單金額一致。希望能及時(shí)發(fā)現(xiàn)長(zhǎng)短款問題,并解決,保障資金清算給商戶(平臺(tái)可收款用戶)的時(shí)效性。

一、一筆交易的生命線

消費(fèi)者使用任意一種非現(xiàn)金支付渠道(微信、支付寶、刷卡)支付的商品貨款,商戶并非實(shí)時(shí)收到銷售貨款,而是按照一定的結(jié)算周期,由其使用的支付收單服務(wù)商清算給到商家,收單服務(wù)商可以是銀行、銀聯(lián)、和第三方支付機(jī)構(gòu)。

舉個(gè)栗子:小明使用支付寶付款碼(綁定建行卡)在沃爾瑪購(gòu)買了1000元錢的商品,沃爾瑪?shù)闹Ц斗?wù)商是工行的收單通道,支付費(fèi)率為0.6%。

1. 信息流

間聯(lián)模式下:

  1. 商家收銀系統(tǒng)客戶端->商家收銀系統(tǒng)服務(wù)端:生成商戶訂單號(hào)、金額、狀態(tài):未支付(業(yè)務(wù)場(chǎng)景復(fù)雜的商戶系統(tǒng)還會(huì)區(qū)分業(yè)務(wù)訂單號(hào)和支付訂單號(hào),本文僅說明支付訂單號(hào));
  2. 商家收銀系統(tǒng)服務(wù)端->工行收單服務(wù)端:支付路由找到工行收單通道,上送商戶訂單號(hào)、金額、狀態(tài):未支付;
  3. 工行收單服務(wù)端->銀聯(lián)間聯(lián)服務(wù)端:支付路由找到銀聯(lián)支付寶通道,上送工行訂單號(hào)、金額、狀態(tài):未支付;
  4. 銀聯(lián)間聯(lián)服務(wù)端->支付寶服務(wù)端:支付路由找到間聯(lián)支付寶通道,透?jìng)鞴ば杏唵翁?hào)、金額、狀態(tài):未支付;
  5. 支付寶服務(wù)端->銀聯(lián)快捷支付系統(tǒng):支付路由找到銀聯(lián)快捷支付,上送支付寶訂單號(hào)、金額、開卡行、銀行卡號(hào)、狀態(tài):未支付;
  6. 銀聯(lián)快捷支付系統(tǒng)->建行發(fā)卡網(wǎng)關(guān):支付路由找到建行發(fā)卡網(wǎng)關(guān),上送銀聯(lián)代扣訂單號(hào)、金額、開卡行、銀行卡號(hào)、狀態(tài):未支付;
  7. 建行發(fā)卡網(wǎng)關(guān):根據(jù)銀行卡號(hào)、金額內(nèi)部劃賬(此時(shí)只是發(fā)卡行內(nèi)賬簿記錄不涉及資金結(jié)算),若銀行卡余額大于等于則執(zhí)行劃賬,狀態(tài):支付成功;若余額不足,則不執(zhí)行劃賬;
  8. 建行發(fā)卡網(wǎng)關(guān)->銀聯(lián)快捷支付系統(tǒng):以扣款成功為例,返回:建行代扣訂單號(hào)、銀聯(lián)代扣訂單號(hào)、金額、開卡行、銀行卡號(hào)、狀態(tài):支付成功;
  9. 銀聯(lián)快捷支付系統(tǒng)->支付寶服務(wù)端:返回:銀聯(lián)代扣訂單號(hào)、支付寶訂單號(hào)、金額、開卡行、銀行卡號(hào)、狀態(tài):支付成功;
  10. 支付寶服務(wù)端->銀聯(lián)間聯(lián)服務(wù)端:支付寶訂單號(hào)、工行訂單號(hào)、金額、狀態(tài):支付成功(同步推送小明的支付寶APP);
  11. 銀聯(lián)間聯(lián)服務(wù)端->工行收單服務(wù)端:支付寶訂單號(hào)、工行訂單號(hào)、金額、狀態(tài):支付成功;
  12. 工行收單服務(wù)端->商家收銀系統(tǒng)服務(wù)端:工行訂單號(hào)、支付寶訂單號(hào)、商家訂單號(hào)、金額、狀態(tài):支付成功;
  13. 商家收銀系統(tǒng)服務(wù)端->商家收銀系統(tǒng)客戶端:工行訂單號(hào)、支付寶訂單號(hào)、商家訂單號(hào)、金額、狀態(tài):支付成功。

2. 資金流

間聯(lián)模式下:

  1. 建行行內(nèi)清算系統(tǒng)軋差:建行收到扣款通知時(shí),小明的銀行賬戶余額實(shí)時(shí)減少1000元。
  2. 銀聯(lián)跨行清算系統(tǒng)軋差:晚上12點(diǎn)日切,銀聯(lián)生成清分文件上送人行大小額系統(tǒng):中行扣除其發(fā)卡所得資金(比如是千1)清算賬戶減少999元,支付寶清分賬戶增加1元,工行清算賬戶增加998元。
  3. 收單行行內(nèi)清算系統(tǒng)軋差:次日10點(diǎn),工行生成清分文件上送人行大小額系統(tǒng),商戶結(jié)算賬戶增加994元,商戶所屬展業(yè)渠道結(jié)算賬戶增加4元。

二、中國(guó)清算系統(tǒng)簡(jiǎn)述

中國(guó)國(guó)內(nèi)基本上所有的跨行轉(zhuǎn)賬的最底層都是走的人行大小額系統(tǒng),是國(guó)家級(jí)的核心系統(tǒng),接入資質(zhì)要求和安全性要求都比較高,一般只對(duì)銀行和特許金融機(jī)構(gòu)(例如:銀聯(lián))開放。

銀行的清算系統(tǒng)首先會(huì)按照本行卡、他行卡進(jìn)行歸類,本行卡轉(zhuǎn)入本行行卡賬戶結(jié)算系統(tǒng);他行卡則按照金額大小歸類,大于5w的走人行大額支付系統(tǒng),小于等于5w的走人行小額支付系統(tǒng)。

一般三方或四方能接觸到的結(jié)算系統(tǒng),是銀聯(lián)銀行卡跨行支付系統(tǒng),以銀行卡卡組織的業(yè)務(wù)形式處理銀行卡清算業(yè)務(wù),本質(zhì)上基于人行大小額系統(tǒng)的一層封裝,其對(duì)外開放性更強(qiáng),業(yè)務(wù)靈活性更高。

大額支付系統(tǒng)(HVPS)在國(guó)家法定工作日運(yùn)行,系統(tǒng)運(yùn)行時(shí)間是每日的8:30到17:00,主要用于處理單筆金額在5萬元以上跨行普通匯兌或5萬元以下的跨行緊急匯兌業(yè)務(wù)。

大額系統(tǒng)實(shí)行對(duì)支付指令逐筆發(fā)起、全額清算的方式,加快了大額資金匯劃到賬的速度及社會(huì)資金的周轉(zhuǎn)。

小額支付系統(tǒng)(BEPS):實(shí)行7×24小時(shí)不間斷運(yùn)行的模式,主要用于處理單筆5萬元以下的普通貸記業(yè)務(wù)和定期扣劃業(yè)務(wù)。

與大額支付系統(tǒng)相比,小額支付系統(tǒng)采取了批量發(fā)送業(yè)務(wù)、定時(shí)清算軋差的業(yè)務(wù)處理方式,故其資金劃撥的實(shí)時(shí)性沒有大額支付系統(tǒng)高。

三、案例:銀行收單系統(tǒng)清算設(shè)計(jì)

1. 搭建資金賬戶體系

在開始梳理清算需求的時(shí),一定是要明確資金流向,在滿足業(yè)務(wù)需求的訴求上,首先要確保符合國(guó)家相關(guān)要求,其次要符合企業(yè)財(cái)務(wù)企劃管理辦法。一般常用的賬戶類型如下:

1)備付金賬戶

指接入通道時(shí)填寫的結(jié)算賬戶,需獨(dú)立申請(qǐng)報(bào)備。此賬戶的主要用途是,歸集收單業(yè)務(wù)來款方資金。

上游微信、支付寶、銀聯(lián),是相互獨(dú)立的業(yè)務(wù)系統(tǒng)其來款時(shí)間、對(duì)賬單推送時(shí)間均不相同,所以會(huì)再按類型區(qū)分微信、支付寶、銀聯(lián)備付金賬戶,這樣專戶專用便于直觀的處理資金對(duì)賬。

2)過渡戶

指先匯集各個(gè)備付金賬戶的來還款,再合并資金一筆結(jié)算給到商戶和渠道的資金過渡賬戶。每天過渡戶需清零,如果有清分失敗的掛賬,則需劃撥至掛賬戶。

這樣即便是系統(tǒng)上的清分指令重復(fù)調(diào)用出現(xiàn)bug,在業(yè)務(wù)上因余額不足的原因無法劃款,從而規(guī)避大規(guī)模的資金損失。且根據(jù)賬簿流水賬戶余額是否清零,也可快速精準(zhǔn)定位到具體是哪一天系統(tǒng)出現(xiàn)問題。

3)掛賬戶

因結(jié)算卡錯(cuò)誤和風(fēng)控凍結(jié)原因出現(xiàn)的掛賬資金統(tǒng)一歸集到掛賬戶,每天需清分專員發(fā)起清分并回盤后,核查系統(tǒng)顯示的清分失敗金額和過渡戶余額是否一致(結(jié)算退票會(huì)按照資金出款方向原路返回指過渡戶)若一致發(fā)起掛賬戶清分,將過渡戶清零。

4)商戶銀行賬戶

商戶進(jìn)件是填寫的結(jié)算賬戶,除了一類卡、部分銀行本行卡還支持二、三類卡。

5)外包渠道銀行賬戶

外包渠道進(jìn)件時(shí)填寫的結(jié)算賬戶。區(qū)別于分行機(jī)構(gòu)內(nèi)部賬戶,生成清分文件時(shí)多和商戶清分信息歸檔至一份清分文件中。

6)分行機(jī)構(gòu)內(nèi)部賬戶

分行渠道進(jìn)件時(shí)填寫的結(jié)算賬戶,屬于銀行內(nèi)部科目管理賬戶,除賬戶編號(hào)外一般還需填寫科目編號(hào)。部分銀行使用接口內(nèi)部劃賬;部分銀行僅做賬簿記錄,實(shí)際填寫賬戶時(shí)填寫總行賬戶。

2. 劃分清分類型

按照收款方向劃分作為清分類型,可以歸類為:過渡戶清分、掛賬戶清分、商戶清分 、渠道清分。

過渡戶清分、掛賬戶清分賬戶一般固定不變,商戶清分、渠道清分結(jié)算賬戶則在生成清分文件時(shí)根據(jù)業(yè)務(wù)規(guī)則關(guān)聯(lián)添加。

3. 明確資金流向

假設(shè):商戶費(fèi)率為6‰,外包渠道渠道費(fèi)率4‰,分行機(jī)構(gòu)渠道費(fèi)率2‰,通道成本為2‰:

  • 商戶應(yīng)收款=3000-3000*6‰=2982元
  • 外包渠道應(yīng)收款=3000*(6‰-4‰)=6元
  • 分行機(jī)構(gòu)渠道應(yīng)收款=3000*(4‰-2‰)=6元

4. 處理掛賬補(bǔ)清分

掛賬:清分失敗后資金會(huì)原路退還至過渡戶;經(jīng)由清分專員核查過渡戶越和失敗金額一致后,操作掛賬戶清分劃款。

補(bǔ)清分:指錯(cuò)誤信息修改后,再次發(fā)起清分。清分類型不做改變,清分狀態(tài)由清分失敗轉(zhuǎn)化為清分中,出款賬戶改為掛賬戶,收款賬戶取商戶當(dāng)前最新結(jié)算信息。

5. 生成清分文件規(guī)則

  1. 獲取對(duì)賬結(jié)果數(shù)據(jù)對(duì)賬任務(wù)執(zhí)行完畢,拉取一份已對(duì)平的訂單數(shù)據(jù),生成一份原始清分?jǐn)?shù)據(jù);
  2. 生成商戶清分記錄逐筆訂單匹配其所屬商戶的當(dāng)前費(fèi)率,并計(jì)算商戶手續(xù)費(fèi)=訂單金額*商戶費(fèi)率;
  3. 生成渠道清分記錄逐筆計(jì)算機(jī)構(gòu)分潤(rùn),以平臺(tái)兜底為例,按照機(jī)構(gòu)級(jí)別從下往上計(jì)算,渠道分潤(rùn)=訂單金額*(商戶費(fèi)率-渠道費(fèi)率);
  4. 是否凍結(jié)判斷是否有凍結(jié)訂單,若有將凍結(jié)訂單剔除。(凍結(jié)訂單一般來自第三方風(fēng)控或平臺(tái)風(fēng)控,商戶資金存在違規(guī)風(fēng)險(xiǎn)或消費(fèi)者爭(zhēng)議);
  5. 是否解凍判斷是否有解凍訂單,若有將解凍訂單合入清分?jǐn)?shù)據(jù)。(凍結(jié)訂單一般來自第三方風(fēng)控或平臺(tái)風(fēng)控,商戶資金存在違規(guī)風(fēng)險(xiǎn)或消費(fèi)者爭(zhēng)議);
  6. 是否分賬判斷商戶是否需要分賬,按照分賬規(guī)則計(jì)算分賬金額和分賬商戶信息;
  7. 生成清分明細(xì)添加結(jié)算信息,根據(jù)商戶號(hào)信息,查找匹配的結(jié)算信息(卡號(hào)、姓名等),生成清分明細(xì);
  8. 是否合并入賬判斷是否需要合并入駐,常用的有2種,一種為商戶維度,根據(jù)商戶號(hào)合并生成結(jié)算金額;另一種為連鎖商戶維度,將該連鎖商戶下所有門店合并生成結(jié)算金額;
  9. 生成清分文件。

清分文件是推送給銀行清算核心或代付接口的數(shù)據(jù)(txt、csv、json格式都有),具體以合作平臺(tái)要求為準(zhǔn)。

6. 清分文件推送批次統(tǒng)計(jì)

生成清分文件后,點(diǎn)擊清分推送清分文件給到對(duì)應(yīng)的業(yè)務(wù)系統(tǒng),需提前確認(rèn)推送路徑和文件格式。

不同的銀行管理辦法可能不同,有的會(huì)要求區(qū)分本行卡和他行卡生成2份清分文件。有的會(huì)區(qū)賬戶類型,若是行內(nèi)內(nèi)部賬戶劃款走指定的接口劃款,實(shí)時(shí)返回清分結(jié)果;若是外部賬戶則采用文件推送的方式,批量清分。

常用記錄信息:交易時(shí)間、清分文件名稱、清分批次號(hào)、總金額、總筆數(shù)、推送時(shí)間、批次號(hào)、推送批次狀態(tài)。

7. 清分結(jié)果統(tǒng)計(jì)

每筆轉(zhuǎn)款記錄需逐筆記錄清分明細(xì),便于后續(xù)對(duì)賬和處理補(bǔ)清分操作。

常用記錄信息:交易時(shí)間、清分狀態(tài)、清分類型、平臺(tái)賬號(hào)信息、出款賬戶信息、收款賬戶信息,金額,清分時(shí)間,流水號(hào),失敗原因。

8. 清分結(jié)果統(tǒng)計(jì)

差錯(cuò)處理,指的是處理那些還沒有清分成功的清分記錄,主旨在于使掛賬戶余額清零。差錯(cuò)處理可以分為兩大類,一類是正常補(bǔ)清分,一類是異常情況。

正常補(bǔ)清分是指,回盤時(shí)結(jié)算系統(tǒng)明確指出哪一筆清分失敗,用戶按照正常流程修改后,重新補(bǔ)發(fā)清分即可。

另一類異常情況,又可以細(xì)分為2種場(chǎng)景,退票和線下手補(bǔ):

  1. 退票是指回盤時(shí)結(jié)算系統(tǒng)并沒有指出清分失敗,但實(shí)際情況清分失敗了,且資金已經(jīng)退還至出款賬戶,需要根據(jù)退票原因修改后再次發(fā)起清分。出現(xiàn)這種情況多是因?yàn)樾袃?nèi)核心結(jié)算系統(tǒng)返回的結(jié)果狀態(tài)僅代表信息接收狀態(tài),不是實(shí)際結(jié)算狀態(tài),其還存在上級(jí)結(jié)算系統(tǒng)——例如人行大小額系統(tǒng),所以他行卡退票最為多見。
  2. 線下手補(bǔ)是指因系統(tǒng)調(diào)整的時(shí)效性過長(zhǎng),業(yè)務(wù)上又急需結(jié)算給到商戶,可以先線下通過手工轉(zhuǎn)賬的形式結(jié)算給商戶,信息流狀態(tài)稍晚一點(diǎn)同步。線下行為沒有經(jīng)過平臺(tái)系統(tǒng),需將清分失敗轉(zhuǎn)為清分成功,保證信息流和資金流的統(tǒng)一,避免重復(fù)清分。

9. 清算模塊產(chǎn)品框架圖

下圖為清算模塊的產(chǎn)品框架,基本上清算設(shè)計(jì)都是以此為出發(fā)點(diǎn),大家可以作學(xué)習(xí)參考。

如何設(shè)計(jì)一套支付系統(tǒng)--清算模塊

四、如何做好清算產(chǎn)品工作

首先當(dāng)然是要了解業(yè)務(wù):

  • 錢是哪里來的?
  • 什么時(shí)候分錢?
  • 誰來操作分錢?
  • 分錢的依據(jù)是什么?
  • 出現(xiàn)長(zhǎng)短款了,如何定位上下游哪個(gè)環(huán)節(jié)出了問題?問題由如何解決?

可以從資金流和信息流的流程圖開始,一步步理清,資金流的賬戶設(shè)計(jì)多和公司務(wù)企劃部門溝通明確賬戶設(shè)計(jì)的用途和處理規(guī)范,對(duì)業(yè)務(wù)背景深刻理解后會(huì)發(fā)現(xiàn)其實(shí)賬戶設(shè)計(jì)和表結(jié)構(gòu)設(shè)計(jì)類似。

產(chǎn)研側(cè)建議多用實(shí)際的業(yè)務(wù)金額舉例,最好能直接拿著例子做測(cè)試用例那樣詳細(xì),一則便于溝通,二則便于自身檢測(cè)模型是否有遺漏。

 

本文由 @Jamie Gao 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 感謝大大分享

    來自上海 回復(fù)
  2. 請(qǐng)教一下作者,清分批次文件和清分統(tǒng)計(jì)表(應(yīng)該是轉(zhuǎn)賬記錄單吧)之間沒有對(duì)應(yīng)關(guān)系嗎?也就是說本次清算成功的對(duì)應(yīng)清分記錄應(yīng)該有關(guān)聯(lián)關(guān)系吧?謝謝。

    來自河北 回復(fù)
  3. 沃爾瑪不支持支付寶^-^

    來自北京 回復(fù)
  4. 辛苦了

    來自內(nèi)蒙古 回復(fù)