聊聊電商平台的支付交易系統


一、關於定位

今天和大家分享支付交易相關的系統,這是一個和資金打交道的系統,承載着電商平台的購物車下單支付渠道網關訂單管理虛擬資金賬戶營銷優惠等重要業務,是電商平台不可或缺的系統。在不同的業務發展階段,支付交易系統需要的架構和投入的人力也不大一樣。

二、架構演進

1. 初期:單核階段

在平台發展初期,業務相對比較簡單,業務量也很小,一個系統就囊括了所有功能,很可能連部署都和其他功能混布。


這個階段的特點是:

  • 系統簡單開發快
  • 可擴展性差,無法快速滿足新商品支付的接入
  • 各個節點耦合度高,節點間多為事務性依賴,導致交易鏈路很長
  • 代碼越來越多,各個節點並行開發越來越困難

為了解決這些問題,決定將各個節點進行服務化,采用分布式系統架構,把支付交易的各個節點服務化到后端,用來支撐多個前端應用。

2. 中期:服務化

除了服務化,這個架構里還加上了交易訂單,把訂單拆分為商品訂單交易訂單,主要目的是讓支付和商品解藕,讓網關更加獨立,同時解決由於訂單信息變更帶來的觸發第三方渠道風控策略,導致無法支付的情況 ( 比如點擊過第三方支付,然后發生了訂單改價,那么同一個訂單號在第三方就不允許再次支付了 )


這個階段的特點是:

  • 緩解了1.0的問題
  • 分布式系統,保障分布式事務的數據一致性是難點,這里不做深入介紹,可參考

系統冪等以及常用實現方式

分布式事務演進

  • 跟着業務走
3. 后期:面向業務規則

3.0的支付交易系統應該是面向業務規則的系統,能夠滿足平台大多數的支付場景需要,業務規則可抽象,通過配置規則就能快速訂閱底層的支付基礎服務。

但這需要等業務發展到一定階段才可行。

三、支付網關

市面上有很多的渠道網關,那么渠道網關如何做選擇呢?我歸結為3個關鍵詞:主流穩定手續費

 

首先是主流,就是滿足大多數用戶的支付需求,市面上的網關巨頭如支付寶微信基本就是標配

然后是穩定,一般主流的支付渠道穩定性都沒有問題,但為了更好的容錯容災,多接入一些渠道進行備份也是好的選擇

最后是手續費,當交易量達到一定量級,你會發現每筆交易支付的手續費也是一筆不菲的支出,降低手續費就成了需要去解決的問題

如何降低手續費呢?

  1. 通過商務手段進行談判,同時接入一些中小渠道,一般這些渠道為了發展會有較高的談判空間;
  2. 在界面上可以降低高手續費渠道的展示位置,當然不能影響交易額
  3. 對於有交易額階梯價的渠道,通過渠道引擎自動調整交易渠道,對用戶無感知,但這需要交易有一定渠道特點才能達到效果

四、財務清算

財務清算包括對賬並產出會計報表,它的設計有一定會計知識門檻,在系統初期,一般團隊都會因為快速支撐業務發展,而遺漏了這方面的設計。

財務清算系統和支付交易系統在交易數據上是緊耦合的,為了讓兩個系統有比較清晰的系統邊界,盡可能的解藕,我們的思路可以是這樣的

  1. 建立會計科目體系,結合自身平台的特性,在這些主科目下建立分科目

     資產 = 負債+待清算+(收入-費用)
  2. 支付交易系統產生交易流水

  3. 財務清算系統把交易流水錄入到科目體系

  4. 財務清算系統和第三方對賬單對賬


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM