如何設計一套支付系統-對帳模塊

2020-12-14 人人都是產品經理

編輯導語:很多人都有記帳的習慣,但是記到後面卻發現自己的帳算不清楚,記帳不能只靠著單方面的帳單,還要進行對帳才能確保無誤;本文將會從產品設計的業務知識點出發,詳細介紹對帳業務流程,並列舉會出現的常見問題和解決方法。

業務背景:

對帳模塊是支付系統的核心能力之一,是信息流和資金流關聯的重要依據,平臺如果只使用渠道的單邊帳單或者平臺流水訂單,出現差錯或渠道惡意扣單的風險極高。

為提高資金帳務的正確性和保障平臺的利益,需要通過平臺系統對帳能力與上遊渠道對帳單逐筆勾兌確認,如有差異能及時解決或歸檔。

用戶畫像:

1)清結算專員:負責發起清分的操作者,首先確保信息流對平,然後確認資金流應收款和信息流平帳帳單金額一致。希望能及時發現長短款問題,並解決,保障資金清算給商戶(平臺可收款用戶)的時效性。

2)對帳異常訂單處理專員:負責核算異常訂單原因,並在平臺操作將異常訂單執行修正、平帳。

一、必須知道的業務知識點

1. 對帳

在會計上概念:指為了保證帳簿記錄的正確性而進行的有關帳項的核對工作;做到帳證相符、帳帳相符、帳實相符。

在支付系統上的體現:

1)帳證核對:是將帳簿記錄與記帳憑證進行核對。這裡是記帳憑證是指第三方上遊提供的渠道對帳單,第三方渠道會根據對帳單金額實際結算資金,也就是常說的信息流對帳。(有的支付公司或銀行只要收到對帳單了且平帳,即使資金未實際到帳,業務也允許發起清分以提高清算時效性)

2)帳帳核對:是把有相互關係的多個帳簿記錄進行核對,有相互關係的帳簿記錄,包括總分類帳簿間核對,明細帳簿間核對等多種類型。整個支付系統可以被拆分成了多個子系統,如交易系統、帳戶系統、會計系統、帳戶系統,每個子系統在處理各自的業務並記錄,其實就相當於會記理論中的帳簿。系統間的對帳,主要用於修正內部系統的數據不一致。

3)帳實核對:是各項資產物資的記錄數值與實際真實數額間的核對。確認第三方匯款到銀行帳戶資金和平帳對帳單結算金額是否匹配,也就是常說的資金流對帳。

2. 軋帳

對帳系統主要做的是信息流的對帳,若對帳中發現有差異的訂單歸類記入對帳異常訂單表,可稱為軋帳。

3. 平帳

對帳異常訂單進入差錯流程,可以通過人工或者自動的方式,按照事先設計好的規則處理這些異常差錯,可稱為平帳。

4、渠道對帳單

上遊渠道會按照平臺在其申請的渠道帳戶維度推送對帳單,渠道帳戶也就是常說的支付通道。

如果是第三方支付公司或銀行,上遊渠道是微信、支付寶、銀聯二維碼(雲閃付)等等。例如:支付平臺申請有微信2通道和微信6通道,則微信側會生成2份對帳單文件。

每份對帳單會包括支付成功訂單和退款成功訂單。第三方會以對帳單中的結算金額(支付訂單金額-支付訂單手續費)-(退款訂單金額-退款訂單手續費)結算匯款給到平臺資金帳戶。

5、銀聯二維碼(難點)

銀聯二維碼是銀聯平臺自主推出的支付產品,C端使用雲閃付、各手機銀行APP支付,訂單底層走的都是銀聯二維碼通道。

為什麼銀聯二維碼需要重點說呢?

因為它不同於微信、支付寶通道統一費率的原則,銀聯會根據C端用戶支付時使用的銀行卡借貸性質和交易金額是否大於1000作為費率規則,並且還會收取額外的品牌服務費,詳情參見下圖。

所以設計銀聯二維碼通道對帳時,還需考慮到多費率及品牌服務費的場景。

二、對帳流程

1. 業務流程

對帳業務可以插解為5個業務環節,本文主要說明每個環節的能力職責、常見問題和通用解決方法,具體的產品方案還需要結合讀者平臺自身的業務特點和系統架構設計。

三、對帳任務

對帳是一個日常操作,正常情況下上遊渠道都會以D+1的周期生成渠道對帳單。

每天系統可以默認生成定時對帳任務,每個上遊渠道生成時間不一樣,可以事前和上遊確認,並結合平臺對帳的處理時效和商戶到帳需求,設計一個合理的時間執行。

