支付系統(tǒng)流程和典型架構設計
時間:2023-03-14 15:18:02 | 來源:電子商務
時間:2023-03-14 15:18:02 來源:電子商務
支付業(yè)務的核心流程1、支付應用根據(jù)用戶選擇的支付工具來調用對應的支付產品來執(zhí)行支付。
2、支付產品通過支付網關根據(jù)支付工具、渠道費率、接口穩(wěn)定性等因素選擇合適的支付渠道來落地支付。
3、支付渠道調用銀行、第三方支付等渠道提供的接口來執(zhí)行支付操作,最終落地資金轉移。
支付系統(tǒng)的典型架構支付工具支付工具是由銀行或者其他支付機構發(fā)行的,能夠發(fā)起支付指令,用于債務清償或者資金轉移的證件,比如支票、匯票、本票、銀行卡等。
在金融機構中,支付工具一般分為三類:
貸記支付工具:資金被劃入銀行應收賬戶
借記支付工具:結算資金轉移反映在銀行賬戶上是債務的減少
通用支付工具:銀行卡、電子支付(例如微信、支付寶)
支付應用狹義來講是指提供給最終用戶在特定場景下使用的產品。
比如掃碼收銀、二維碼支付、打賞、眾籌、POS支付、生活繳費、信用卡返款、手機充值等。這些應用是建立在支付產品的基礎之上,直接面向最終的用戶提供服務。
廣義來講,可以按照使用對象分為針對最終用戶的應用、針對商戶的應用、針對運營人員的運營管理、BI和風控后臺等。
支付核心系統(tǒng)設計原則支付網關、支付產品和支付渠道的職責分工為:
1、按照支付能力來劃分支付產品。
2、同一支付能力的公共支付流程,在支付產品中實現(xiàn)。支付產品提供的是和支付渠道無關的、和支付能力流程相關的功能。
3、支付產品中,和支付能力無關的公共功能,在支付網關上實現(xiàn)。
支付網關支付網關是對外提供服務的入口,它將支付產品接口中和業(yè)務無關的功能提取出來,在這里統(tǒng)一實現(xiàn),支付網關本身并不執(zhí)行任何支付相關的業(yè)務邏輯。
在支付網關上實現(xiàn)的主要功能:
API路由。在聚合支付場景下,當有多個支付產品可以提供支持時,使用支付網關可以讓接入方對接時無需考慮支付產品的部署問題。
接口安全:熔斷、限流與隔離。這對支付服務來說尤為重要。這是微服務架構的基本功能,本文不做描述。
支付產品支付產品模塊是按照支付場景來為業(yè)務方提供支付服務,在架構上位于支付網關之后,支付渠道之前。它根據(jù)支付能力將不同的支付渠道封裝成統(tǒng)一的接口,通過支付網關來對外提供服務。所以,從微服務的角度,支付產品本身也是一個代理模式的微服務,它透過支付網關響應業(yè)務方請求,進行一些統(tǒng)一處理后,分發(fā)到不同的支付渠道去執(zhí)行,最后將執(zhí)行結果做處理后,通過支付網關再回傳給業(yè)務方。
支付產品中實現(xiàn)的主要功能:
風控攔截:風控是和支付產品有關,不同產品的風控措施、處理對策也是不同的,所以風控是在產品層實現(xiàn)。
支付路由:路由也是和產品有關。不同產品路由策略也不同。
參數(shù)校驗:這也是和支付產品相關的,不同的產品接口其參數(shù)也不同。
支付流程:生成交易記錄、落地渠道執(zhí)行支付、同步和異步通知等操作。
如下功能,可以在產品層也可以在網關層實現(xiàn):
身份驗證:確認付款方、收款方、渠道是否有執(zhí)行當前操作的權限。在那一層實現(xiàn)取決于這些信息是否有提煉為公共行為。
驗簽:對接口參數(shù)進行簽名并驗證其簽名。這是為了避免接口被盜刷和篡改的必要手段。如果對各個接口采用統(tǒng)一的簽名規(guī)則,則可以在網關層實現(xiàn)。
支付渠道支付渠道模塊是調用支付渠道接口執(zhí)行真正的資金操作。
支付核心系統(tǒng)交易請求數(shù)據(jù)流1、支付請求被發(fā)送到支付網關。網關對這個請求進行一些通用的處理,比如QPS控制、驗簽等,然后根據(jù)支付請求的場景(網銀、快捷、外卡等),調用對應的支付產品。
2、支付產品對用戶請求進行預處理,包括執(zhí)行參數(shù)校驗、根據(jù)支付路由尋找合適的支付通道、評估交易風險、生成訂單、調用渠道落地執(zhí)行支付、響應渠道的結果并將交易結果通知到商戶側。
3、支付產品調用支付渠道執(zhí)行支付。這個請求并不是直接落地到渠道上,而是通過支付渠道前置來封裝,由支付渠道前置來完成和渠道的交付。支付產品是按照可以提供的支付服務來設計的。
4、支付渠道前置,負責和支付渠道之間的通訊,調用支付渠道接口完成最終的支付操作。