全栈工程师?
嗯.....目前并不是!

如何模塊化設計出款系統(三)

前兩篇文章介紹了出款系統的整體構成,以及其中的出款應用層和出款服務層,今天我們繼續往下看,出款服務層的下一層——出款業務層。

什麼是出款業務層?

首先來看看什麼是出款業務層?

出款業務層的職責是接受出款服務層的請求,生成出款訂單號(order id);根據不同業務類型需要,如用戶提現、商戶結算、商戶提現等,進行業務邏輯處理。

出款業務層主要包括三個模板:出款記賬模塊、出款路由系統、出款風控系統。

下面分別進行詳細介紹。

一、出款記賬

記賬在支付機構中是非常重要的一環。每一筆出款交易都對應着相應的記賬規則。記賬在支付系統中的重要性,我認為主要體現在:

  • 可以清晰了解每一筆資金的來源和去向;
  • 與銀行賬單流水進行核對;
  • 準確記錄用戶和商戶賬戶餘額的變動,保證賬戶餘額完全準確。

那麼哪些出款環節需要進行記賬呢?有兩種方案:

第一種:明確付款成功后才進行記賬。

各出款環節記賬情況為:

  1. 生成出款訂單:不記賬,但需要凍結髮起付款交易的用戶/商戶的賬戶餘額,用戶/商戶的可用餘額減少。如需收取手續費,還需凍結商戶的手續費賬戶餘額。
  2. 出款訂單更新為成功:需要記賬,即:付款渠道對應的銀行存款減少;用戶/商戶的虛擬賬戶餘額減少。
  3. 出款訂單更新為失敗:不記賬,但需要解凍用戶/商戶的賬戶餘額和商戶的手續費賬戶,恢復可用額度。
  4. 出款訂單成功后發生退票:需要記賬。退票是指原本銀行已經返回交易成功,但後面又告知交易失敗,實際款項並未到賬。這時候需要把原本已記為成功的賬務進行沖銷。即:付款渠道對應的銀行存款增加;用戶/商戶的虛擬賬戶餘額增加。

第二種:生成出款訂單時,進行記賬;如果出款失敗再沖銷賬務

各出款環節記賬情況為:

  1. 生成出款訂單:當作付款成功進行記賬,即:付款渠道對應的銀行存款減少;用戶/商戶的虛擬賬戶餘額減少。不需要再凍結用戶/商戶的賬戶餘額。
  2. 出款訂單更新為成功:無需記賬(因為生成出款訂單時已經進行了記賬)
  3. 出款訂單更新為失敗:需要記賬,將原本已記賬的賬務進行沖銷,即:付款渠道對應的銀行存款增加;用戶/商戶的虛擬賬戶餘額增加。
  4. 出款訂單成功后發生退票:需要記賬,將原本已記賬的賬務進行沖銷,即:付款渠道對應的銀行存款增加;用戶/商戶的虛擬賬戶餘額增加。

上面兩種方案,第一種方案涉及到凍結和解凍賬戶餘額,第二種則不需要凍結和解凍賬戶金額。具體選擇什麼方案,需要根據賬戶系統的設計來制定。

另外,記賬是根據訂單(order id)維度,而非交易單(transaction id)維度進行記賬的。這是為什麼記賬模塊放在出款服務層,而不是放在出款核心層的原因。

二、出款路由

出款路由是交易系統的核心繫統之一。

什麼是出款路由系統?我們可以通過分析出款路由的輸入-輸出得到答案。

  • 輸入:銀行名稱+賬戶類型(包括 儲蓄卡、信用卡、對公賬戶)+業務場景參數(如 商戶號、業務類型等)。
  • 輸出:交易渠道。這裡的交易渠道是指支付系統將出款交易指令發往哪個外部渠道來處理交易,如銀聯或網聯。

可見,路由的本質就是要解決這樣的問題:在具體某一交易場景下,篩選出最優的交易渠道。最優的關鍵標準是:提高出款交易成功率、提高用戶體驗和降低成本。

出款路由包括兩個部分:出款渠道屬性維護和出款路由規則管理。

乾貨!如何設計出款系統(三)

1. 出款渠道屬性維護

出款渠道屬性維護指維護出款渠道的基本屬性,包括:

  • 渠道限額:指渠道的最小和最大付款金額。這種限額是渠道規定的。
  • 渠道工作時間:指渠道每天支持的工作時間,例如早上8點到下午5點。
  • 渠道是否支持節假日:指渠道是否支持在周末或公眾假期正常運行。
  • 渠道是否支持對私、對公付款:渠道是否支持付款到個人儲蓄卡、信用卡,和 企業開立的對公賬戶。
  • 渠道對私、對公的支持銀行列表:以賬戶類型(儲蓄卡、信用卡、對公賬戶)為維度,渠道在各賬戶類型下的支持銀行列表。
  • 渠道狀態:指渠道當前是否可用。

當渠道發生異常時,需要將渠道的流量全部分流到其他可用的渠道上,這個過程可以稱為降級,即渠道從可用狀態變為不可用狀態。

在渠道運營中,渠道降級的速度和精準度是非常重要的,當渠道發生故障時,及時降級可以減少交易失敗帶來的損失。為了提高降級效率,降級操作可以由系統來自動完成,而無需人工發現異常后再人工操作降級。

系統自動降級是指,運營同學根據運營經驗,提前配置系統自動降級和恢復的規則和閾值,系統根據規則進行數據統計,當觸發閾值時,自動降級;當達到一定條件時,自動恢復為可用狀態。

乾貨!如何設計出款系統(三)

2. 出款路由規則管理

出款路由規則管理,指根據業務場景需要,配置渠道分流規則,以達到提高出款成功率、提高用戶體驗和降低成本的目的。

業務規則例如:交易金額(不同的交易金額區間,分流到不同的渠道)、商戶(不同的商戶發起的出款交易,可分流到不同的渠道)等。

那麼整體的出款路由篩選邏輯,應該是先判斷可用性規則,包括渠道狀態、渠道限額,首先保證交易成功率;然後再判斷業務規則,篩選最符合業務場景需求的渠道,例如:某些場景要求對到賬時效要求較高,那麼就必須選用快速到賬的渠道。

乾貨!如何設計出款系統(三)

三、出款風控

出款風控是指,對出款交易進行風險校驗,及時識別及攔截風險交易。

與出款服務層的風控校驗不同,服務層是對用戶的身份進行校驗,確認是用戶本人發起交易。

但是有可能這個用戶本身就是有問題的,因此出款業務層還需要從交易的角度,進行風控校驗,如交易設備號、交易頻次、交易金額等多維度的風控規則。不同的業務類型,本身存在的風險點不同,因此規則也有所不同。

根據一系列規則進行打分后,以分數作為依據得出結論,是繼續放行這筆交易,還是流入到人工審核環節,還是直接拒絕本次交易。

謝謝您的閱讀!如有任何疑問或建議,請留言,感謝!

相關閱讀

如何模塊化設計出款系統(一)

如何模塊化設計出款系統(二)

 

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何模塊化設計出款系統(三)》
文章链接:https://www.pmbear.com/archives/9427
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

大前端WP主题 更专业 更方便

联系我们联系我们