對帳任務設計前需確認,渠道對帳單推送方式、解析方法、匹配欄位,並提前做好聯調適配工作;例如渠道有可能會需要申請白名單權限或提供SFTP地址信息,要謹防上線後才發現系統無法正常獲取對帳單的情況。

1. 創建任務批次

創建批次一方面是為了防止重複對帳,另一方面需要在對帳結束的時候將對帳的結果信息存儲到批次中。

2. 記錄任務信息

對帳任務信息,例如:通道名稱、通道編號、渠道商戶號、對帳任務批次、對帳任務狀態、交易時間、任務創建時間、下載開始時間、下載結束時間、下載狀態、對帳開始時間、對帳結束時間、對帳結果、對帳方式;

對帳方式為對帳處理時的對帳規則,可以根據業務實際情況分為:無需對帳、以渠道為準、以平臺為準。

以渠道為準,則若對帳訂單平臺交易狀態為支付中或支付失敗,但渠道為支付成功,則平臺狀態改為支付成功。以平臺為準,則是若出現上述情況,對帳訂單記錄為異常訂單。

3. 重置任務機制

考慮到對帳過程中可能會遇到的來自上遊渠道的問題或平臺系統自身問題,需要設計重置機制。

上遊渠道對帳單錯誤,需求二次或多次推送,所以需要設計重新下載渠道對帳單或重新上傳渠道對帳單;有可能平臺自身數據錯誤導致出現大量的差異訂單,修復後需要重新對帳。

4. 對帳任務詳情示例

對帳信息:記錄對帳任務基本情況;對帳結果信息:顯示關鍵對帳欄位值;掛銷帳信息:顯示是否有掛銷帳訂單及金額;對帳異常信息:顯示是否有對帳異常訂單及金額;備註:將系統自動處理的過程記錄,也可以手動修改。

四、對帳單下載

1. 獲取文件

渠道對帳單獲取方式,一般提前作為任務規則寫死。

大多數銀行都要求接入方提供ftp服務,銀行定時將對帳單推送到接入方提供的ftp伺服器上面;

還有一部分銀行會提供對帳單的下載服務,通過ftp/http的都有,ftp方式居多;

另外網銀的對帳單比較特殊,一般都需要結算登錄網銀的後臺管理系統中,手動下載,結算下載完對帳單後在導入到對帳系統。

2. 判斷文件是否存在

任務自動獲取文件的情況下需要判斷任務是否存在:

自動獲取渠道對帳單:不存在需要設置輪詢,每間隔一段時間重新獲取。重試次數和間隔的設置需要小心,重試太頻繁,容易把伺服器打死.;時間間隔太大,又會阻塞後續處理步驟。5~10分鐘是一個合適的重試間隔區間。

手動導入渠道對帳單:要設計導入入口,導入成功後任務狀態也要做相應的變更。

3. 下載文件

技術實現上可以做成工廠模式,不同的支付渠道有不同的下載類,如果是http接口將文件寫入到對帳單,如果是ftp伺服器,將伺服器中的對帳單下載到本地帶解析的目錄中。主要涉及的代碼ftp工具類、http(s)工具類,相關IO讀寫。

4. 判斷來源渠道

獲取到上遊對帳單文件後,很有可能多個渠道的對帳單在同一個SFTP地址,根據文件名匹配到對應的對帳任務,文件名一般會包含帳單時間、渠道商戶號,然後再執行下一步。

五、文件解析

1. 解析文件

解析文件主要是將下載的對帳文件解析成我們可以對帳的數據類型並且入庫。

解析的文件不同渠道有不同的類型,因此也可以設計成不同的解析模板,使用工廠模式將不同格式的文件解析成可以對帳的統一數據類型。

解析的文件類型一般包括:json、text、cvs、excle等,另外部分銀行會對帳單做加密或者提供zip打包的格式,這裡就需要額外開發zip工具類和加解密工具類進行處理。

對帳文件中包含的主要信息有:商戶訂單號、交易流水號、交易時間、支付時間、付款方、交易金額、交易類型、交易狀態這些欄位。

2. 轉換入庫

每個渠道的帳單格式都不盡相同, 在得到帳單後,下一步是對帳單做標準化處理,這樣軋帳以及後續工作就可以統一處理了。

標準化後的帳單數據可以放在文件系統或者資料庫中,這取決於交易數據量;每天百萬以上的量,還是使用文件系統,比較合適,資料庫操作相對比較慢,也浪費資源。

基於文件系統的標準化涉及如下內容:

文件格式標準化統一使用csv或者json或者xml格式,如果是使用hadoop或者spark來對帳,也可以使用csv。文件存儲統一化文件目錄,文件名都需要遵循統一命名規範。

