第三方支付流程是什么? 第三方支付業(yè)務(wù)流程介紹
可能你在使用支付寶時(shí),感覺蠻簡單的,不外乎就是綁個(gè)卡,驗(yàn)一下支付密碼,銀行卡的資金就被扣掉了;但是背后涉及的技術(shù)架構(gòu)其實(shí)蠻復(fù)雜的,比如從外部合作來說,就涉及到了銀行,銀聯(lián),網(wǎng)聯(lián),商戶,用戶,公安,電信運(yùn)營商,安全防控公司,服務(wù)器運(yùn)營商等等;如果從具體業(yè)務(wù)來說,大致分成入金類業(yè)務(wù),出金類業(yè)務(wù),清算對(duì)賬類業(yè)務(wù),差錯(cuò)處理類業(yè)務(wù);因?yàn)橹Ц稑I(yè)務(wù)涉及的方方面面很多,所以導(dǎo)致了技術(shù)架構(gòu)蠻復(fù)雜的,所以本來試描繪一下支付系統(tǒng)的輪廓,能讓人對(duì)第三方支付有一個(gè)全貌的大致了解。
二 支付系統(tǒng)架構(gòu)。
1 支付系統(tǒng)的整體介紹。
一般來說,支付系統(tǒng)從架構(gòu)上來說,分為四層;分成網(wǎng)關(guān)層,核心層,產(chǎn)品層和運(yùn)營支撐層;。
網(wǎng)關(guān)層:網(wǎng)關(guān)一般是通過對(duì)銀行,銀聯(lián),網(wǎng)聯(lián),第三方支付的能力進(jìn)行包裝然后提供原子能力給上層系統(tǒng)調(diào)用;比如接入網(wǎng)聯(lián)的快捷,網(wǎng)關(guān),代付,清算對(duì)賬,差錯(cuò)處理能力后,提供給其上層系統(tǒng)調(diào)用;另外網(wǎng)關(guān)一般還會(huì)維護(hù)路由系統(tǒng)(簡單來說,路由就是幫一筆交易通過一定規(guī)則比較后,選擇合適的道路到渠道側(cè))。
核心層:支付系統(tǒng)的核心模塊,一般包括會(huì)員系統(tǒng),風(fēng)控系統(tǒng),交易系統(tǒng),收費(fèi)系統(tǒng),訂單系統(tǒng),清算系統(tǒng),賬務(wù)系統(tǒng),簽約系統(tǒng),數(shù)據(jù)系統(tǒng)等;。
產(chǎn)品層: 通過對(duì)核心層提供的服務(wù)組合起來,大體來分,可以組合成入金類產(chǎn)品,比如組合成充值產(chǎn)品,轉(zhuǎn)賬產(chǎn)品等,還有出金類產(chǎn)品,比如提現(xiàn)產(chǎn)品,結(jié)算產(chǎn)品;然后通過接口,收銀臺(tái),錢包,內(nèi)部運(yùn)營后臺(tái)等具體產(chǎn)品系統(tǒng)來提供服務(wù);。
運(yùn)營支撐層: 用來支持核心系統(tǒng)的服務(wù), 包括運(yùn)維監(jiān)控系統(tǒng)、日志分析系統(tǒng)等。
簡單來說,一筆交易進(jìn)入第三方支付系統(tǒng),首先會(huì)經(jīng)過產(chǎn)品層,然后經(jīng)過核心層,最后經(jīng)過網(wǎng)關(guān)到達(dá)渠道側(cè),同時(shí)支付機(jī)構(gòu)還可以通過運(yùn)營支撐層對(duì)這筆交易進(jìn)行監(jiān)控維護(hù);。
比如用戶買一個(gè)腎X,需要支付9998元,那么調(diào)用支付機(jī)構(gòu)的服務(wù)后進(jìn)入收銀臺(tái),選擇快捷支付,那么這個(gè)其實(shí)就是首先經(jīng)過了產(chǎn)品層的收銀臺(tái),然后產(chǎn)品層收銀臺(tái)的背后核心層也會(huì)參與本次交易,比如涉及到了會(huì)員系統(tǒng),對(duì)該用戶會(huì)進(jìn)行校驗(yàn),還涉及到風(fēng)控系統(tǒng),風(fēng)控會(huì)對(duì)這筆交易進(jìn)行判斷,能否放行,還涉及到了簽約系統(tǒng),用戶選擇的銀行卡是否進(jìn)行了簽約,還涉及到了收費(fèi)系統(tǒng),該筆交易手續(xù)費(fèi)多少,還涉及到了訂單和交易系統(tǒng),為該交易生成訂單,方便以后查詢核對(duì);如果交易完成后,還涉及到清算對(duì)賬系統(tǒng),該筆交易與渠道側(cè)進(jìn)行對(duì)賬,商戶側(cè)對(duì)賬,內(nèi)部對(duì)賬等,然后還會(huì)結(jié)算相應(yīng)款項(xiàng)給商戶;最后還會(huì)經(jīng)過網(wǎng)關(guān)層,網(wǎng)關(guān)會(huì)為該筆交易選擇合適的渠道進(jìn)行資金轉(zhuǎn)移,然后調(diào)用合適渠道的能力進(jìn)行業(yè)務(wù)處理;同時(shí)支付機(jī)構(gòu)可通過運(yùn)營支撐,對(duì)該交易進(jìn)行監(jiān)測管理。
2 網(wǎng)關(guān)層。
上文已經(jīng)提到過,網(wǎng)關(guān)主要是封裝各個(gè)渠道的差異,呈現(xiàn)統(tǒng)一的接口,然后提供給上層系統(tǒng)調(diào)用。
同時(shí)路由一般也維護(hù)在網(wǎng)關(guān)層;這里重點(diǎn)介紹一下路由。
簡單來說,路由就是找合適的路。
支付機(jī)構(gòu)一般會(huì)對(duì)接很多渠道,比如直連渠道,間連網(wǎng)聯(lián),銀聯(lián),還有其他第三方支付機(jī)構(gòu)等,那么一筆交易來了,到底該走哪條路呢,這就是路由干的事。
路由一般分成人工路由,規(guī)則路由;人工路由指運(yùn)營人員指定支付渠道和產(chǎn)品之間的映射關(guān)系,就是人工幫忙找路;規(guī)則路由就是按照業(yè)務(wù)要求設(shè)置各種路由規(guī)則,系統(tǒng)幫忙找路;。
路由設(shè)計(jì)時(shí),一般從以下方面進(jìn)行考慮;費(fèi)率,單筆費(fèi)率,總額費(fèi)率,階梯費(fèi)率等;營銷策略,比如渠道側(cè)提供優(yōu)惠,單筆優(yōu)惠金額,單筆折扣比例,補(bǔ)貼總額度,活動(dòng)時(shí)間等;交易限額,日限,筆限等;渠道類型,代扣,快捷,網(wǎng)銀,第三方支付等;銀行卡類型,借貸記類型,對(duì)公對(duì)私等;服務(wù)質(zhì)量,掉單率,網(wǎng)絡(luò)延遲等;。
3 核心層。
一般包括會(huì)員系統(tǒng),風(fēng)控系統(tǒng),交易系統(tǒng),收費(fèi)系統(tǒng),訂單系統(tǒng),清算系統(tǒng),賬務(wù)系統(tǒng),簽約系統(tǒng)等;。
交易系統(tǒng):交易系統(tǒng)是一種組合能力,比如一筆交易進(jìn)來,交易系統(tǒng)可能會(huì)調(diào)用會(huì)員系統(tǒng),風(fēng)控系統(tǒng),充值產(chǎn)品,訂單系統(tǒng),收費(fèi)系統(tǒng)等等對(duì)該筆交易進(jìn)行處理;。
會(huì)員系統(tǒng):包括對(duì)用戶、商戶的實(shí)名身份、銀行卡、基本信息、協(xié)議的管理;。
訂單系統(tǒng):對(duì)交易訂單的管理,比如單筆頂單,多筆訂單支付請(qǐng)求的處理,還有查詢訂單的處理等;。
收費(fèi)系統(tǒng):支付機(jī)構(gòu)的盈利方式之一,一筆交易通過第三方支付完成,總得給點(diǎn)過路費(fèi)吧;收費(fèi)系統(tǒng)一般按照單筆定額,單筆比例,混合收費(fèi),包月年封頂收費(fèi)等進(jìn)行;。
簽約系統(tǒng):如果通過銀行卡進(jìn)行快捷支付,簽約是需要進(jìn)行簽約的,那么銀行提供的簽約能力,解約能力等都由簽約系統(tǒng)提供;。
清算,賬務(wù)系統(tǒng)指圍繞財(cái)務(wù)會(huì)計(jì)而產(chǎn)生的后臺(tái)資金核實(shí)、調(diào)度和管理的系統(tǒng),包括會(huì)計(jì)核算: 提供會(huì)計(jì)科目、內(nèi)部賬務(wù)、試算平衡、日切、流水登記、核算和歸檔的功能。
資金管理: 管理公司在各個(gè)支付渠道的頭寸,在余額不足時(shí)進(jìn)行打款,對(duì)第三方支付公司,還需要對(duì)備付金進(jìn)行管理。
清算分潤:對(duì)于有分潤需求的業(yè)務(wù),還需要提供清分清算、對(duì)賬處理功能。
風(fēng)控系統(tǒng)是支付系統(tǒng)必備的基礎(chǔ)功能,所有的支付行為必須做風(fēng)險(xiǎn)評(píng)估并采取對(duì)應(yīng)的措施;信用系統(tǒng)是在風(fēng)控基礎(chǔ)上發(fā)展的高級(jí)功能,京東的白條,螞蟻花唄等,都是成功的案例。
風(fēng)控系統(tǒng)一般進(jìn)行三種校驗(yàn),交易放行,交易攔截,交易驗(yàn)證增強(qiáng);。
4 產(chǎn)品層。
通過對(duì)核心層提供的服務(wù)組合起來,大體來分,可以組合成入金類產(chǎn)品,比如組合成充值產(chǎn)品,轉(zhuǎn)賬產(chǎn)品等,還有出金類產(chǎn)品,比如提現(xiàn)產(chǎn)品,結(jié)算產(chǎn)品;然后通過接口,收銀臺(tái),錢包,內(nèi)部運(yùn)營后臺(tái)等具體產(chǎn)品系統(tǒng)來提供服務(wù);。
入金類產(chǎn)品整體上來說,可以提供如下能力:。
(1)快捷,代扣支付。
用戶在完成綁卡之后,在支付的時(shí)候,不需要再輸入卡或者身份信息,僅需要輸入支付密碼就可以完成支付。
對(duì)于小額度的支付,甚至可以開通小額免密,直接完成支付。
這種支付方式不會(huì)打斷用戶的體驗(yàn),是目前主要的在線支付方式。
(2) 網(wǎng)銀支付。
用戶在支付的時(shí)候,需要跳轉(zhuǎn)到銀行網(wǎng)銀頁面來完成支付。
在網(wǎng)銀頁面,需要輸入用戶的卡號(hào)和身份信息。
這種支付方式會(huì)中斷用戶當(dāng)前的體驗(yàn),一般僅用于PC Web上的支付。
網(wǎng)銀支付是封裝銀行提供的網(wǎng)銀支付來實(shí)現(xiàn)。
(3)第三方支付。
使用微信、支付寶等第三方支付平臺(tái)來完成支付。
使用時(shí),一般需要用戶預(yù)先安裝支付平臺(tái)系統(tǒng)(手機(jī)上),注冊(cè)并登錄到第三方支付平臺(tái),并且已經(jīng)在該平臺(tái)上完成綁卡等操作。
由于微信、支付寶已經(jīng)被大量使用,用戶也產(chǎn)生對(duì)這些平臺(tái)的信任,該類支付往往是電商公司的主要支付方式。
(4)賬戶支付。
也成為余額支付、零錢支付等。
指為用戶建立本地賬戶, 支持充值,之后可以使用這個(gè)賬戶來完成支付。
(5)信用支付。
如京東的白條,螞蟻花唄等,指使用信用賬戶進(jìn)行透支,類似信用卡支付。
出金類產(chǎn)品整體來說,就是提供轉(zhuǎn)賬、結(jié)算等能力。
5 運(yùn)營支撐層。
支撐系統(tǒng)是一個(gè)公司提供給支付系統(tǒng)運(yùn)行的基礎(chǔ)設(shè)施。
主要包括如下子系統(tǒng):。
運(yùn)維監(jiān)控: 支付系統(tǒng)在下運(yùn)行過程中不可避免的會(huì)受到各種內(nèi)部和外部的干擾,光纖被挖斷、黑客攻擊、數(shù)據(jù)庫被誤刪、上線系統(tǒng)中有bug等等,運(yùn)維人員必須在第一時(shí)間內(nèi)對(duì)這些意外事件作出響應(yīng),又不能夠一天24小時(shí)盯著。
這就需要一個(gè)運(yùn)維監(jiān)控系統(tǒng)來協(xié)助完成。
日志分析: 日志是支付系統(tǒng)統(tǒng)計(jì)分析、運(yùn)維監(jiān)控的重要依據(jù)。
公司需要提供基礎(chǔ)設(shè)施來支持日志統(tǒng)一收集和分析。
短信平臺(tái): 短信在支付系統(tǒng)中有重要作用: 身份驗(yàn)證、安全登錄、找回密碼、以及報(bào)警監(jiān)控,都需要短信的支持。
安全機(jī)制: 安全是支付的生命線。
SSL、證書系統(tǒng)、防刷接口等,都是支付的必要設(shè)施。
統(tǒng)計(jì)報(bào)表: 支付數(shù)據(jù)的可視化展示,是公司進(jìn)行決策的基礎(chǔ)。
遠(yuǎn)程連接管理、分布式計(jì)算、消息機(jī)制、全文檢索、文件傳輸、數(shù)據(jù)存儲(chǔ)、機(jī)器學(xué)習(xí)等,都是構(gòu)建大型系統(tǒng)所必須的基礎(chǔ)軟件,這里不再一一詳細(xì)介紹。
三 支付業(yè)務(wù)商戶側(cè)流程。
一般支付機(jī)構(gòu)會(huì)通過接口,收銀臺(tái),錢包等具象產(chǎn)品為商戶提供服務(wù);那么商戶側(cè)使用支付機(jī)構(gòu)的服務(wù)一般涉及到以下幾方面。
1. 簽約和解約。
在快捷支付、代扣等產(chǎn)品中,用戶在使用前,需要先完成簽約。
商戶側(cè)負(fù)責(zé)收集用戶銀行卡的信息,然后調(diào)用支付機(jī)構(gòu)的接口進(jìn)行簽約,可能支付機(jī)構(gòu)會(huì)調(diào)用銀行和銀聯(lián)的接口進(jìn)行簽約。
簽約后,后續(xù)的支付行為就使用簽約號(hào)來進(jìn)行,無需再輸入個(gè)人信息。
和簽約相對(duì)應(yīng),解約則是取消簽約關(guān)系。
2. 支付。
支付是少不了的操作。
支付前,商戶需向支付機(jī)構(gòu)下單,然后調(diào)用付款接口進(jìn)行支付,一般提供快捷支付和網(wǎng)銀支付能力;。
3. 撤銷和退款。
商戶向支付機(jī)構(gòu)下單或付款后,該筆訂單由于一些原因,并不想真的執(zhí)行,那么就可使用支付機(jī)構(gòu)的能力進(jìn)行撤銷或退款;。
4. 查詢簽約狀態(tài)。
對(duì)于需要簽約的交易,可以通過這個(gè)接口來查詢簽約狀態(tài)。
5. 查詢訂單狀態(tài)。
通過這個(gè)接口來查詢訂單狀態(tài)以及退款的訂單狀態(tài)。
6 對(duì)賬。
通過FTP或者HTTP方式提供對(duì)賬文件供商戶側(cè)對(duì)賬。
四 支付業(yè)務(wù)中支付機(jī)構(gòu)內(nèi)部流程。
一般會(huì)包括參數(shù)校驗(yàn),支付路由,生成訂單,風(fēng)險(xiǎn)評(píng)估,調(diào)用渠道服務(wù),更新訂單和發(fā)送消息這7步,對(duì)于一些比較復(fù)雜的服務(wù),還會(huì)涉及到異步同通知處理的步驟。
1. 執(zhí)行參數(shù)校驗(yàn)。
所有的支付操作,都需要對(duì)輸入執(zhí)行參數(shù)校驗(yàn),避免接口受到攻擊。
驗(yàn)證輸入?yún)?shù)中各字段的有效性驗(yàn)證,比如用戶ID,商戶ID,價(jià)格,返回地址等參數(shù)。
驗(yàn)證賬戶狀態(tài)。
交易主體、交易對(duì)手等賬戶的狀態(tài)是處于可交易的狀態(tài)。
驗(yàn)證訂單:如果涉及到預(yù)單,還需要驗(yàn)證訂單號(hào)的有效性,訂單狀態(tài)是未支付。
為了避免用戶緩存某個(gè)URL地址,還需要校驗(yàn)下單時(shí)間和支付時(shí)間是否超過預(yù)定的間隔。
驗(yàn)證簽名。
簽名也是為了防止支付接口被偽造。
一般簽名是使用分發(fā)給商戶的key來對(duì)輸入?yún)?shù)拼接成的字符串做MD5 Hash或者RSA加密,然后作為一個(gè)參數(shù)隨其他參數(shù)一起提交到服務(wù)器端。
如支付網(wǎng)關(guān)設(shè)計(jì)所介紹,簽名驗(yàn)證也可以在網(wǎng)關(guān)中統(tǒng)一完成。
2. 根據(jù)支付路由尋找合適的支付服務(wù)。
根據(jù)用戶選擇的支付方式確定用來完成該操作的合適的支付渠道。
用戶指定的支付方式不一定是最終的執(zhí)行支付的渠道。
比如用戶選擇通過工行信用卡來執(zhí)行支付,但是我們沒有實(shí)現(xiàn)和工行的對(duì)接,而是可以通過第三方支付,比如支付寶、微信支付、易寶支付,或者銀聯(lián)來完成。
那如何選擇合適的支付渠道,就通過支付路由來實(shí)現(xiàn)。
支付路由會(huì)綜合考慮收費(fèi)、渠道的可用性等因素來選擇最優(yōu)方案。
3. 評(píng)估交易風(fēng)險(xiǎn)。
檢查本次交易是否有風(fēng)險(xiǎn)。
風(fēng)控接口返回三種結(jié)果:阻斷交易、增強(qiáng)驗(yàn)證和放行交易。
1) 阻斷交易,說明該交易是高風(fēng)險(xiǎn)的,需要終止,不執(zhí)行第5個(gè)步驟;。
2) 增強(qiáng)驗(yàn)證,說明該交易有一定的風(fēng)險(xiǎn),需要確認(rèn)下是不是用戶本人在操作。
這可以通過發(fā)送短信驗(yàn)證碼或者其他可以驗(yàn)證用戶身份的方式來做校驗(yàn),驗(yàn)證通過后,可以繼續(xù)執(zhí)行該交易。
3) 放行交易,即本次交易是安全的,可以繼續(xù)往下走。
4. 生成交易訂單。
將訂單信息持久化到數(shù)據(jù)庫中。
5. 調(diào)用支付渠道提供的服務(wù)。
所有的支付服務(wù)都需要第三方通道來完成執(zhí)行。
一般銀行渠道的調(diào)用比較簡單,可以直接返回結(jié)果。
一些第三方支付,支付寶,微信支付等,會(huì)通過異步接口來告知支付結(jié)果。
6. 更新訂單。
對(duì)于同步返回的結(jié)果,需要在主線程中更新訂單的狀態(tài),標(biāo)記是支付成功還是失敗。
對(duì)于異步返回的渠道,需要在異步程序中處理。
7. 發(fā)送消息。
通過消息來通知相關(guān)系統(tǒng)關(guān)于訂單的變更。
風(fēng)控,數(shù)據(jù)系統(tǒng)等,都需要依賴這數(shù)據(jù)做準(zhǔn)實(shí)時(shí)計(jì)算。
8. 異步通知。
如上述流程,其中涉及到調(diào)用遠(yuǎn)程接口,其延遲不可控。
如果調(diào)用方一直阻塞等待,很容易超時(shí)。
引入異步通知機(jī)制,可以讓調(diào)用方在主線程中盡快返回,通過異步線程來得到支付結(jié)果。
對(duì)于通過異步來獲取支付結(jié)果的渠道接口,也需要對(duì)應(yīng)的在異步通知中將結(jié)果返回給調(diào)用方。
異步通知需要調(diào)用方提供一個(gè)回調(diào)地址,一般以http或者h(yuǎn)ttps的方式。
這就有技術(shù)風(fēng)險(xiǎn),如果調(diào)用失敗,還需要重試。
而重試不能過于頻繁,需要逐步拉大每一次重試的時(shí)間間隔。
在異步處理程序中,訂單根據(jù)處理結(jié)果變更狀態(tài)后,也要發(fā)消息通知相關(guān)系統(tǒng)。
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。