清結算系統是支付系統的一個子系統,本文重點介紹清結算中的系統設計和與對賬系統的關系。
清結算系統是第三方支付系統按照與商戶的協議,将一個結算周期内的收付款項彙總軋差生成待結算金額,并将待結算金額結算給商戶的一個功能模塊,是支付系統的一個子系統。
第三方支付系統的清結算系統并不是與人行的支付清算體系處在同一層級的系統,簡單來說,後者擔任着完成銀行與銀行之間的資金清算,而前者僅僅服務于一個第三方支付系統,完成對第三方支付系統的商戶的資金結算。
大家想必注意到了清算和結算用詞的差異,清算是各清算中心的工作内容,包括清分和資金劃撥兩個步驟,清分用于登記流水和軋差彙總,資金劃撥則是在各個銀行之間進行資金調動,即該扣哪個銀行多少資金就扣掉,該付給哪個銀行多少資金就給它增加餘額;結算是指銀行按照結算周期對其直連商戶的資金核算了結。
第三方支付系統的清結算系統,雖然包含清結算三個字,但“清”僅僅隻是清分,沒有清算中心那樣進行資金劃撥的權利,結算倒是名符其實的結算,與銀行對其直連商戶的結算概念等同。
清結算系統的實現
正如在《支付路由的管理與設計》一文中提到的,後台服務型系統的設計一般都逃不過三個範圍:業務流程、管理頁面、接口,支付路由如是,清結算系統也如是。
隻不過,相較于支付路由(業務流程一般分布在來自管理頁面的配置和接口的調用當中,不存在自動化的業務處理),清結算系統的業務流程存在自動化的業務處理邏輯,且清結算系統不一定能說是純後台服務型系統,因為它需要提供給商戶後台查看結算單信息以及進行對賬單下載的能力(這兩點一般隻是查詢下載功能,故下面的部分不會講述商戶後台的部分)。
1. 清結算的管理頁面功能
清結算的管理頁面主要包含商戶結算信息的管理、清分明細管理和結算單管理三部分。
商戶的結算信息是在商戶入駐支付平台的時候通過協議合同确定的,協議中包含如下用于結算的關鍵信息:
- 結算周期:可以是D0,D1,也可以是T1,T2……Tn(D代表自然日,T代表工作日),D0一般是設置某些個時間段結算一次,比如可以設置0點到15點的交易在15點之後結算一次,15點到24點的交易在24點之後結算一次;
- 結算方式:分為結算到商戶的銀行賬戶,還是商戶支付平台内的可用餘額賬戶;
- 銀行賬戶信息:包括銀行賬戶名、聯行行号、銀行賬号。
如上,商戶結算信息管理功能中的結算信息基本上都是在商戶入駐的時候登記進去的,但是要在這個功能裡進行後期的維護,如更換結算周期,修改結算方式,更換銀行賬戶信息,修改結算信息的有效性……
清分明細管理是對成功消費的訂單生成的清分明細的管理,之所以稱之為明細,是因為這條記錄中會包含交易金額、商戶手續費,甚至可能會有渠道成本、代理商分潤金額等信息,清晰的表明了各部分金額的歸屬。
清分明細管理的數據來源于訂單系統在一筆消費訂單成功之後,對清結算接口的調用(當然其中也可能會要求退款也要産生清分明細,這個時候就要看退款是從哪個賬戶退,從可用餘額賬戶退,可以考慮不登記,也可以登記但不計入結算,從待結算賬戶退,就要登記并參與結算)。
結算單管理即是對商戶的結算管理,結算單是一種外在表現形式,其記錄了商戶一個結算周期内的所有清分記錄的彙總軋差的結果。
結算單的生成是由系統依據商戶的結算周期設置自動彙總清分記錄而成。
2. 清結算的接口
清結算的接口是與其他系統交互的入口,一筆交易的最後一步,即是調用清結算接口登記一條清分記錄,用于一個結算周期之後對商戶進行結算。
清結算接口的設計一般要包含商戶編号、交易金額、商戶手續費、渠道成本等參數字段,如果要求代理商的分潤信息添加進來,則也要增加相應的代理商戶編号、代理商分潤金額等參數(描述的參數基于這些費用成本數值都是在訂單系統完成的計算,如果要求清結算系統内自行計算,則要上傳相應的費率,或者在清結算系統調用費用中心獲取相應的商戶費率、代理商扣率等費率數據)。
注意:訂單系統調用清結算系統登記清分記錄,也可能會出現異常,導緻清分記錄沒有登記成功,這個時候,要麼在訂單系統設置相應的機制保證一定要清結算系統登記成功方才停止請求,要麼就要進行兩個子系統的對賬,對不上的記錄要自動補登記,并且要在兩個系統流水一緻的情況下,才能進行結算操作。
3. 清結算的自動化業務流程
清結算的自動化業務流程分為三步:自動生成結算單、自動結算、自動生成對賬單。
自動生成對賬單,即是一開始講到的,按照第三方支付系統按照與商戶的協議,将一個結算周期内的收付款項彙總軋差生成待結算金額,形成一條結算單數據。
自動結算,即是按照設定的結算方式,在生成結算單之後,或者指定某個具體的時間點,自動将結算單中的金額結算給商戶的銀行賬戶或者支付平台賬戶,但是結算之前,需要進行記賬操作,如下:
結算到銀行賬戶:
借:應付賬款-商戶-待結算賬戶 XXX元
貸:銀行存款 XXX元
結算到支付平台賬戶:
借:應付賬款-商戶-待結算賬戶 XXX元
貸:應付賬款-商戶-餘額賬戶 XXX元
注意:
- 可以沒有自動結算這個功能,由人工在管理頁面操作結算;
- 結算到銀行賬戶,也可以分成兩步,先結算到支付平台賬戶,再自動幫助商戶提現到銀行賬戶,這個邏輯可以在代付渠道不能使用的情況下,将資金結算到商戶的支付平台賬戶,對其可見,不過,是否要按照應急狀況進行這種邏輯的設定要看業務方的考慮,如果機制完善,也可以不采用這種方式,畢竟對于資金問題,過于自動化可能并不讓人放心。
自動生成對賬單,即是在對商戶結算之後,提供商戶核對結算金額是否正确的依據,而對賬單生成的依據則是清分明細。
生成對賬單之後的一個問題就是怎麼讓商戶獲取到對賬單,一般有如下幾種方式:
- 在商戶後台提供下載入口;
- 提供獲取對賬單的接口,由商戶進行系統對接;
- 将對賬單放到支付機構的FTP/SFTP上,允許商戶訪問獲取;
- 将對賬單推送到商戶的FTP/SFTP上
……
方法多多,可以視具體需要确定提供哪些方式。
清結算系統完成對商戶的結算之後,要将這個結算周期的清分記錄生成一個對賬文件(商戶對賬單),供商戶對賬使用。
可能有人認為提供商戶對賬單供商戶對賬應該放在對賬系統,但由于商戶對賬單的生成要依據清分記錄,所以商戶對賬單的生成是在清結算系統。
與對賬系統的關聯
清結算系統與對賬系統産生關聯,主要是考慮要不要在跟渠道對賬結束之後,再将資金結算給商戶的問題,涉及下面兩種情形:
- 如果是先對賬,再結算,則是以渠道的流水記錄為準,核對了流水之後再進行結算;
- 如果是不管對賬結果,直接結算,則是以支付系統的流水記錄為準進行結算;
然而,渠道對賬單裡的流水可能隻是用戶充值到支付平台賬戶,并不需要結算給哪個商戶,而結算給商戶的資金也不一定是發生了銀行卡支付,像餘額支付(對于支付寶,還有花呗支付等)這種,支付記錄不需要與渠道對賬,但是也要結算給商戶。
個人認為,沒有必要增加業務耦合度,讓清結算系統與對賬系統糾纏不清,渠道不會少結算給支付機構,支付機構也不會少結算給商戶,不需要為了一點特殊的差異,而複雜化業務流程,分别保證支付機構與渠道、商戶與支付機構之間不存在對賬差錯即可。
本文由 @江寒 原創發布于人人都是産品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!