六、對帳單處理

1. 獲取對方對帳單

將事前準備的上遊對帳單標準文件放入緩衝對帳池。

2. 獲取我方對帳單

本地交易記錄的準備,總的來說有如下方法:

啥都不做,直接用訂單表的原始數據:鑑於大部分系統使用的是MySQL,這也意味著在MySQL上做對帳。對帳時需要大量的數據查找工作,必然會影響線上業務。在數據規模較大,比如超過100萬時,就不太合適了。

使用備庫來執行對帳:這樣既簡單,也不影響線上業務,這是典型的空間換時間的做法。

採用分表分庫對帳:如果業務大到需要分表分庫才能處理,那對帳數據準備也不一樣。

3. 逐一匹配

前文有提到對帳方式有三種,不對帳、以渠道為準、以平臺為準,大部分的情況下的對帳方式都以渠道為準,信息流的傳遞方向,支付成功結果是由上遊渠道通知平臺的,平臺很有可能會因網絡或系統問題而沒有收到通知。

一般按照交易金額、交易狀態、手續費金額逐一匹配,對帳方式選擇以渠道為準的處理邏輯為例:

1)交易金額不匹配:記入異常訂單。

2)交易狀態不匹配:若上遊為支付成功,我方為未支付或支付失敗,則以上遊為準。

若我方訂單為支付成功,上遊只會推送支付成功的訂單為對帳單,上遊對帳單不存在的情況,將我方訂單記入為掛帳訂單;若上遊對帳單存在,我方不存在的情況,記入異常訂單。3)手續費金額不匹配:記入異常訂單。

4. 掛銷帳處理

常會存在因日切時間點不一致或網絡延時等情況,導致我方平臺訂單時間與上遊渠道時間不一致,同一個訂單在渠道交易時間是1月1號,但在平臺是1月2號。

掛帳,對帳時若上遊無我方有,訂單放入掛帳訂單中。銷帳,若匹配中掛帳訂單匹配上了,記錄為當日平臺帳單,掛銷帳狀態改為已銷帳。

七、差錯處理

關於差錯流程,每個系統的業務特性、運營團隊流程、公司財務管理辦法不一樣,不能生搬硬套,但原則是一樣的,所有的異常訂單的報銷帳必須有理有據,多重審核。

1. 異常原因

(1)若出現訂單金額不一致的情況,一般是平臺調用上遊交易接口時,雙方欄位的定義不匹配導致的。

(2)若出現手續費金額不一致的情況,一般是平臺手續費計算規則和上遊不匹配導致的,差額不會太大,可以設計閥值若在可以接受的範圍類不計為異常。

(3)若出現上遊對帳單存在,平臺訂單不存在的情況,通常是有第三方繞過平臺系統與上遊系統發生支付或退款交易。需要及時核查是否存在交易密鑰洩露或被繞過商戶去上遊系統平臺操作。

2. 修正

選擇以平臺為準或以上遊為準,修改訂單金額、訂單狀態、手續費金額。此時寫入修正原因很重要,便於後期業務追蹤考求。

3. 平帳

將平臺異常訂單狀態改為平帳,並將平帳時的時間作為帳單時間,合入至平臺帳單。平臺會根據平臺帳單計算渠道分潤金額和商戶結算金額。

八、業務規則系統化

最後,每個平臺產品細節都會有其特定的業務規則,就不具體說明平臺頁面和和平臺操作功能,筆者不做詳情說明。以上業務規則系統化,系統流程圖如下,讀者可以結合自己平臺業務情況提取細化。

本文由 @Jamie Gao 原創發布於人人都是產品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基於CC0協議

