1.支付應用根據用戶選擇的支付工具來調用對應的支付產品來執行支付。
支付工具是由銀行或者其他支付機構發行的,能夠發起支付指令,用於債務清償或者資金轉移的證件,比如支票、匯票、本票、銀行卡等。
在金融機構中,支付工具一般分為三類:
貸記支付工具:資金被劃入銀行應收賬戶
借記支付工具:結算資金轉移反映在銀行賬戶上是債務的減少
狹義來講是指提供給最終用戶在特定場景下使用的產品。
廣義來講,可以按照使用對象分為針對最終用戶的應用、針對商戶的應用、針對運營人員的運營管理、BI和風控後台等。
支付網關、支付產品和支付渠道的職責分工為:
1.按照支付能力來劃分支付產品。
支付網關是對外提供服務的入口,它將支付產品介面中和業務無關的功能提取出來,在這裡統一實現,支付網關本身並不執行任何支付相關的業務邏輯。
在支付網關上實現的主要功能:
API路由。在聚合支付場景下,當有多個支付產品可以提供支持時,使用支付網關可以讓接入方對接時無需考慮支付產品的部署問題。
支付產品模塊是按照支付場景來為業務方提供支付服務,在架構上位於支付網關之後,支付渠道之前。 它根據支付能力將不同的支付渠道封裝成統一的介面,通過支付網關來對外提供服務。所以,從微服務的角度,支付產品本身也是一個代理模式的微服務,它透過支付網關響應業務方請求, 進行一些統一處理後,分發到不同的支付渠道去執行,最後將執行結果做處理後,通過支付網關再回傳給業務方。
支付產品中實現的主要功能:
風控攔截: 風控是和支付產品有關,不同產品的風控措施、處理對策也是不同的,所以風控是在產品層實現。
如下功能,可以在產品層也可以在網關層實現:
身份驗證: 確認付款方、收款方、渠道是否有執行當前操作的許可權。 在那一層實現取決於這些信息是否有提煉為公共行為。
支付渠道模塊是調用支付渠道介面執行真正的資金操作。
1.支付請求被發送到支付網關。網關對這個請求進行一些通用的處理,比如QPS控制、驗簽等,然後根據支付請求的場景(網銀、快捷、外卡等),調用對應的支付產品。
本文參考「鳳凰牌老熊」、「梁川」、「路楊」、「叉一」等相關支付系統架構設計文章結合自己支付系統設計經驗整理。