支付系統(tǒng):線上支付的對(duì)接流程
本文作者主要從入網(wǎng)流程、支付流程和對(duì)賬流程3個(gè)方面對(duì)支付系統(tǒng)進(jìn)行了梳理,與大家分享。
做支付產(chǎn)品也有一段時(shí)間了,簡單梳理一下作為線上商戶從入網(wǎng)到對(duì)賬的流程,也作為這段時(shí)間工作的總結(jié)。
入網(wǎng)流程
1. 確定支付方式
首先需要確定的是支付場景,選擇合適的支付方式。
簡單列一下主流產(chǎn)品端及常用支付方式:
從用戶體驗(yàn)來說,PC端支付方式可以選擇聚合支付,即同一個(gè)二維碼支持各主流支付App掃碼支付;App端一般要支持微信、支付寶支付;而微信公眾號(hào)、小程序支持微信也就夠了,雖然也可以通過使用瀏覽器打開方式實(shí)現(xiàn)支付寶支付,但用戶體驗(yàn)并不是很好。
從產(chǎn)品本身角度來說,特別是跨端產(chǎn)品快捷支付是個(gè)合適的選擇,而且由于快捷綁卡需要四要素驗(yàn)證,也實(shí)現(xiàn)了用戶實(shí)名,但也因?yàn)樾枰脩糨斎胨囊?,很多?duì)信息敏感的用戶會(huì)排斥綁卡。
網(wǎng)銀雖然是個(gè)僅PC端支持且用戶支付相對(duì)麻煩的支付方式,但卻適合大額支付,限額相比其他支付方式要高上許多。
銀聯(lián)云閃付、手機(jī)閃付的優(yōu)勢(shì)在于,銀聯(lián)總是很樂于搞各種滿減、隨機(jī)立減活動(dòng),優(yōu)質(zhì)商家可以多利用銀聯(lián)資源實(shí)現(xiàn)雙贏。
上面列舉的支付方式主要針對(duì)C端用戶,若產(chǎn)品面向的是B端用戶,可以考慮企業(yè)網(wǎng)銀或直接線下匯款。
2. 確定收單機(jī)構(gòu)
確定了支付方式后就要選擇收單機(jī)構(gòu)了:
如果是需要的支付方式比較單一,如只需要微信或支付寶,那直接入網(wǎng)微信、支付寶就可以了;
如果需要支持多個(gè)支付方式且對(duì)費(fèi)率比較敏感,可以嘗試比較一下市面上的第三方收單機(jī)構(gòu),或是知名的第四方聚合支付公司,比較下其提供的產(chǎn)品及費(fèi)率。
3. 入網(wǎng)
不同機(jī)構(gòu)要求的入網(wǎng)材料不盡相同,但大致為營業(yè)執(zhí)照信息、結(jié)算賬戶信息及經(jīng)營相關(guān)信息,按照選擇的機(jī)構(gòu)要求準(zhǔn)備就可以了。協(xié)議簽訂完成后,機(jī)構(gòu)會(huì)下發(fā)商戶號(hào)、證書等參數(shù),可進(jìn)行下一步技術(shù)對(duì)接。
支付流程
不同收單機(jī)構(gòu)、支付方式接口都不一樣,但是一般流程差別不大,拿微信舉例主要接口如下:
統(tǒng)一下單、支付接口、支付結(jié)果通知、查詢訂單、申請(qǐng)退款、查詢退款及下載對(duì)賬單。
具體開發(fā)流程各收單機(jī)構(gòu)文檔都會(huì)寫的非常詳細(xì),就不再贅述了,主要說幾個(gè)我認(rèn)為需要注意的點(diǎn):
1. 支付成功以后臺(tái)通知為準(zhǔn)
這點(diǎn)我是確實(shí)吃虧了的,當(dāng)時(shí)接手產(chǎn)品的時(shí)候大部分支付通道都已經(jīng)完成了對(duì)接且線上跑了很久,所以并沒有要求技術(shù)重新梳理流程。后來某天財(cái)務(wù)找我來說支付寶短款了,找技術(shù)查詢才發(fā)現(xiàn)技術(shù)對(duì)支付寶訂單的處理是前臺(tái)回調(diào)成功,訂單就更改為支付成功。
一般情況下前臺(tái)通知和后臺(tái)通知確實(shí)狀態(tài)是一致的,但是當(dāng)不一致的時(shí)候后臺(tái)通知才是準(zhǔn)確的。這次問題造成了我司短款,印象深刻。
不過以后臺(tái)通知為準(zhǔn),如果通知晚了會(huì)稍影響用戶體驗(yàn),建議如下處理:當(dāng)前臺(tái)回調(diào)之后查詢后臺(tái)交易狀態(tài)是否已經(jīng)收到通知并更改為支付成功,若還是支付中,則主動(dòng)發(fā)起訂單查詢接口,查詢訂單支付狀態(tài)。
2. 增加支付掉單處理
設(shè)計(jì)產(chǎn)品除了要考慮正常流程外,也需增加異常處理,特別是涉及真金白銀的支付交易,更為敏感一些。
一般認(rèn)為網(wǎng)絡(luò)異常等原因造成的交易狀態(tài)不明是小概率事件,但就實(shí)際處理中確實(shí)時(shí)有發(fā)生,所以建議增加支付掉單處理,即當(dāng)未收到明確應(yīng)答時(shí),反查交易狀態(tài),為節(jié)省系統(tǒng)資源可設(shè)置合理的查詢次數(shù),且查詢時(shí)間間隔遞增。
偶爾也會(huì)有個(gè)別交易掉單確實(shí)超過了系統(tǒng)自動(dòng)處理的次數(shù)或時(shí)效,可以根據(jù)對(duì)賬流程來進(jìn)行差錯(cuò)處理。
3. 重復(fù)支付處理
重復(fù)支付大部分時(shí)候是因?yàn)橹Ц兜魡我鸬?,用戶看到自己扣款成功,訂單依然還是待付款會(huì)產(chǎn)生疑問,一般不會(huì)繼續(xù)付款,但如果是一些限量、限時(shí)活動(dòng)或用戶未注意到扣款成功等情況,就有可能產(chǎn)生重復(fù)支付。
可以做的處理是,在訂單已完成支付的情況下再次收到另一筆支付完成的通知?jiǎng)t進(jìn)行退款,若考慮資金安全認(rèn)為系統(tǒng)自動(dòng)退款有風(fēng)險(xiǎn),可以在第二日對(duì)賬出現(xiàn)差異后再做處理。
4. 增加退款重試機(jī)制
如果結(jié)算時(shí)間是T+1且金額自動(dòng)提現(xiàn)結(jié)算實(shí)體戶,隔日退款容易碰到當(dāng)日頭寸或賬戶余額不足造成的退款失敗。
一種避免方式是推遲退款時(shí)間,如凌晨退款交易統(tǒng)一推遲至早9點(diǎn)后發(fā)起,但依然很難完全避免失敗。二是系統(tǒng)增加退款重試,若退款碰到該類報(bào)錯(cuò),則推遲到下午或晚上再次重試退款。
對(duì)賬流程
正常情況下收單機(jī)構(gòu)提供的對(duì)賬文件與收到的結(jié)算款總是對(duì)的上的,系統(tǒng)主要關(guān)心對(duì)賬文件是否與訂單匹配。一般至少勾兌流水號(hào)、交易時(shí)間、交易類型及交易金額,而手續(xù)費(fèi)以收單機(jī)構(gòu)提供的為準(zhǔn)。
差異部分,主要有如下幾種情況:
1. 對(duì)賬文件多
用戶重復(fù)支付,超額支付部分需進(jìn)行退款;
支付掉單,若訂單未取消則更改訂單狀態(tài)為支付完成,若訂單已取消則需進(jìn)行退款。
2. 對(duì)賬文件少
可能為日切造成的差異,支付記錄參與后續(xù)勾兌,連續(xù)2天未勾兌成功,記錄勾兌失敗人工參與處理。
3. 金額差異
金額差異很少會(huì)出現(xiàn),如出現(xiàn)差異需要人工參與看是否系統(tǒng)出現(xiàn)了問題。
以上就是我的一點(diǎn)看法,比較淺顯,有不足之處歡迎與我交流,
作者:湘允兒,wx:x_yuner
本文由 @湘允兒 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
第三方收單機(jī)構(gòu), 第三方支付機(jī)構(gòu),聚合支付,第四方支付,蒙了,具體啥意思,有標(biāo)準(zhǔn)的定義答案嗎?
這篇文章確實(shí)說的比較淺,掃碼支付流程微信和支付寶就不一致,微信是先創(chuàng)建交易后支付,后面可以取消交易,但是支付寶是掃碼的時(shí)候創(chuàng)建交易和支付,如果未支付則可以取消,如果未掃碼,則創(chuàng)建后不能取消交易
對(duì)賬流程
1.對(duì)賬文件多
“支付掉單,若訂單未取消則更改訂單狀態(tài)為支付完成”這個(gè)應(yīng)該也要走退款吧,如不退款流程吧
看訂單時(shí)效性了,若訂單24小時(shí)或更長時(shí)間才取消,獲取到對(duì)賬文件的時(shí)候訂單可能還在待支付狀態(tài),有時(shí)候用戶沒去關(guān)注訂單狀態(tài),那變更為支付完成就無感知,退款也可以
此種差異處理的時(shí)候肯定是會(huì)根據(jù)用戶下單購買后的實(shí)際應(yīng)用場景來確定是否不但還是退款的,如果用戶已任何該筆交易訂單或者已拿到購買的商品,那么處理方式肯定是更偏向于補(bǔ)單了
請(qǐng)問下為什么前后臺(tái)通知支付結(jié)果會(huì)不一致呢?
不排除網(wǎng)絡(luò)問題,用戶前端跳轉(zhuǎn)重定向錯(cuò)誤,或者人為修改支付成功定向鏈接,或者前端資源加載錯(cuò)誤之類的,具體的原因可以通過在用戶前端增加錯(cuò)誤上班錨點(diǎn)來獲取原因
前臺(tái)通知一般都是支付請(qǐng)求成功,不是支付成功。