相關焦點

  • 如何設計進銷存系統的財務模塊(2)——對帳與報表
    編輯導語:進銷存系統是為了對企業生產經營中進貨、出貨、批發銷售、付款等進行全程進行(從接獲訂單合同開始,進入物料採購、入庫、領用到產品完工入庫、交貨、回收貨款、支付原材料款等)跟蹤、管理而設計的整套方案。接下來,本文作者為我們講解了如何設計進銷存系統的對帳與報表。
  • 支付系統設計:對帳處理(二)
    為了加快處理速度,我們使用hdfs作為文件系統,有利於後續的對帳的處理。本地交易記錄準備本地交易記錄的準備,總的來說有如下方法: – 啥都不做,直接用原始數據。鑑於大部分系統使用的是mysql,這也意味著在MySQL上做對帳。對帳時需要大量的數據查找工作,必然會影響線上業務。
  • 支付系統設計:對帳處理二
    對帳系統的工作,是發現有差異的記錄,即軋帳;然後通過人工或者自動的方式,解決這些差異,即平帳。對電商系統來說,每一筆交易,在所有相關主體側都要能對得上:交易主體,如果發起人是個人,必須能夠從個人交易歷史記錄中找到這筆交易。但大部分人不會保留電子記錄,所以一般是提供可以下載的帳單或交易記錄,讓用戶自己對去。交易對手,一般是商戶。商戶側對帳處理同用戶側,也僅僅提供對帳單。
  • 電商交易系統:財務記帳與對帳思考
    本文總結分析了財務系統的作用、結構、如何對帳,以及財務系統與帳戶系統的關係/協作,帳戶系統如何對帳等方面的內容,希望能給你帶來啟發的思考。翻閱前人的文檔發現,多年前,公司在搭建支付平臺時其實考慮過建立一套帳務系統來滿足記帳的需求,從現在來看雖然當時考慮的比較片面,最終也只是作為客戶的帳戶在使用。
  • 電商平臺是如何與多家支付公司對帳的?
    現在的電商平臺一般會接入多家支付公司的支付產品,如支付寶、微信、銀聯等,那麼接入多家公司的產品,是如何對帳的呢本文以電商為例,講解商戶如何與多家支付公司對帳。一、為什麼要對帳?對帳其實是對一定周期內的交易進行雙方確認的過程,一般都是在第二天第三方支付公司對前一日交易進行清分,生成對帳單供電商平臺下載,並將應結算款結算給電商平臺。
  • 後端產品經理:一套系統從無到有的設計
    業務系統設計的流程業務系統從無到有的設計,是有一套標準範式可以遵循的。實際上,隨便一套《軟體工程學》教程,講述的都是業務系統的設計,但是軟體工程已經不滿足當前時代對專業人員的培養和要求。清晰的系統定位,並劃清邊界,可以讓彼此具備足夠的獨立性,是系統靈活性和可擴展性的基本前提。2. 整體架構設計現在,需要考慮分銷平臺的三個子系統,以及如何與公司的整體應用架構融合問題。公司經過多年發展,系統架構體系已經非常完備,大量公共組建和模塊可以復用,這樣就減輕了新平臺的實現成本和難度。
  • 訂單系統:財務收入對帳
    關於收入部分的對帳由於財務收入的對帳與產品設計的訂單系統、交易系統是息息相關的,本篇文章以描述收入部分業務訂單與交易資金對帳時會計流程與核對內容為主,為產品經理在設計訂單系統、交易系統或對帳平臺欄位設計和定義時提供一些參考。關於收入資金對帳:是將系統保存的訂單流水和銀行返回的清算流水行對帳。
  • 財務系統:資金對帳(一)
    每月關帳前,都會進行對帳,每次對帳都會持續一周,混亂爆肝的一周。由於公司業務多樣性,交易量大,線上線下業務都有;因此目前財務系統-對帳模塊分為門店對帳、大客戶對帳、資金對帳、收入成本核對等。本文主要分享資金對帳,資金管理相關的內容,包括資金流水的生成及核對還有日記帳的生成。
  • 網際網路支付系統整體架構詳解
    不論你是對支付行業感興趣,亦或自己研發支付系統,本篇內容會對你有價值。從產品分類、模塊功能和業務流程,了解支付產品服務的設計支付產品模塊是按照支付場景來為業務方提供支付服務。這個模塊一般位於支付網關之後,支付渠道之前。它根據支付能力將不同的支付渠道封裝成統一的接口,通過支付網關來對外提供服務。
  • 支付系統詳解(上篇):帳務系統
    相應的,帳務系統本身也可以分成針對外部帳戶的帳務系統和會計系統,這樣的設計可以更快的實時的響應用戶帳戶資金的變化。不過這裡還是以兩者合一的帳務系統為例,雖然本質上沒有什麼區別,但個人覺得這樣更為貼合記帳的實際情況。
  • 浙江大學附屬口腔醫院實例:如何構建統一支付系統並實施精細化管理
    而目前,我國行動支付逐漸超過了傳統的現金支付、刷卡支付,成為當今社會主流的支付方式。在信息化的時代背景下,許多醫療機構在院內也引入了行動支付渠道,通過線上與線下的結合,為患者提供更優質的服務。「無現金時代」的到來,對醫院財務及信息部門提出了新的挑戰,即如何在使患者獲得更好就醫體驗的同時,保障支付及財務數據的安全。浙江大學醫學院附屬口腔醫院是一家公立三級甲等口腔專科醫院。
  • ...實踐分享2:SaaS租戶、資金帳戶、財務帳套、記帳及對帳系統架構...
    本文作者從實際工作實踐出發,結合案例等分享了電商金融支付財務融合中的基本概念和相關原理解析,包括:SaaS租戶、資金帳戶、財務帳套、記帳及對帳系統架構設計,與大家分享,希望通過此文能夠加深你對金融支付財務相關業務的認識。
  • 聚合支付管理平臺讓您對帳更加清晰
    隨著行動支付的發展,聚合支付成為行動支付領域裡的主流呈現方式,越來越多的商家企業開始使用聚合支付平臺,聚合支付除了提供高效的支付接口的解決方案以外,還提供了帳目管理等管理功能。簡單來說,聚合支付平臺支持多層級的連鎖商戶一體化管理,包括數據合併、財務對帳等功能,為商家和消費者帶來更臻於至善的使用體驗。比如聚合支付平臺後臺可以清晰記錄帳目來源,交易明細情況,是從支付寶收的款還是微信收的款,或是從其它支付方式收的款,都可以清晰記錄,清晰查看。清晰的帳目報表,讓財務管理更加方便。
  • 支付系統中,帳戶體系的設計與記帳處理
    帳戶體系和會計的設計是整個支付系統的底層基礎,是支付系統在基礎支付服務的基礎上,為個人用戶及企業商戶提供的對於資金收、付、管的服務。在明細科目中,根據需要設計二級科目、三級科目。其中,沒有下級的科目稱之為葉子科目。註:只有葉子科目下才可以開帳戶。
  • 愛貝雲計費:為三星Galaxy C系設計一整套交易支撐系統
    原標題:愛貝雲計費:為三星Galaxy C系設計一整套交易支撐系統   5月底,「Create for China」的三星Galaxy C系手機面世。全金屬一體設計、輕便系統、高清音質、拍照及沉浸式的遊戲體驗,每一項細節都如其文案所描述,把控的「剛剛好」。被大量媒體譽為「誠意之作」的C系,真正把用戶最關注的整機設計和功能體驗做到了極致。
  • 以在線教育公司為例,如何做一款財務對帳產品?
    筆者以一個虛構的在線教育公司的對帳業務為背景,分享了怎麼做對帳產品以及對應的設計要點。隨著業務的爆發性地增長,業務訂單量太大,人工對帳過於耗時和繁瑣,就到了需要通過產品方案來解決,實現自動化對帳。適讀對象本文是四勾作為一名產品,通過產品方案來實現自動化對帳的產品實踐,比較適合對對帳財務專業知識和對帳工作流有一定認知,但就是不知道如何下手的產品經理。
  • 用完李會計的可自動進銷存對帳系統,同事:又是一「逆天」工具
    企業在日常業務開展中,經常會遇到明細不清晰、憑證遺失、財務與庫存對帳不符等問題,導致與客戶或者供應商之間爭吵不斷,從而流失客戶,這對企業來說損失特別大。但是最近我們公司新來了一個李會計,一來看這情況直接拿了一套自帶公式、可自動計算、盤底對帳、往來對帳、銷售量、銷售額全方位的管理系統。平時工作5小時都完成不了的,用這個5分鐘就搞定,同事直呼:又是一「逆天」工具!
  • 微眾信科獲問詢:要求對徵信科技系統和對帳情況作出說明
    挖貝網 11月27日,深圳微眾信用科技股份有限公司(簡稱「微眾信科」)近日對上交所問詢函關於部署於銀行系統內的徵信科技系統如何獲取提供徵信報告的數量,發行人後臺無法獲取日均貸款餘額情況下如何實現與銀行客戶的對帳,發行人對帳過程的內控措施是否健全的問題進行回復。
  • 紐西蘭跨境聚合支付系統介紹
    Merchant Service集合了支付API,支付網關通知及merchant portal的所有功能,是系統的核心服務;Trade Service為公司內部交易管理系統提供服務;Notify Service不是支付回調的通知服務,支付通知回調功能在Merchant Service中實現。Notify Service是用在微信公眾號通知商戶收到消費者支付。
  • 「探索」統一支付平臺在醫院行動支付改革中的應用實踐
    而目前,我國行動支付逐漸超過了傳統的現金支付、刷卡支付,成為當今社會主流的支付方式。在信息化的時代背景下,許多醫療機構在院內也引入了行動支付渠道,通過線上與線下的結合,為患者提供更優質的服務。「無現金時代」的到來,對醫院財務及信息部門提出了新的挑戰,即如何在使患者獲得更好就醫體驗的同時,保障支付及財務數據的安全。浙江大學醫學院附屬口腔醫院是一家公立三級甲等口腔專科醫院。