詳解 | 計費系統之渠道對賬
如何搭建計費系統的渠道對賬功能?這篇文章里,作者結合自身經驗,從需求背景、需求分析、產品方案、等幾個維度做了拆解和總結,一起來看看吧,或許會對想了解支付、計費系統設計等方面內容的同學有所幫助。
作者結合在支付領域工作一年的經驗,并結合在跨境支付公司的實際項目和理論知識,對計費系統的渠道對賬功能搭建進行詳細闡述;供大家學習和參考。
一、需求背景
目前渠道對賬是資金根據渠道側給的文件腳本生成,為方便資金更快的查看處理對賬結果,上線渠道對賬功能;同時核對渠道側和我方交易側的賬單明細后將,渠道對賬面板功能將結算金額按照計費規則拆解成費用項展示在面板上方便后續計費。
二、需求分析
1. 目的
是確保所有交易都被正確無誤地記錄在賬戶或賬單上,獲取渠道和交易側的匹配情況,方便資金處理對賬結果,同時對無誤的賬單明細渠道對賬后根據計費規則羅列對賬單具體的收費項總的費用;
2. 跨境支付的渠道對賬的內容
對的是賬單明細和總額,由于wechat和alipay渠道目前只有支付,無退款;所以這兩個渠道只對支付明細;對退款不進行對賬。
- 對明細:對的是渠道金融機構拿到的報表(明細)和公司數據庫里的交易明細對賬;最終顯示的條目只展示交易側和渠道側的明細需要匹配多少條,成功匹配了多少條;未匹配多少條;
- 對總額:最終展示在頁面上的是無差異賬單明細中每個收費項的總額;不同的渠道匹配規則不同。主要展示結算總金額信息、和計費相關的具體收費項金額信息。
3. 對賬時間和文件獲取
1)文件上傳模式:由于渠道側的賬單明細無法從數據庫直接獲取,是渠道那邊發給我們的excel文件,因此;我們通過上傳文件的形式進行匹配;支持excel\csv文件上傳。
2)對賬時間:由于負責資金的同事在中國,結合工作習慣以北京時間為準進行對賬,每日0點,根據渠道側的不同的幣種,系統自動生成待上傳賬單的基本表頭信息的條目;即根據幣種不同顯示渠道待上傳的條目。
- 考慮提前生成腳本的好處:由于是對賬文件是人工上傳,系統根據渠道所支持的幣種多少,對應生成多少條目;這樣根據幣種來劃分方便后續資金結算;同時避免上傳的文件有誤;
- 由于負責資金的同事在中國,所以對賬時間按照中國時間為準,但公司總部在國外的話結算日期按照總部所在國家為準,即當結算周期遇到節假日時,按照國外的節假日為準。
4. 文件解析
- 北京時間0點系統按照渠道的結算幣種數量生成對應的渠道對賬條目,次日資金上傳從渠道那邊獲取的excel文件,通過人工上傳進行對賬;
- 由于渠道側的文件來源于不同渠道方給的excel文件;文件取名或內容格式不一,因此該功能對上傳的文件名格式不做限定;但是文件中字段的內容需要和渠道方核實,做格式兼容處理。
上傳完成后系統自動解析,解析完成后對應以下幾點:
1)當解析成功時,彈出彈窗【解析成功,是否開始對賬】。
2)當解析失敗時,有幾點原因導致:
- 上傳文件內容格式有誤——找渠道側確認文件內容;
- 上傳的文件內容重復——需要把歷史上傳的文件刪除后才能二次上傳;
- 網絡加載錯誤。
5. 對賬匹配規則:以渠道側數據為準
1)交易側的匹配賬單以當天賬單的post_time字段為準進行匹配
比如10.17號獲取賬單、其賬單內的post_time記錄的是5.10號,則對應在系統中生成的條目是匹配時間是5.10號;開始對賬時間是10.17號。
2)渠道側和商戶側的賬單明細按照PI號進行匹配
“PI號”是指付款信息號碼(Payment Instruction Number),通常用于跟蹤和匹配交易。PI號的達標意味著PI號字段的信息是準確、一致和完整的,這使得渠道側和交易側的賬單能夠按照PI號進行匹配。
3)幣種和對賬條目一一對應
由于渠道涉及多幣種;考慮到不同幣種匯率差異會導致對賬金額不一致;隨意不同渠道的對賬條目按照幣種劃分;即以wechat為例,涉及到結算幣種由GBP、HK和USD;即0點時系統準備拉取交易對賬腳本,按照幣種數量生成對應的條目,當天資金上傳渠道側文件時,同一份文件按照幣種不同上傳三次,每一次只解析和對賬幣種所對應的賬單。
6. 對賬結果
1)匹配無差異:平賬;無需處理。
2)匹配有差異:對賬金額不一致即交易或渠道的某一側少錢。
由于具體的收費項是根據計費規則確定的;影響最終收費項金額的因素由:費率、匯率、費用計算公式,結算金額、和系統等因素組成。
① 時間差導致:由于不同地區和國家之間的時差和時區差異,會導致交易日期和時間的不匹配。
解決方案:對上傳的渠道側的數據,該日未對平的數據在數據庫中回溯七天;并在差異處理中記錄該條數據,如果七天內對平了該數據最終,則差異處理中該條數據自動刪除;如果七天后仍未對平,則系統不再回溯,差異處理功能中仍會顯示該條信息,對賬結果顯示有差異;狀態顯示待處理。
② 通信問題:由于渠道對賬涉及多個系統和平臺之間的數據傳輸,會存在通信問題,可能導致交易數據未能正確傳遞或同步,從而引起不平賬。
解決方案同上。
③ 匯率差異:在跨境支付中,涉及不同貨幣的交易可能會受到匯率波動的影響。如果匯率不一致或不準確地應用于交易,可能會導致金額不匹配,從而引起不平賬。
上線匯率面板功能,將匯率和計費系統聯動;匯率面板中的數據每日從從中國銀行和海云匯中直接拉取。當發掘拉去的匯率不合適時,支持人工修改。
7. 對賬完成后的結果處理
對賬完成后,會在【對賬明細】字段中顯示匹配結果,即交易側和渠道側的各自明細要匹配多少條;在【匹配結果】字段中顯示成功匹配了多少條;有差異的有多少條;需要回溯的有多少條。
注:需要回溯的數據是指渠道側或交易側某一側有這條數據;另一側沒有獲取。
- 由于對賬時間是以的post_time時間為準;獲取的是post_time當天的渠道側賬單明細數據;當對賬完成后,功能頁面顯示改天各收費項明細的總金額;方便內部人員知道公司在渠道這邊計費相關的財務狀況;
- 對賬完成后,支持系統對渠道側和交易側對賬結果賬單的下載;同時系統會把對賬結果的excel文件自動推送的到通知群里,文件包括渠道側、交易側的對賬結果明細以及差異處理的文件。
注意:下載的文件中除了包括原始的賬單明細外,還要加上對賬的匹配結果字段,以及對需要回溯的數據,后面加上回溯天數。
差異處理:對賬完成后,對有差異的賬單明細系統推送給到差異處理功能中;去處理差異;同時也會生成excel文件自動發送到通知群里;提醒工作人員去處理。
① 對由于時間差異導致交易側數據未錄入,需要等待回溯的訂單,回溯完成后渠道自動對賬,對平后,差異處理面板中該條數據系統自動刪除,如未對平則保留該條;等待差異處理。
② 差異處理面板中的數據處理完成后,數據重新進入對賬流程和交易側數據進行對賬,直到賬單對平為止。進入對賬流程還是以該渠道的post_time時間為準。
8. 下載與推送文件格式
- 渠道側的文件命名:渠道名_matched_report_年_月_日
- 交易側的文件命名:渠道名_Merchant_matched_report_年_月_日
- 差異明細的文件命名:渠道名_差異明細_年_月_日
三、產品方案
渠道對賬涉及到的渠道:不同渠道匹配規則不同,現以wechat和Alipay+渠道為例。
1. 頁面信息展示
1)搜索欄
① 渠道名稱:可選擇wechat 和Alipay+。
② 結算幣種:來源于渠道側給到的結算幣種,我方從賬單報表中進行提取可得:
- Wechat結算幣種對應GBP/USD/EUR
- Alipay的結算幣種對應HKD/GBP/USD/EUR
注:即根據前面【對賬時間】中關于對賬條目獲取的規則描述,可知,在次日0點時,系統根據渠道對應幣種數量自動生成對應的條目;每一個條目需要上傳一次渠道對賬文件;待此時工作時間資金上傳渠道報表,按照比重條目生成對應的對賬結果數據。
③ 時間:由于渠道側和交易側的對賬是根據匹配對應時間進行對賬,所以時間按照匹配對應時間獲取相應的條目。
2)信息欄
① 渠道名稱
② 結算幣種
③ 匹配對應時間:按照渠道側和交易側文件中的post_time時間對應
④ 賬單解析狀態:解析成功&解析中&解析失敗
⑤ 賬單筆數:分別顯示渠道側和交易側對賬文件中各自有多少條目;即顯示渠道側:200條;交易側:200條
⑥ 對賬結果:顯示:對平:XX條;待回溯:XX條;差異處理:XX條。
待回溯指的是交易側由于匯率時間差或其他原因還沒有接收到對應的賬單條目;需要等待一段時間才會顯示。
⑦ 渠道側總額:由于匹配的賬單明細都是同一天,故渠道側總額等于當天渠道側賬單明細的所有條目交易總額;同理交易側總額等于交易側賬單明細所有條目的交易總額=tran_amount字段之和
⑧ 文件上傳時間:為資金開始操作對賬時間
⑨ 操作人:操作對賬對應的工作人員名稱
⑩ 管理:詳情/差異處理/下載賬單/重新解析/刪除
- 詳情:由于渠道除了為將賬對平,方便資金人員了解財務狀況及后續審計外,對公司側我們該環節的目的是將公司渠道計費涉及到的費用項提出,方便老板了解渠道側財務狀況;故詳情中重點羅列;
- 差異處理:同一匹配對應時間下,同一渠道下上傳渠道文件后,按照渠道下幣種數量生成條目,對應幣種下有差異的賬單明細進行差異處理;
- 下載賬單:對賬完成后,支持下載對賬后的渠道賬單和交易賬單 i 下載的渠道賬單和交易賬單在原文件的基礎上新增對賬結果字段以及回溯天數字段(需要回溯的顯示回溯天數,不需要的顯示—);
- 重新解析:由于網絡加載錯誤等原因導致需要重新上傳解析的,可以點擊重新解析按鈕,避免二次上傳文件;
- 刪除:資金會出現對同一天的渠道文件進行二次上傳的場景,二次上傳時必須把前一條上傳的文件數據刪除,才能二次上傳。
3)搜索欄
① 頁面信息展示:頁面一開始展示所有渠道的數據,按照渠道名稱首字母和匹配對應時間兩個條件倒敘配列
② 渠道:支持Wechat 和Alipay+搜索
③ 結算幣種:包括HKD/GBP/USD/EUR
④ 時間:選擇時間后對應【匹配對應時間】字段的的檢索結果
2. 每日0點系統按照渠道對應貨幣拉取條目
比如wechat渠道,對應結算貨幣有GBP/USD/EUR,即系統自動拉取三個條目。
3. 上傳解析
上傳渠道文件后解析過程提示分為解析成功和解析失敗。
① 解析成功:上傳—上傳中—正在解析—解析成功并判斷是否開始對賬—開始對賬—對賬成功/對賬失??;
- 對賬成功后,即可在對應條目上顯示計費信息;同時需要差異處理的賬單條目顯示在差異處理模塊中;
- 對賬失敗后,請重新上傳;——解析結果欄中顯示解析失敗。
② 解析失?。荷蟼鳌蟼髦小诮馕觥馕鍪?;
- 解析失敗,請重新上傳;
- 網絡加載超時,解析失敗請重新上傳;
- 文件內容格式錯誤,解析失敗請重新上傳。
4. 對賬完成后頁面展示的信息如上圖所示
5. 詳情
詳情中主要展示計費相關的信息條目;主要包括:
① 對賬信息:渠道名稱/匹配對應時間/結算幣種/文件上傳時間/賬單筆數/對賬結果;
② 渠道側賬單明細:即展示post_time當天從渠道側獲取的賬單中計費項的總金額,包括Total Settlement Amount/Total Acq_fee/Total Ic_fee/Total Scheme_fee/Total Other_fee/Total 3ds_fee/Total Settlement net Amount;
③ 交易側賬單明細:即展示post_time當天交易側(即公司數據庫中)獲取的賬單中計費項的總金額,包括Total Settlement Amount/Total Acq_fee/Total Ic_fee/Total Scheme_fee/Total Other_fee/Total 3ds_fee/Total Settlement net Amount;
④ 具體的費用項根據計費規則系統進行計算
部分渠道相關費用項,渠道側會算好給我們;有的渠道需要我們自己按照計費規則,系統進行計算。
6. 差異處理
1)差異處理頁面展示信息
① 信息欄:展示字段包括渠道名稱/匹配對應時間/訂單號/未匹配天數/訂單金額/渠道流水總金額/交易流水總金額/差異處理狀態/操作時間/差異原因/操作人/管理
訂單號:用于標識商戶或支付發起方系統中特定訂單或交易的唯一標識符。
注:如何根據訂單號追蹤PI號:
獲取訂單號和相關支付信息:首先,您需要獲取包含訂單號的商戶或支付發起方的相關交易信息。這可能是從您的系統中提取訂單號,或者從商戶或客戶提供的相關信息中獲取。
查找相關支付交易:使用訂單號,您可以聯系相關的支付渠道或銀行來查找與該訂單號相關的支付交易。這通常涉及與支付渠道或銀行的客戶支持或運營團隊進行聯系。
確認PI號:一旦找到相關支付交易,您可以請求支付渠道或銀行提供與訂單號相關的PI號。PI號通常可以在他們的支付指令或結算文件中找到。它是用于跟蹤國際支付和結算的重要標識符。
進行對賬或差異處理:一旦獲得了PI號,您可以將其用于對賬或差異處理。通過將訂單號與相關PI號關聯,您可以驗證支付是否已經成功處理,或者解決可能存在的不匹配或差異。
- 未匹配天數:由于交易側數據獲取滯后導致部分數據未匹配,故允許在數據庫中回溯7天;當回溯時間為第四天匹配成功時,未匹配天數=4;
- 訂單金額:即交易金額;
- 渠道結算凈額:由于該渠道只對支付,不含退款;且僅對訂單狀態處于成功時的訂單進行對賬;所以渠道結算凈額=結算金額-手續費
- 交易結算凈額:交易結算凈額=結算金額-手續費;
- 差異處理狀態:已處理、待處理和處理中;
- 操作時間:等于差異處理時間;
- 差異原因:差異取決于交易側金額、渠道側金額于訂單金額不一致和訂單狀態;故差異原因包括:交易側金額與訂單金額不一致/渠道側金額與訂單金額不一致/金額與訂單狀態不一致/渠道側與交易側金額不一致/匯率差異/交易側無數據;
- 管理:【差異處理】按鈕提交證據進行差異處理。
2)差異處理功能
- 訂單號:自動獲?。?/li>
- 上傳憑證:支持上傳原始交易記錄/三方支付渠道或銀行記錄/我方訂單和交易記錄/匯率信息/手續費信息等截圖;要求上傳JPG//PNG/JPEG格式,文件不超過20M;
- 差異處理記錄日志:上傳差異處理過程的操作日志/處理代碼等;
- 差異原因:系統自動給出的原因有交易側金額與訂單金額不一致/渠道側金額與訂單金額不一致/金額與訂單狀態不一致/渠道側與交易側金額不一致/匯率差異/交易側無數據;該字段需要在系統給定的基礎上加以補充。
注:差異處理中的數據包括:渠道側和交易側確實存在差異(即賬沒有對平)和交易側數據由于時間差未及時獲取而無法和渠道側匹配對賬造成的差異
①渠道側和交易側確實存在差異:給出差異原因并進一步追溯解決;
- 金額導致的差異:修改金額并提交支付憑證截圖;
- 系統導致的差異:迭代BUG后,提交差異處理證明;
- 匯率導致的差異:系統目前是每日線上從官方渠道拉取匯率值,若匯率不是想要的數值,后期支持手動修改,修正匯率。
②時間差未及時獲取而無法和渠道側匹配對賬造成的差異:系統預留出7天的回溯時間,七天內如果該明細和交易側對平了,則差異處理中該條記錄自動刪除,同時渠道對賬中的相關費用隨著也要變化——具體根據匹配的PI號和匹配時間確定對應條目。
7. 下載
支持下載渠道側和交易側的對賬結果明細;
① 對賬完成后,下載按鈕由置灰狀態變成可點擊狀態;同時選擇想要下載的賬單(支持多選)。
② 對賬成功后,除了頁面支持下載外,系統自動將交易和渠道側的對賬單明細以及差異明細文件發送到通知群中。
③ 下載與發送:
- 渠道側的文件命名:渠道名_matched_report_年_月_日
- 交易側的文件命名:渠道名_Merchant_matched_report_年_月_日
- 差異明細的文件命名:渠道名_差異明細_年_月_日
四、總結復盤
1. 針對項目的復盤
1)明確渠道對賬的目的
- 確保渠道提供商提供的賬單與實際交易記錄一致。
- 跟蹤和解決渠道側和交易側之間的不平賬或差異。
- 方便老板查看公司計費相關的財務狀況。
2)明確渠道對賬的內容:對的是渠道側和交易側的賬單明細;涉及的渠道是微信和支付寶;且目前渠道側只包含支付成功的賬單明細;故我們僅對訂單狀態處于success狀態的明細進行對賬。
3)明確渠道對賬的上傳解析規則&匹配規則。
4)明確計費項金額的規則:對應金額按照計費規則進行計算。
5)最終的結果展示。
2. 方法論復盤
1)明確目標—明確對賬業務邏輯和計費數據邏輯后:最后進行功能設計。
2)目標拆解
① 確保渠道提供商提供的賬單與實際交易記錄一致:
- 渠道側賬單明細和交易側賬單明細具體涉及的金額由哪些,進行對賬;
- 跨境國際對賬需要考慮幣種問題,不同的結算幣種對應的匯率不同,最終的結算金額也不同;
- 如何展示最終對賬結果——遵從交互邏輯簡單,清晰展示涉及到的信息。
② 跟蹤和解決渠道側和交易側之間的不平賬或差異:
差異處理:展示差異和設計差異處理功能。
③ 方便老板查看公司計費相關的財務狀況:老板想要了解計費相關的信息(涉及到公司的盈利情況);故而最好放在一起展示。
本文由@月月有??吃 原創發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自 Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
不錯
歡迎大家留言一起探討~作者是23屆碩士畢業生,畢業后在一家支付公司,由于和公司業務不匹配打算裸辭了~有想招支付清結算方向產品的朋友們可以考慮考慮我~謝謝大家~我畢業前在一家上市公司有過七個月的支付產品實習外加三個月的清結算產品經驗