剖析快捷支付的產(chǎn)品流程
本文介紹的是電商網(wǎng)站為業(yè)務提供的快捷支付接口,而不是銀行或者其他渠道提供給電商的快捷支付接口。
快捷支付指用戶在電商網(wǎng)站上執(zhí)行支付時,不需要輸入卡信息,僅根據(jù)短信或者其他的驗證方式確認身份后,就可以執(zhí)行扣款的支付方式,這是目前電商網(wǎng)站采用的主要支付方式。
快捷支付分為首次支付和非首次支付,他們的流程是不一樣的,區(qū)別就在于:首次支付的時候,用戶需要綁卡;而非首次支付則是直接使用已經(jīng)綁定的卡來執(zhí)行扣款,僅需做身份驗證就行。
注意,這里介紹的是電商網(wǎng)站為業(yè)務提供的快捷支付接口,而不是銀行或者其他渠道提供給電商的快捷支付接口。
一、支付場景
快捷支付第一步是要求用戶做綁卡操作。綁卡是將用戶的銀行卡信息提供給電商,以后電商就用這個信息去銀行完成支付。綁卡實際上是一個授權,讓用戶允許商家自動從他的賬戶上扣除資金。所以綁卡也叫簽約,用戶和銀行,商家的三方簽訂的支付合約。
但我們知道,綁卡對用戶和商戶來說都存在巨大風險。如果說用戶綁卡是圖省事,那商戶為什么要做這個事?
快捷支付在支付場景上的優(yōu)勢在如下幾個方面:
1. ?提升支付成功率
網(wǎng)銀支付需要用戶去銀行開通網(wǎng)銀,而對快捷支付來說,這并不是必須的。 這樣使得可以使用快捷支付的用戶群體得到擴展。
使用網(wǎng)銀支付成功率在20%左右,銀聯(lián)直聯(lián)成功率一般在50%左右,銀行卡直聯(lián)可以提升到70%左右。
這是相當可觀的數(shù)據(jù)。所以,當你看到綁卡送洗衣粉之類做法時,不需要擔心商家會不會賠本。
2. ?提升支付安全性
網(wǎng)銀是需要用戶自己來保證支付環(huán)境的安全。在支付寶推出快捷支付和卡通支付之前,網(wǎng)銀還是主要的支付方式,這導致各種的木馬,釣魚病毒肆虐,目標之一就為竊取用戶的銀行卡信息。
銀行發(fā)放U盤U盾,各種的證書,都是為了保證網(wǎng)銀支付的安全,這也帶來了各種支付的不便:哪天忘了帶了,就無法完成支付。而快捷支付是由商家來保證支付信息的安全,可靠性得到保障。
當然,至于商家如何保證這些信息安全,還有待商榷??偟膩碚f,這也比個人自己抵御黑客黑產(chǎn)要靠譜多了。
3. 提升用戶體驗
想想網(wǎng)銀支付的流程,用戶在跳轉(zhuǎn)到銀行頁面后,還得插入U盾,各種的核對。產(chǎn)品經(jīng)理應該知道:每增加一個操作,都會帶來一定的掉單率。 而快捷支付僅需在第一步完成綁卡后,以后的扣款,最多一個短信就搞定了,敗家更方便。
在快捷支付中,綁卡和支付都不需要和渠道打交道,都是通過服務器來中轉(zhuǎn);而且在綁卡成功后,操作都在服務器上進行。這使得這種支付方式可以跨平臺使用,手機,PC都可以。甚至在其他終端完成綁卡后,可以在電視,嵌入式設備上做支付。
4. 獲取可靠支付數(shù)據(jù)
快捷支付還有一個很好的副作用, 那就是得到真實用戶信息,特別是身份證信息、銀行卡號、手機號、驗證方式、真實姓名等。再結合用戶的訂單信息,大家就可以知道為什么淘寶、京東等這些電商網(wǎng)站現(xiàn)在的商品推薦會這么精準了。
二、綁卡流程
怎么綁卡?我們知道對接銀行有兩種途徑,直接對接銀行接口和通過銀聯(lián)來間接對接,這兩種情況下綁卡處理也不同。直觀的,電商網(wǎng)站會在用戶后臺提供一個綁卡的入口,讓用戶直接綁卡。
以支付寶綁卡流程為例,我們可以體驗下:
這里有如下要點:
- 只能綁自己的卡,這主要從安全角度考慮:作為自己的卡,指銀行卡在銀行預留的姓名和身份證與網(wǎng)站預留的一致。
- 需要用戶在銀行側預留的手機號進行短信驗證:但不是所有銀行都需要。這個時候,為了統(tǒng)一處理,可以考慮自己發(fā)驗證短信。
對這個入口不要指望太多,更多的用戶是在支付中綁卡。也就是提交訂單后,發(fā)現(xiàn)沒有銀行卡了,就開始綁卡。
和純綁卡流程不同的是:最后一步,綁卡成功后,一般都同時完成支付。有些渠道會提供綁卡并支付的接口,減少交互次數(shù)。
為了保證卡的安全,綁卡有這些前置需求:
- 用戶必須已經(jīng)綁定了手機號。該手機號用于修改支付密碼。
- 用戶需設置了支付密碼。支付密碼不同于登錄密碼。
針對用戶不同狀態(tài),綁卡流程上有區(qū)別。
當然,綁卡是安全操作,要求用戶必須登錄到系統(tǒng)中。為了避免和服務器端的交互被劫持,所有操作必須在安全協(xié)議中進行,即使用https。
1. 輸入卡號
用戶輸入卡號,系統(tǒng)對卡號執(zhí)行初步驗證。 驗證的依據(jù)是卡bin和LUHN算法。參見支付系統(tǒng)之銀行卡支付。
當然,還有些系統(tǒng)會提供掃卡識碼的功能,比如微信支付,掃碼識別的準確率可以達到99%;有些卡的卡號顏色和背景色一致的,就會識別出錯。如果用戶沒細看,進入下一步,就會報告錯誤了,這種錯誤還比較難發(fā)現(xiàn)。
自動識別卡號,還需要考慮在識別錯誤時如何圓過去的問題。
2. 獲取卡信息
首次綁卡需要提供卡信息,借記卡需要卡號,用戶真實姓名和身份證,這個所有銀行都一樣(有不一樣的,留言告知,謝謝)。
信用卡就復雜點,大部分信用卡還需提供CV碼和有效期。但是如果和銀行關系好,拿到合適的接口,把這兩個因素都免了,也是有可能的。
3. 要素驗證
首先在服務器端做驗證,主要是驗證卡是否已經(jīng)被綁過。 如果一個用戶有多個賬戶,系統(tǒng)還需要考慮是否支持這些賬戶都綁到一個卡上。 接著調(diào)用銀行綁卡驗證接口進行綁卡。
這里有一個四要素驗證的概念:由于國內(nèi)要求實名制,所有銀行卡都是實名辦理的,所以銀行可以驗證姓名、身份證號、銀行卡號和手機號是不是一致的。如果沒問題,則會發(fā)短信到手機上。
這里還有幾個注意點:
- 關于手機號。大家都知道,銀行預留的手機號一般都是辦卡的時候留的,過了幾年,換手機了,很多人就忘了同步到銀行。所以很多銀行就不驗證手機號。
- 關于驗證短信,手機號都不是必須的,那短信就可能都不發(fā)了。這在流程設計時需要統(tǒng)一處理。銀行不發(fā)短信就的自己發(fā)。
- 重復綁卡問題。如果系統(tǒng)支持多賬戶,那不可避免的出現(xiàn)一個人綁卡到多個賬號上。渠道側綁卡,有接口支持重復綁卡,有些是不支持的。所以如果需要重復綁卡,還得在服務器端處理。
4. 執(zhí)行綁卡
用戶輸入短信驗證碼并確認綁卡,服務器端將用戶實名信息以及短信驗證碼組合形成報文,發(fā)送給銀行,執(zhí)行簽約操作。
銀行側簽約成功后,返回簽約號給商戶(這一個處理邏輯放在支付渠道側介紹),銀行會返回如下結果:
- 簽約成功:這意味著可以建立簽約關系。而簽約關系在支付系統(tǒng)中則通過虛擬賬戶來表示。
- 重復簽約: 按照業(yè)務考慮是否支持重復簽約。 一般針對一個銀行卡僅保留一個簽約關系,建立一個虛擬賬戶。
- 簽約失敗: 需要提示具體失敗原因。
三、扣款流程
在完成簽約后,支付處理就相對簡單不少??劭盍鞒倘缦拢?/p>
流程要點:
- 訂單系統(tǒng)生成訂單后,請求支付系統(tǒng)執(zhí)行支付;
- 支付服務器生成支付記錄,請求渠道執(zhí)行支付。如果該渠道需要短信支持,請求渠道發(fā)送短信。
- 服務器端在生成支付記錄后,請求渠道執(zhí)行支付。對于需要短信驗證或者其他身份驗證方式的支付行為,還需要首先請求渠道發(fā)送短信,之后讓用戶輸入短信驗證碼。之后將訂單、短信驗證碼、支付金額送到渠道側,執(zhí)行支付。
這里需要關注如下問題:
(1)訂單有效期
用戶必須在訂單有效期內(nèi)完成支付。支付時,必須為每個訂單設置有效期。這個有效期不能太長,一般不會超過一天。有效期可以從下單開始算,避免使用相對日期。 在執(zhí)行支付時,需要驗證下訂單是否還在有效期內(nèi)。
(2)同步和異步處理
銀聯(lián)提供的商戶側開通快捷支付接口,不同步返回最終扣款結果,而是通過異步通知的方式來返回。 異步通知會多次調(diào)用回調(diào)接口, 直到調(diào)用成功。 所以,一個訂單支付成功的通知,有可能會收到多次回調(diào)。
四、解約流程
解約流程一般是由用戶自己發(fā)起。當然,存儲在本地的簽約信息只是被設置為無效,而不是實際刪除。 解約時,還需要注意相關的訂單是否都已經(jīng)完成。
五、退款流程
沒有平白無故的退款。支付都是由交易調(diào)起的,那退款就都對應的由退貨發(fā)起的。
針對已經(jīng)扣款成功的交易執(zhí)行退款:
如果交易還在進行中,比如渠道側還沒有返回結果,則執(zhí)行退款會導致狀態(tài)不可預知。
注意:退款的錢并不一定立即到賬。不同銀行、不同渠道到賬時間不一樣。
六、接口概述
一般來說,快捷支付需要提供如下接口:
- 簽約, 也叫“綁卡簽約”、“開通交易”等,指用戶在商戶網(wǎng)站上開通快捷支付的功能,他需要將銀行卡相關信息提供給電商。
- 解約, 也叫“解綁卡”, 指用戶取消在該網(wǎng)站上的快捷支付功能。一般也會刪除該用戶在該網(wǎng)站上的相關的銀行卡信息。
- 扣款, 也叫“支付”, 指用戶使用簽約的卡來執(zhí)行一筆扣款。
- 退款, 針對已經(jīng)扣款成功的交易執(zhí)行退款操作,一般同時也會把用戶權益或者對應的訂單撤銷。并不是所有訂單都可以執(zhí)行退款。
- 查單, 查詢某次交易的處理狀態(tài)。
- 簽約查詢, 即檢查某個用戶是否已經(jīng)開通了簽約功能。
七、備份通道
由于快捷支付是常用的一個通道,其帶來的問題是:如果這個通道出問題了,應該怎么辦?
回顧之前的文章,我們提到過:銀行卡快捷支付不僅僅只有發(fā)卡行的通道,銀聯(lián)、第三方支付也都可以提供銀行卡快捷支付接口。
就發(fā)卡行來說,也不僅僅總行通道,很多發(fā)卡行的各省分行,由于歷史因素,手頭也有通道資源。 這也為我們實現(xiàn)通道切換提供了可能。 切換支付通道最大的問題是如何解決簽約。
比如用戶原來使用工行快捷支付接口來完成工行借記卡支付,某一天,工行通知接口要維護,不可用了,這就需要提前把工行接口切到其他備用通道,比如銀聯(lián)接口。當然,直接切換是不行的,和銀聯(lián)還沒簽約呢。 那如何處理備用通道?
關于備用通道的簽約時間,可以在用戶簽約到主通道時,同時簽約到備用通道,這種情況要求備用通道必須是無短信驗證的,否則一次簽約發(fā)兩條短信,用戶肯定會懷疑的。還可以在第一次支付的時候簽約,這時候?qū)⒑灱s支付短信一并發(fā)出,避免影響用戶體驗。
八、接口實現(xiàn)
一般來說,快捷支付接口可以通過封裝如下通道接口來實現(xiàn):
- 當然,首先是銀行自己提供的快捷支付接口;
- 銀行的代扣接口;
- 銀聯(lián)的客戶側開通Token接口。
- 第三方支付的代扣接口。
九、安全與合規(guī)
和銀行卡對接,特別是快捷支付接口,有三個重要的合規(guī)文檔,必須通讀。
1、《非銀行支付機構網(wǎng)絡支付業(yè)務管理辦法》(中國人民銀行公告〔2015〕第43號公布)
2、中國人民銀行關于進一步加強銀行卡風險管理的通知, 銀發(fā)〔2016〕170號
- 嚴禁留存非本機構的支付敏感信息(包括銀行卡磁道或芯片信息、卡片驗證碼、卡片有效期、銀行卡密碼、網(wǎng)絡支付交易密碼等),確有必要留存的應取得客戶本人及賬戶管理機構的授權。
- 各商業(yè)銀行、支付機構應在客戶端軟件與服務器、服務器與服務器之間進行通道加密和雙向認證,對重要信息關鍵字段進行散列或加密存儲,保障信息傳輸、存儲、使用安全。
- 自2016年12月1日起,各商業(yè)銀行、支付機構應使用支付標記化技術( Tokenization),對銀行卡卡號、卡片驗證碼、支付機構支付賬戶等信息進行脫敏處理,并通過設置支付標記的交易次數(shù)、交易金額、有效期、支付渠道等域控屬性,從源頭控制信息泄露和欺詐交易風險。
- 嚴格限制使用初始交易密碼并提示客戶及時修改,建立交易密碼復雜度系統(tǒng)校驗機制,避免交易密碼過于簡單(如“111111”、“123456”等)或與客戶個人信息(如出生日期、證件號碼、手機號碼等)相似度過高。
3、網(wǎng)絡支付報文結構及要素技術規(guī)范(V1.0版), 銀辦發(fā)[2016]222號
#專欄作家#
鳳凰牌老熊,微信公眾號:鳳凰牌老熊,人人都是產(chǎn)品經(jīng)理專欄作家,10多年企業(yè)應用和互聯(lián)網(wǎng)軟件架構設計經(jīng)驗,關注互聯(lián)網(wǎng)金融和大數(shù)據(jù)領域。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
大神,最近研究支付模塊,有個問題:
支付寶在綁定銀行卡的時候,部分master卡需要重復驗證持卡人姓名,并要求提供郵箱地址,這個是什么原因,是境外信用卡限制嗎?
工行儲蓄卡需要校驗密碼
在快捷支付中,綁卡和支付都不需要和渠道打交道,都是通過服務器來中轉(zhuǎn)。這個渠道是指除銀行外的其他渠道嗎?
對!現(xiàn)在很多快捷支付都是不需要卡開通網(wǎng)銀的,這點特別方便!雖然會很擔心安全性 ??
你好,我也是做支付的,能否留個聯(lián)系方式交流一下
特別棒,受益匪淺! ??
一直關注鳳凰牌老熊,也一直想往支付相關的產(chǎn)品經(jīng)理方向努力,謝謝分享。