一張圖搞懂,渠道路由
在支付業(yè)務(wù)中,渠道路由是連接銀行、第三方支付機構(gòu)等持牌機構(gòu)的關(guān)鍵環(huán)節(jié),其復(fù)雜性和重要性常常令人望而卻步。本文將用通俗易懂的語言,結(jié)合清晰的圖表,給大家詳細(xì)解讀了支付渠道和渠道路由的原理與設(shè)計。
支付業(yè)務(wù)說到底是個渠道業(yè)務(wù),他是支付系統(tǒng)的接出端,對于一家支付公司來說,只有接入有市場競爭力的支付渠道,支付產(chǎn)品才能被更多的客戶使用。
對于每個剛?cè)胫Ц缎袠I(yè)的同學(xué)來說,很多都是從接渠道和配置路由開始的。
今天,我們就來介紹支付渠道和被傳的神乎其神的渠道路由。
引子:神秘的渠道路由
支付渠道是支付平臺鏈接銀行、三方等持牌機構(gòu)的系統(tǒng)。其中最神秘的就是渠道路由,由于它是持牌機構(gòu)內(nèi)部的系統(tǒng),因此接觸者寥寥,并且其內(nèi)部結(jié)構(gòu)錯綜復(fù)雜,加之“智能化”的宣傳使其更加神秘。
其實只要記住“三級路由”基本原理,把流程和模型做個上圖這樣的二維展開,任何人都能拿捏渠道對接和路由。
01、支付渠道原理
支付路由就是將渠道的路由因子組合形成一組規(guī)則,將用戶的支付請求準(zhǔn)確的傳送到支付渠道上完成支付。因此,講路由之前我們先要了解路由因子和三級路由。
所謂的三級路由,就是把路由拆解成三個階段,各階段分工合作,最終命中一條可用的支付渠道。
1.1、路由因子
圖1:渠道結(jié)構(gòu)和路由因子
路由因子和渠道的結(jié)構(gòu)密不可分,因此在了解路由因子前,我們先要分析下支付渠道的結(jié)構(gòu)。
1.1.1、渠道結(jié)構(gòu)
渠道的結(jié)構(gòu)分為“資金渠道”和“渠道網(wǎng)關(guān)”
1)資金渠道:每條資金渠道代表著一條可使用的外部支付產(chǎn)品。在資金渠道中設(shè)置了“基礎(chǔ)信息”和“渠道特性”參數(shù),這些參數(shù)控制著渠道的路由和參數(shù)轉(zhuǎn)換。
2)渠道網(wǎng)關(guān):負(fù)責(zé)與外部支付產(chǎn)品的接口適配和參數(shù)轉(zhuǎn)換,以此來屏蔽內(nèi)外部接口的差異,以便支付引擎能夠按統(tǒng)一的流程和參數(shù)來調(diào)用。
1.1.2、路由因子
1)基礎(chǔ)因子:對應(yīng)著渠道的基本信息,通過對支付訂單的拆解可以初步匹配到符合要求的渠道。因此基礎(chǔ)因子大都是支付訂單中包含的信息。
2)特性因子:對應(yīng)每條渠道特殊的屬性,例如維護期、交易限額、渠道成本等需要后臺單獨配置的規(guī)則來處理,這些因子需要按請求參數(shù)進行邏輯計算。
3)質(zhì)量因子:對應(yīng)的是渠道網(wǎng)關(guān),發(fā)起支付時要選可靠渠道,因此需要動態(tài)監(jiān)控渠道的成功率、延遲率和連接數(shù)等參數(shù),以確保支付請求被快速處理,減少訂單積壓。
1.2、三級路由
圖2:三級路由
分析完路由因子后,我們來看下三級路由是如何流轉(zhuǎn)的。
1)一級路由:篩選渠道
解析支付訂單根據(jù)基礎(chǔ)因子篩選出符合條件的支付渠道,把結(jié)果存入一級列表。
2)二級路由:匹配特性
一級列表中的渠道不能直接支付,因為如果渠道處于維護期或限額較低等特殊情況,支付請求會失敗。需要根據(jù)每條渠道的特性匹配合適的渠道,再將結(jié)果存入二級列表。
3)三級路由:檢查網(wǎng)關(guān)
二級列表的渠道具備了直接支付的條件,但是為了減少異常訂單的堆積,還需要對渠道網(wǎng)關(guān)運行情況進行篩選,找到質(zhì)量最好的那條通道完成支付。
經(jīng)過以上三級的篩選,就找到了一條又快又省錢的渠道,選中這條渠道完成支付即可。
02、支付渠道設(shè)計
了解了以上這些原理之后,我們再來看支付渠道的設(shè)計就很好理解了。
2.1、渠道業(yè)務(wù)架構(gòu)
圖3:渠道業(yè)務(wù)架構(gòu)
從業(yè)務(wù)架構(gòu)圖我們可以看到渠道系統(tǒng)分成了三層的結(jié)構(gòu)。
1)資金渠道管理
這是渠道模塊的核心系統(tǒng),他放在了支付系統(tǒng)的內(nèi)網(wǎng),與外網(wǎng)隔離保證其可以安全地使用而不被攻擊;其內(nèi)部又分為了“渠道服務(wù)、路由管理、資金渠道、定時任務(wù)、基礎(chǔ)服務(wù)”五個重要的渠道核心功能。
2)資金渠道網(wǎng)關(guān)
這部分是渠道外部的適配器,用來對接各家銀行的支付渠道,他分為了“渠道接口、渠道適配”,新增一條支付渠道就要在這里進行配置和開發(fā)。
通過資金渠道網(wǎng)關(guān),屏蔽不同渠道的差異,給上層渠道服務(wù)提供統(tǒng)一的訪問處理。這部分模塊是安放在網(wǎng)絡(luò)隔離區(qū),通過防火墻完成內(nèi)外部網(wǎng)絡(luò)的訪問。
3)外部合作渠道
這里就是需要通過對接和訪問的銀行、第三方、清算機構(gòu)的支付通道了。
2.1.1. 資金渠道管理
圖4:資金渠道管理
1)渠道服務(wù)
這是渠道對外提供的標(biāo)準(zhǔn)服務(wù),上層支付平臺要按照標(biāo)準(zhǔn)接口來訪問渠道,同時渠道服務(wù)也是下游流程的調(diào)度者。這里的渠道服務(wù)支持“鑒權(quán)、預(yù)路由、入款、收款”等支付核心功能。
2)路由管理
渠道路由會接收支付服務(wù)的請求,將支付請求的“訂單信息”解析成“路由因子”,按照對應(yīng)的規(guī)則模板進行多級路由,最終選中一條資金渠道進行調(diào)用。
3)資金渠道
這里存放著接入的每條渠道的所有配置信息,渠道相關(guān)的重要信息都存放在此。路由結(jié)果也是通過調(diào)用這里的渠道接口完成最終的支付。
4)定時任務(wù)
這是資金渠道的一個輔助功能,對于需要定時進行的支付結(jié)果查詢,對賬文件、批量任務(wù)等進行處理。
5)基礎(chǔ)服務(wù)
這里是資金渠道業(yè)務(wù)層面的一個附屬功能,包含基礎(chǔ)參數(shù)、卡Bin、簽約信息、結(jié)果碼、安全證書、緩存等管理。
2.1.2. 資金渠道網(wǎng)關(guān)
圖5:資金渠道網(wǎng)關(guān)
資金渠道網(wǎng)關(guān)既是對外訪問的模塊,新接入渠道二次開發(fā)模塊也是部署在這里。
1)渠道接口:定義標(biāo)準(zhǔn)的渠道訪問接口,它屏蔽了不同渠道差異性,讓上層的渠道管理可以用統(tǒng)一的方式來管理渠道。
2)渠道適配:就是對不同銀行的渠道進行接口轉(zhuǎn)換、安全加密處理、網(wǎng)絡(luò)處理等各種渠道差異性進行二次開發(fā)。因此新增一條通道,只要在這里做渠道的接入開發(fā)就可以了。
3)回調(diào)網(wǎng)關(guān):用來處理銀行的支付結(jié)果的回調(diào)請求。
2.2、渠道集成關(guān)系
圖6:渠道集成關(guān)系
2.2.1、渠道服務(wù)
渠道服務(wù)提供統(tǒng)一的服務(wù)接口,并根據(jù)業(yè)務(wù)類型細(xì)分為七大類標(biāo)準(zhǔn)功能,這些功能可以組合成快捷、掃碼、網(wǎng)銀、錢包等各種支付產(chǎn)品的標(biāo)準(zhǔn)接口。
通過定義標(biāo)準(zhǔn)化的服務(wù)接口,可以有效地抽象和屏蔽各渠道間的差異性。這樣一來,支付引擎就能夠以統(tǒng)一的方式進行調(diào)用,而無需關(guān)注每個具體渠道的特性與差異。
2.2.2、渠道路由
渠道路由就是對支付請求進行解析,然后進行路由的篩選和計算。這里就包含了路由訪問、訂單解析、路由計算三個步驟。
1、路由訪問:
支付請求有動態(tài)路由和直接訪問兩種方式。
1)動態(tài)訪問:顧名思義讓渠道根據(jù)請求去自動的計算,找到一條最快最便宜的渠道完成支付。
2)直接訪問:有些支付產(chǎn)品是與渠道綁定的,例如快捷支付的協(xié)議號只能在簽約的通道上有用,因此可以直接傳送簽約時對于的“渠道編號”直接訪問,而無需路由。
2、訂單解析
對支付訂單進行解析,從訂單中抽取出路由因子進行逐級的篩選。
3、路由執(zhí)行:
圖7 :路由規(guī)則工作原理
渠道路由通常利用規(guī)則引擎進行處理,這種處理方式允許我們提前編寫好規(guī)則腳本。當(dāng)輸入相關(guān)數(shù)據(jù)后,規(guī)則計算引擎會根據(jù)這些腳本進行計算,并輸出一個結(jié)果。
這個結(jié)果可以是一個簡單的數(shù)值,比如一個特定的資金渠道編號,也可以是一個更復(fù)雜的數(shù)據(jù)對象,包含多個資金渠道編號以及對應(yīng)的渠道接口信息。
這種機制使得渠道路由處理非常靈活,計算結(jié)果可直接調(diào)用支付渠道或作為二級路由輸入,持續(xù)篩選直至選定合適渠道。未選中則報錯。
2.2.3、渠道管理
渠道管理包含接入渠道的所有信息,其最核心的就是“資金渠道”的管理,它擁有一級路由所需要的主要基礎(chǔ)信息,而一些像“維護期、交易限額、擴展因子”等信息則根據(jù)業(yè)務(wù)的增長和需要進行靈活的擴展。
2.2.4、渠道網(wǎng)關(guān)
渠道網(wǎng)關(guān)負(fù)責(zé)不同的渠道接口適配,并且完成向外部渠道發(fā)送支付請求,最終將結(jié)果以回調(diào)的方式返回給上層支付系統(tǒng)。因此實際渠道對接主要是在渠道網(wǎng)關(guān)進行二次開發(fā),以實現(xiàn)不同渠道的適配和安全加解密處理
同時渠道網(wǎng)關(guān)也兼具渠道質(zhì)量監(jiān)控的功能,可以異常渠道進行降級、限流和熔斷,以減少異常訂單的堆積。
2.3、渠道流程串聯(lián)
圖8:三級路由的流程串聯(lián)
分析完渠道設(shè)計后,下面我們就把流程、參數(shù)和模型進行串聯(lián),以此來了解其上下游的對應(yīng)關(guān)系。
①解析支付訂單:
解析出支付訂單中的路由因子,準(zhǔn)備路由。
②判斷路由模式:
需要判斷動態(tài)路由還是直接路由,如果是動態(tài)路由就通過路由因子進行篩選渠道。如果是直接路由,則取出渠道號存入二級路由的結(jié)果列表,直接進行第三級路由。
③一級渠道匹配:
根據(jù)基礎(chǔ)因子篩選出共同特性符合條件的支付渠道,把結(jié)果存入一級列表。
④二級特性匹配:
前面已經(jīng)介紹,一級列表中的渠道還不能直接支付。因此需要對一級列表中支付渠道的特性進行逐條遍歷和計算,找到完全符合條件的支付渠道后才能存入二級列表。進入二級列表的渠道基本滿足了支付的條件。
⑤三級網(wǎng)關(guān)檢查:
為了減少超時等情況造成的訂單堆積,還要對支付網(wǎng)關(guān)服務(wù)質(zhì)量因子(QoS)進行一次檢查,路由到成功率最高,速度最快的渠道上去。
⑥組裝接口完成支付
以上路由都成功后根據(jù)選中的渠道組裝接口,進行數(shù)據(jù)轉(zhuǎn)換后就能完成支付了。
03、支付渠道交互
前面講了基本原理和設(shè)計,那整個支付渠道到底長什么樣子的呢?下面我們就來介紹下渠道的交互部分設(shè)計。由于支付產(chǎn)品的類型非常多,我們以相對復(fù)雜的快捷支付為例來介紹整體交互流程。
3.1、整體交互流程
圖 8:渠道交互整體流程
整個渠道交互都是圍繞著“資金渠道管理”來展開的,因此他整個交互界面就是模型的可視化展現(xiàn)。
1)資金渠道管理:
以資金渠道為核心頁面,完成基礎(chǔ)信息配置后,對擴展的關(guān)聯(lián)信息進行配置,最后完成接口配置。
2)支付路由管理:
支付路由管理通過一套可視化的配置模板的界面,可以輕松地配置各類路由規(guī)則。這些路由配置界面可以按照業(yè)務(wù)類型的不同分為不同的模板,例如“快捷路由配置”“掃碼路由配置”“付款路由配置”等。
3.2、渠道功能清單
針對渠道比較豐富的持牌機構(gòu),需要支持的主要功能有如下。
1)基礎(chǔ)參數(shù):提前需要配置好存放在系統(tǒng)內(nèi)的基礎(chǔ)信息。
2)資金渠道:渠道管理和路由所需要的功能。
3)渠道運營:提供給商戶側(cè)運營使用與渠道相關(guān)的功能。
圖9:渠道功能清單
3.3 新增資金渠道
新接入支付渠道需要對應(yīng)配置一條資金渠道信息,配置資金渠道還需要同步去關(guān)聯(lián)“目標(biāo)機構(gòu)、維護期、渠道限額、黑白名單、渠道接口”等渠道擴展信息。
圖10:資金渠道管理
3.3.1、新增資金渠道
創(chuàng)建資金渠道同時需要填寫渠道的基礎(chǔ)信息和常用的渠道特性和結(jié)算信息,這些基礎(chǔ)信息可以包含最常用的渠道路由信息。
圖11:資金渠道基礎(chǔ)信息
3.3.2、新建目標(biāo)機構(gòu)
創(chuàng)建資金通道后還要創(chuàng)建對應(yīng)的目標(biāo)機構(gòu),把當(dāng)前渠道支持的開戶銀行關(guān)聯(lián)到渠道上。這樣在支付路由的時候就能獲取當(dāng)前渠道支持的銀行。
圖12:創(chuàng)建目標(biāo)機構(gòu)
3.3.3、資金渠道接口
資金渠道與目標(biāo)機構(gòu)創(chuàng)建后,需配置對應(yīng)渠道接口,以便路由選中時完成跨行支付。接口采用標(biāo)準(zhǔn)化模板,并提供參數(shù)配置以適應(yīng)不同渠道。復(fù)雜渠道可通過個性化開發(fā)的“接口適配”服務(wù)處理支付。標(biāo)準(zhǔn)化接口減少了定制工作量,加快了渠道發(fā)布速度。
圖13:渠道接口維護
完成資金渠道和目標(biāo)機構(gòu)的創(chuàng)建后一條最基本的資金渠道就配置完成了,但是這些信息還不能滿足快捷支付產(chǎn)品復(fù)雜的特性需求,因此還要做擴展渠道特性的配置。
3.3.4、渠道限額
快捷產(chǎn)品的限額比較復(fù)雜,不同銀行按照卡類型設(shè)置了不同的單筆、日限額和支付成本,因此這部分需要單獨來進行配置和管理。
圖14:渠道限額和成本
3.3.5、渠道維護期
每條渠道對應(yīng)的渠道和開戶銀行也非常多,因此不同渠道、不同銀行經(jīng)常會有維護期需要進行設(shè)置(主要是快捷、網(wǎng)銀、付款類產(chǎn)品),這部分信息由于更新頻繁需要經(jīng)常維護,因此也需要單獨管理。
圖15:渠道維護期設(shè)置
3.3.6、商戶黑白名單
黑白名單屬于擴展特性,只有渠道需要對指定商戶進行準(zhǔn)入或者限制時才需要配置。
3.3.2.1、?白名單商戶
即只有名單內(nèi)的商戶才能使用;現(xiàn)在支付渠道開始要求商戶進行渠道進件,例如條碼支付、商戶側(cè)全渠道、商業(yè)委托扣款、新代收等產(chǎn)品。所以需要在渠道上設(shè)置對應(yīng)的白名單,只有白名單的商戶才能使用這些渠道。
3.3.2.2、黑名單商戶
即名單內(nèi)的商戶不能使用渠道或者部分特性。黑名單使用的原因有很多,最常見的就是渠道價格調(diào)整后,有些商戶手續(xù)費和渠道成本倒掛了,因此需要限制這些商戶使用指定銀行的銀行卡產(chǎn)品。如果商戶支持銀行和卡選擇ALL,這說明這個商戶這條渠道不允許使用。
圖16:渠道黑白名單維護
3.4 設(shè)置渠道路由
3.4.1 渠道路由管理
一套路由規(guī)則通過基礎(chǔ)參數(shù)、擴展參數(shù)可以關(guān)聯(lián)多個渠道,每條路由規(guī)則也要支持,創(chuàng)建、修改等一系列的管理功能。路由規(guī)則不建議做物理刪除,因為直接刪除會影響渠道的穩(wěn)定切換。可以通過新增一條規(guī)則設(shè)置新老規(guī)則的銜接時間來實現(xiàn)穩(wěn)定的切換。
圖17:渠道路由管理
為了表現(xiàn)規(guī)則和渠道的兩級結(jié)構(gòu)關(guān)系,交互中采用了樹形查詢列表,當(dāng)然條件不具備的小伙伴可以使用普通列表查詢也可以,就是交互體驗上要考慮怎么展示規(guī)則和渠道的關(guān)系,以及規(guī)則如何修改和編輯。
3.4.2、路由規(guī)則設(shè)置
路由規(guī)則的創(chuàng)建是由“基礎(chǔ)信息、規(guī)則組、路由規(guī)則、執(zhí)行渠道”嵌套實現(xiàn)的,沒錯又是燒腦的“嵌套”。因為這樣可以把同類型的渠道分別進行設(shè)置。
需要說明的是并不是所有規(guī)則都能可視化配置的。路由規(guī)則配置主要處理的是一級路由中固定取值的“基礎(chǔ)因子”的配置,動態(tài)計算的特性因子和質(zhì)量因子的處理需要定制化開發(fā)。
當(dāng)然也可以提供腳本編寫功能給配置人員使用,不過這需要有編程經(jīng)驗才行。
圖18:快捷路由規(guī)則設(shè)置
1)基礎(chǔ)信息:是整個路由規(guī)則的基礎(chǔ)信息,包含這條規(guī)則什么時候生效和創(chuàng)建內(nèi)部嵌套的規(guī)則組。
2)路由分組:為什么要對路由規(guī)則分組呢?目的是把同類支付產(chǎn)品,按照不同特性區(qū)分出來。例如同樣是快捷支付產(chǎn)品,有的產(chǎn)品只要綁卡簽約就能使用,有的產(chǎn)品需要商戶渠道進件才能使用,有的產(chǎn)品小金額支付可以優(yōu)惠。這么多特性顯然需要不同的路由規(guī)則來描述,因此需要設(shè)置不同的分組。
3)路由規(guī)則:基礎(chǔ)因子:這類規(guī)則都有固定的枚舉值,因此基礎(chǔ)規(guī)則可以用可視化的方式來設(shè)置對應(yīng)的條件,多條規(guī)則通過后置邏輯關(guān)系來實現(xiàn)鏈接。特性因子:“維護期、渠道限額、渠道質(zhì)量”等擴展特性并非固定取值,需根據(jù)實際訂單與渠道配置信息動態(tài)計算。因此,需開發(fā)定制化程序以處理,無需在單條渠道上分別設(shè)定路由規(guī)則。臨時新增:如果有些臨時新增的規(guī)則可以通過編寫嵌入腳本來快速實現(xiàn)。
4)執(zhí)行渠道:
最后要把規(guī)則對應(yīng)執(zhí)行渠道配置上去,這樣規(guī)則才能正常工作。需要說明的是同一套規(guī)則會有一條或者多條渠道被選中,因此需要支持多條渠道和接口的設(shè)置。
可能你會問,那多條渠道該用哪條呢,其實路由配置就是一級路由的處理,最終命中渠道還有技術(shù)層面內(nèi)部處理來決定的。
3.5、路由的多組規(guī)則
一條路由規(guī)則可以設(shè)置多組子路由規(guī)則,如下圖所示,通用的快捷支付規(guī)則包含了“協(xié)議支付、無卡支付、銀聯(lián)商戶側(cè)、云閃付免密”等所有的快捷類支付方式,可以通過分組的方式來實現(xiàn)。
圖19:快捷支付的多組規(guī)則例
如圖中的規(guī)則組1,他是為協(xié)議支付、無卡支付這樣的通用性支付渠道進行設(shè)置的規(guī)則。銀聯(lián)商戶側(cè)由于需要渠道側(cè)進件才能使用因此要單獨設(shè)置一個規(guī)則組。云閃付免密支付由于1000元以下有優(yōu)惠,因此也為其提供了一個規(guī)則組。講在最后
最后,渠道路由由于需要提前在各條渠道上開啟開通備付金或者商戶賬戶,因此這種模式比較適合于持牌機構(gòu),如果普通商戶也要做支付路由,除非是傳統(tǒng)企業(yè),否則都是有二清問題。
我給人面試的時候,偶爾也會聽到候選人說四方、商家做渠道路由,這種情況經(jīng)常會被我問的臉紅脖子粗的,反正大家沒做渠道路由可以仔細(xì)看下我這篇文章后再去面試吧。
本文由人人都是產(chǎn)品經(jīng)理作者【剛哥】,微信公眾號:【剛哥白話】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
不錯,挺好