說(shuō)到支付網(wǎng)關(guān)锰什,首先看一下網(wǎng)關(guān)的定義迈螟,網(wǎng)關(guān)的作用是實(shí)現(xiàn)網(wǎng)絡(luò)之間的通訊鏈接弄息,包含兩個(gè)基本功能:網(wǎng)間連接和協(xié)議轉(zhuǎn)換海渊。同理绵疲,商戶業(yè)務(wù)系統(tǒng)中的支付板塊實(shí)現(xiàn)的就是商戶業(yè)務(wù)系統(tǒng)與銀行支付系統(tǒng)之間的鏈接哲鸳,所起到的作用是類(lèi)似的,可以被看作為一個(gè)網(wǎng)關(guān)盔憨。因此徙菠,我們今天要講的支付網(wǎng)關(guān)設(shè)計(jì),其實(shí)就是商戶業(yè)務(wù)系統(tǒng)的支付板塊設(shè)計(jì)郁岩。
1.支付網(wǎng)關(guān)的由來(lái)
在電子支付還沒(méi)有普及的時(shí)候婿奔,商戶支持一家銀行是通過(guò)對(duì)接這家銀行提供的一個(gè)系統(tǒng)接口來(lái)完成的。然后隨著支付行業(yè)的不斷發(fā)展驯用,商戶已經(jīng)不滿足于支付環(huán)節(jié)只支持一個(gè)銀行或者兩個(gè)銀行了脸秽。此時(shí)商戶的支付系統(tǒng)需要同時(shí)對(duì)接多個(gè)銀行儒老,并處理好由此導(dǎo)致的很多衍生問(wèn)題蝴乔,例如對(duì)賬、清算等驮樊。而且開(kāi)發(fā)一套這樣的系統(tǒng)所需的人力成本和時(shí)間成本也是商戶所不愿意接受的薇正。
此時(shí),第三方支付機(jī)構(gòu)誕生了囚衔,他們來(lái)開(kāi)發(fā)運(yùn)營(yíng)一套系統(tǒng)挖腰,代替商戶實(shí)現(xiàn)同時(shí)對(duì)接多個(gè)銀行系統(tǒng)的功能,然后通過(guò)統(tǒng)一的接口提供給商戶使用练湿。所以這一個(gè)階段第三方支付機(jī)構(gòu)的系統(tǒng)就是支付網(wǎng)關(guān)猴仑。它所具備的基礎(chǔ)功能除了實(shí)現(xiàn)商戶業(yè)務(wù)系統(tǒng)與銀行系統(tǒng)之間的鏈接,還包括很多其它的支付業(yè)務(wù)相關(guān)基礎(chǔ)功能肥哎,包括:訂單管理辽俗、渠道管理、風(fēng)控管理篡诽、路由配置崖飘、帳務(wù)管理、清算管理杈女、商戶管理和用戶管理等朱浴。
隨著線上支付的進(jìn)一步發(fā)展,第三方支付機(jī)構(gòu)越來(lái)越多达椰,這時(shí)候商戶需要解決的問(wèn)題已經(jīng)不再是如何接入多家銀行翰蠢,而是如何接入多家支付機(jī)構(gòu)。此時(shí)商戶對(duì)支付系統(tǒng)的需求也發(fā)生了變化啰劲,網(wǎng)關(guān)的位置也進(jìn)一步前移躏筏,對(duì)商戶的支付系統(tǒng)提出了更高的要求。現(xiàn)在也有一個(gè)角色愿意為商戶來(lái)實(shí)現(xiàn)類(lèi)似功能呈枉,那就是類(lèi)似Ping++ 這樣的聚合支付服務(wù)提供商趁尼。
從商戶的角度講埃碱,此時(shí)的支付網(wǎng)關(guān)和傳統(tǒng)支付網(wǎng)關(guān)區(qū)別在于,關(guān)注點(diǎn)會(huì)更少酥泞,商戶只需要關(guān)注訂單砚殿、渠道、風(fēng)控芝囤、賬務(wù)管理和路由配置即可似炎。為了更清楚的解釋說(shuō)明,我用一趟出境自由行之旅來(lái)演示一筆訂單在上述各個(gè)模塊之間的流轉(zhuǎn)過(guò)程悯姊。通常一筆訂單的處理涉及到四個(gè)環(huán)節(jié)羡藐,有創(chuàng)建訂單、報(bào)文簽字悯许、支付路由仆嗦、結(jié)果確認(rèn)。為了更好的配套先壕,我們還加入了商戶入網(wǎng)瘩扼。
2.護(hù)照-渠道入網(wǎng)申請(qǐng)
渠道入網(wǎng)申請(qǐng)是訂單和渠道管理的首要環(huán)節(jié),就好比出境游首先要有護(hù)照垃僚。當(dāng)然并不是說(shuō)有了護(hù)照就可以去任意國(guó)家和地區(qū)集绰。不同的地區(qū)需要不同的護(hù)照類(lèi)型(護(hù)照,港澳通行證等)谆棺。同樣栽燕,使用不同的支付渠道,也需要分別進(jìn)行入網(wǎng)申請(qǐng)改淑。這里碍岔,尤其需要了解的一點(diǎn)是,支付渠道不等于支付產(chǎn)品溅固。無(wú)論支付寶或者微信支付付秕,在不同的前端場(chǎng)景下,比如 App 支付侍郭、網(wǎng)頁(yè)支付询吴,都有相應(yīng)的支付產(chǎn)品。所以亮元,并不是說(shuō)商戶要用微信支付就只需要接入微信支付的一個(gè)接口猛计。微信的開(kāi)放平臺(tái)和微信的公眾平臺(tái)就需要申請(qǐng)兩個(gè)獨(dú)立的支付權(quán)限,經(jīng)常有客戶誤把開(kāi)放平臺(tái)的 ID 配到公眾平臺(tái)爆捞,導(dǎo)致報(bào)錯(cuò)奉瘤。
3.簽證 - 創(chuàng)建支付訂單
有了護(hù)照以后,我們還需要辦理簽證才能出國(guó)。此時(shí)是需要提供一些必要信息的盗温,例如往返機(jī)票信息藕赞,目的地酒店信息等。這也與創(chuàng)建支付訂單同理卖局,我們需要提供一筆訂單所需的必要要素斧蜕。在這個(gè)環(huán)節(jié),我們需要注意一下幾點(diǎn):
訂單號(hào)
如果自己做支付系統(tǒng)砚偶,訂單號(hào)是第一個(gè)要考慮到的問(wèn)題批销。當(dāng)我們同時(shí)做多個(gè)支付產(chǎn)品對(duì)接的時(shí)候,首先需要注意訂單號(hào)的格式染坯,不同支付產(chǎn)品渠道對(duì)訂單的格式要求不一樣均芽,特別是銀行端的格式更特殊一些。其次是訂單號(hào)的唯一性单鹿。在實(shí)際操作的時(shí)候掀宋,訂單號(hào)的唯一性不僅和技術(shù)實(shí)現(xiàn)有關(guān),還和業(yè)務(wù)流程有關(guān)羞反,例如同一訂單是否支持多次支付等布朦。這里我們建議區(qū)分業(yè)務(wù)訂單和支付訂單兩個(gè)維度囤萤。通過(guò)業(yè)務(wù)訂單和支付訂單的一對(duì)多映射來(lái)解決唯一性問(wèn)題昼窗。
訂單有效期
訂單有效期可以分為兩個(gè)部分:支付有效期和退款有效期。
支付有效期是可以商戶自定義的涛舍,需要注意的是不同渠道的參數(shù)使用方法不一樣澄惊,有的是相對(duì)時(shí)間,有的是絕對(duì)時(shí)間富雅。
而退款有效期是由渠道規(guī)定的掸驱,不同機(jī)構(gòu)的退款有效期不一樣。這樣我們?cè)跇I(yè)務(wù)設(shè)計(jì)的時(shí)候需要取一個(gè)最小值没佑。對(duì)于超出渠道退款有效期的訂單而業(yè)務(wù)上又要允許退款毕贼,那么為了保證訂單信息的正確性,必要的時(shí)候必須使用專(zhuān)門(mén)的邏輯來(lái)處理蛤奢。
4.接口適配
支付寶手機(jī)支付和微信支付/銀聯(lián)移動(dòng)支付的接口區(qū)別可以用簽證類(lèi)型很好的類(lèi)比鬼癣。
支付寶手機(jī)支付發(fā)起是由商戶在后臺(tái)將所有東西按照渠道的要求進(jìn)行處理、準(zhǔn)備啤贩,然后直接前端通過(guò)控件調(diào)起支付寶的App發(fā)起支付待秃。這非常像我們的落地簽,自己準(zhǔn)備好必要材料痹屹,飛機(jī)落地以后對(duì)方海關(guān)才進(jìn)行查驗(yàn)章郁。
而微信支付和銀聯(lián)移動(dòng)支付等渠道則必須先進(jìn)行后臺(tái)請(qǐng)求,請(qǐng)求通過(guò)后志衍,再由前端發(fā)起支付動(dòng)作暖庄。這就和標(biāo)準(zhǔn)的簽證非常類(lèi)似了,資料不符合要求前聊替,是拿不到簽證的,也就無(wú)法進(jìn)行后續(xù)操作培廓。這就是不同支付渠道在業(yè)務(wù)邏輯上有差異的地方佃牛,不同渠道的訂單落地順序、落地內(nèi)容医舆,以及后續(xù)的狀態(tài)更新等在支付網(wǎng)關(guān)設(shè)計(jì)時(shí)都需要相應(yīng)考慮俘侠。
5.出境查驗(yàn) - 報(bào)文簽名
出境查驗(yàn)相當(dāng)于報(bào)文簽名。出境查驗(yàn)的時(shí)候蔬将,我們需要檢查護(hù)照和簽證的合法性爷速。簽名的作用類(lèi)似,一是防篡改,二是防抵賴(lài)备韧。這個(gè)環(huán)節(jié)揩局,需要弄清楚兩個(gè)概念:對(duì)稱(chēng)加密AES和非對(duì)稱(chēng)加密RSA×冢可以區(qū)分公私鑰就基本上沒(méi)有問(wèn)題了。
6.風(fēng)控管理
出行要注意安全徐矩,同理滞时,支付系統(tǒng)也要考慮到風(fēng)控管理。通常我們把風(fēng)控管理分為兩個(gè)層面滤灯,一個(gè)是賬戶資金風(fēng)險(xiǎn)控制坪稽,另外一個(gè)是業(yè)務(wù)風(fēng)險(xiǎn)控制。
賬戶資金風(fēng)險(xiǎn)控制這環(huán)是由支付機(jī)構(gòu)來(lái)負(fù)責(zé)的鳞骤,因?yàn)槿绻Ц稒C(jī)構(gòu)的支付安全層面出現(xiàn)問(wèn)題窒百,將導(dǎo)致用戶信息泄露、資金損失以及非法交易等一系列問(wèn)題豫尽。所以這些機(jī)構(gòu)都花了足夠的精力去做賬戶風(fēng)險(xiǎn)控制篙梢,這樣的后果就是,商戶首先是無(wú)法接觸到消費(fèi)者的個(gè)人支付敏感要素的美旧。當(dāng)然渤滞,我們就可以投入更多的精力在業(yè)務(wù)風(fēng)險(xiǎn)的領(lǐng)域。
業(yè)務(wù)領(lǐng)域的風(fēng)險(xiǎn)控制更多需要考慮業(yè)務(wù)漏洞導(dǎo)致的風(fēng)險(xiǎn)陈症“互聯(lián)網(wǎng)產(chǎn)品常見(jiàn)業(yè)務(wù)風(fēng)險(xiǎn)包括惡意刷單、套現(xiàn)录肯、薅羊毛趴腋。我們防止這幾類(lèi)風(fēng)險(xiǎn)的常見(jiàn)方式是通過(guò)對(duì)一些關(guān)鍵要素的采集,比如交易帳戶、支付帳戶优炬、交易頻次颁井、交易金額、交易時(shí)間蠢护、交易地點(diǎn)等雅宾,然后基于相應(yīng)的風(fēng)控規(guī)則進(jìn)行判斷,最后根據(jù)判斷結(jié)果來(lái)做相應(yīng)處理葵硕。
7.入境查驗(yàn) - 結(jié)果通知眉抬,驗(yàn)簽,狀態(tài)更新
這是支付最后的環(huán)節(jié)懈凹。很多商戶經(jīng)常困惑是通過(guò)異步通知蜀变,還是通過(guò)主動(dòng)查詢(xún)來(lái)確定最終支付結(jié)果?這兩個(gè)方案我們認(rèn)為是并存的介评,一個(gè)是保證效率库北,一個(gè)是保證可用性。我們建議客戶根據(jù)自己的業(yè)務(wù)特點(diǎn)對(duì)兩個(gè)機(jī)制進(jìn)行有效的配合使用们陆。
同時(shí)寒瓦,我們需要注意的是并不是所有的支付機(jī)構(gòu)都具備異步通知邏輯;也并不是所有的退款都有異步通知坪仇,比如微信退款杂腰。所以,支付網(wǎng)關(guān)要在這個(gè)環(huán)節(jié)來(lái)進(jìn)行同一化處理烟很,確保后端業(yè)務(wù)系統(tǒng)對(duì)接的規(guī)則一致性颈墅。
8.旅游賬單 -對(duì)賬
最后講一下對(duì)賬蜡镶,對(duì)賬管理一般分為渠道對(duì)賬和內(nèi)部對(duì)賬雾袱。渠道對(duì)賬要保證清算資金、支付訂單狀態(tài)的一致性官还,內(nèi)部對(duì)帳必須保證交易單芹橡、支付單、財(cái)務(wù)明細(xì)的一致性望伦。
如何對(duì)賬
通常來(lái)說(shuō)林说,對(duì)賬主要包含以下幾步:獲取對(duì)帳單,對(duì)賬單數(shù)據(jù)格式化屯伞,交易金額和訂單狀態(tài)一致性核查腿箩,以及差錯(cuò)處理。
差錯(cuò)有兩種常規(guī)類(lèi)型:長(zhǎng)款和短款劣摇。站在商戶維度來(lái)說(shuō)珠移,長(zhǎng)款就是商戶多收到錢(qián)。一般來(lái)說(shuō),訂單狀態(tài)不正確和重復(fù)支付都會(huì)導(dǎo)致長(zhǎng)款钧惧。短款就是商戶少收到錢(qián)暇韧,這種情況一般概率較低,大多出現(xiàn)在第三方機(jī)構(gòu)與銀行系統(tǒng)之間的業(yè)務(wù)對(duì)接環(huán)節(jié)浓瞪。
訂單的差錯(cuò)處理懈玻,我們強(qiáng)烈建議人工介入,不要自動(dòng)處理乾颁。因?yàn)檫@個(gè)涉及到資金的進(jìn)出涂乌,必須要謹(jǐn)慎處理。
9.支付路由
經(jīng)常會(huì)有商戶問(wèn)英岭,我們需不需要做支付路由骂倘。實(shí)際上,在目前支付網(wǎng)關(guān)需要對(duì)接的是不同支付產(chǎn)品巴席,當(dāng)該支付產(chǎn)品的入口是唯一的時(shí)候历涝,是無(wú)法進(jìn)行支付路由設(shè)計(jì)的,最直接的例子就是微信和支付寶漾唉。但現(xiàn)在不少銀行都成了微信和支付寶的代理商荧库,支持他們的線下或者線上支付產(chǎn)品。在這個(gè)前提下赵刑,是可以做一定的支付路由處理的分衫。通常來(lái)說(shuō),支付路由主要是基于:成本般此,穩(wěn)定性和流量均衡這幾點(diǎn)來(lái)考慮進(jìn)行設(shè)計(jì)的蚪战。而且,支付路由不單單是一個(gè)支付請(qǐng)求的路由設(shè)計(jì)铐懊,對(duì)于后續(xù)支付結(jié)果的處理邀桑,資金的對(duì)賬等都需要仔細(xì)分析處理。
最后總結(jié)一下科乎,我們通過(guò)一個(gè)訂單的處理過(guò)程壁畸,基本介紹了一個(gè)支付網(wǎng)關(guān)涉及到幾個(gè)板塊,包括:財(cái)務(wù)管理茅茂、業(yè)務(wù)管理捏萍、路由管理、渠道管理和風(fēng)控管理空闲。但僅有這些還是不夠的令杈,作為支付網(wǎng)關(guān)來(lái)講,我們還要做接入管理碴倾,進(jìn)行流量控制和準(zhǔn)入控制逗噩。需要做基礎(chǔ)平臺(tái)支撐悔常,進(jìn)行系統(tǒng)狀態(tài)監(jiān)控,提供內(nèi)部運(yùn)維管理给赞。只有這樣机打,才可以算是一個(gè)相對(duì)完備的支付路由,如下圖所示片迅。
作者 | Ping++ 趙宇
來(lái)源 | Ping++ 支付設(shè)計(jì)大會(huì)現(xiàn)場(chǎng)分享