支付代扣產(chǎn)品如何設(shè)計(jì)?
編輯導(dǎo)語(yǔ):支付體系對(duì)于任何一家公司開(kāi)展業(yè)務(wù)都是一項(xiàng)基礎(chǔ)支撐能力。但每家公司開(kāi)展的業(yè)務(wù)和用戶場(chǎng)景都不同,因此所需要的支付支撐能力也不同。支付產(chǎn)品的設(shè)計(jì)非常多的步驟,今天我們來(lái)看支付代扣產(chǎn)品設(shè)計(jì)流程是如何進(jìn)行的,我們一起來(lái)看看吧。
一、代扣簽約
支付體系對(duì)于任何一家公司開(kāi)展業(yè)務(wù)都是一項(xiàng)基礎(chǔ)支撐能力。
畢竟沒(méi)有支付就沒(méi)有現(xiàn)金,但因每家公司開(kāi)展的業(yè)務(wù)和用戶場(chǎng)景不一樣,所以需要的支付支撐能力也不一樣。
從今天開(kāi)始,我將結(jié)合過(guò)去幾年設(shè)計(jì)過(guò)的支付產(chǎn)品來(lái)給大家做個(gè)分享。
另外因支付的內(nèi)容相對(duì)比較復(fù)雜,畢竟這玩意跟賬戶、跟風(fēng)控、跟財(cái)務(wù),甚至跟國(guó)家的宏觀政策都有關(guān),所以每一篇分享的內(nèi)容,我都是從日常的生活場(chǎng)景出發(fā),幫你詮釋支付產(chǎn)品設(shè)計(jì)的每個(gè)細(xì)節(jié)。
好,廢話不多說(shuō),今天推出支付體系產(chǎn)品設(shè)計(jì)的第一講-免密支付。
我之前在文章中提出,任何互聯(lián)網(wǎng)產(chǎn)品的設(shè)計(jì)都能在現(xiàn)實(shí)生活中找多模型映射,反過(guò)來(lái)也是一樣。
那么在講免密支付之前,同樣,先來(lái)問(wèn)大家一個(gè)問(wèn)題:大家有沒(méi)有在拼多多上買過(guò)東西?或者有沒(méi)有開(kāi)通騰訊視頻VIP會(huì)員服務(wù)?
反正我是開(kāi)通過(guò)騰訊視頻VIP會(huì)員的,另外在拼多多上買東西,只要金額在200元以下(可以調(diào)整)都是不用輸入支付密碼就能下單的,你們是不是,哈哈。
那我們就以用戶在拼多多APP上開(kāi)通免密支付為例,來(lái)說(shuō)明整體業(yè)務(wù)。
在理解下文內(nèi)容之前,有一點(diǎn)需要提前明確的是,微信里面的支付密碼是用來(lái)做什么的?
顧名思義,支付密碼是用于核驗(yàn)用戶身份的。
不管是在支付的過(guò)程還是用于其他場(chǎng)景本質(zhì)都是校驗(yàn)用戶身份。
我之前經(jīng)常提到,手機(jī)、計(jì)算機(jī)沒(méi)有眼睛沒(méi)有大腦,它沒(méi)辦法去靠生物系統(tǒng)去識(shí)別用戶,所以只能通過(guò)認(rèn)證系統(tǒng)去識(shí)別。
你設(shè)置了1,下次再登錄,校驗(yàn)一下1,完全吻合,那么對(duì)于手機(jī)或者計(jì)算機(jī),它就認(rèn)為是同一個(gè)人。
基于這個(gè)前提條件,我們接看下面的截圖:
如果你們沒(méi)有開(kāi)通免密支付,可以嘗試進(jìn)入拼多多APP的個(gè)人中心->設(shè)置->免密支付設(shè)置,選擇微信或者支付寶,點(diǎn)擊立即開(kāi)通,走一遍流程。
好了,那么開(kāi)通之后用戶就可以拼多多上買東西的時(shí)候不用輸入支付密碼就能支付成功了,這是為什么?
在回答這個(gè)問(wèn)題之前,我們接著看一個(gè)現(xiàn)實(shí)生活中的例子:
老江接到合肥車管所電話,需要自己親自回去辦理車輛過(guò)戶手續(xù),但因自己出差在外地,無(wú)法趕到合肥當(dāng)?shù)剀嚬芩@個(gè)時(shí)候怎么解決?
這個(gè)時(shí)候老江就想到了,自己和老李關(guān)系比較好,又趕在老李最近幾天要回合肥,然后雙方簽署了一份委托協(xié)議。
老江委托老李去到合肥車管所辦理過(guò)戶手續(xù),并且把相關(guān)的材料給老李。
于是,老李回到合肥,帶著老江所有的委托協(xié)議和相關(guān)證件,辦理了老江的車輛過(guò)戶手續(xù)。
這里面就涉及到一個(gè)場(chǎng)景,車管所是怎么認(rèn)可老李的,明明是老江要去辦理車輛過(guò)戶是不是?
從車管所的角度來(lái)看,老李將老江的相關(guān)證件和簽署的委托協(xié)議遞交給車管所,那么車管所就等同于是老江到了車管所的現(xiàn)場(chǎng)。
雖然名義上是老李在辦理,但實(shí)質(zhì)上依然是老江在辦理,因?yàn)槔辖屠侠钪g形成了具有法律效應(yīng)的委托關(guān)系(協(xié)議)。
好,這個(gè)里面的關(guān)系,我們?cè)賮?lái)捋一捋,是因?yàn)槔辖辛死侠?,老李才能代理老江去辦理,對(duì)不對(duì)?
所以同樣的場(chǎng)景模型,我們映射到線上。
現(xiàn)在來(lái)回答上面的問(wèn)題,用戶在開(kāi)通免密支付之后就可以不用輸入支付密碼即可完成下單支付扣款。
正常情況下,每次用戶支付都是需要輸入支付密碼的,確保是用戶本人在操作,但是開(kāi)通了免密支付為什么就不需要了?
同樣的道理也是因?yàn)楫a(chǎn)生了委托協(xié)議,這份委托協(xié)議就代替了用戶的支付密碼。
因?yàn)橛脩粢呀?jīng)委托許可了拼多多(商戶)直接在用戶綁定的賬戶里面扣錢(qián)而不用告知用戶。
既然都不用告知用戶,固然就沒(méi)必要讓用戶輸入支付密碼,對(duì)不對(duì),這就是免密支付的本質(zhì)原理?
好,接下來(lái),我們來(lái)給免密支付下個(gè)定義:
免密支付:某種意義上也可以稱之為代扣或者代收服務(wù)(與之相反的是代付代發(fā)),從字面意義上理解是代為扣費(fèi),本質(zhì)上就是扣費(fèi)服務(wù)(原名委托代扣),委托他人代為扣費(fèi)。
委托代扣可應(yīng)用于定期扣款或需事后扣款以期提高效率的場(chǎng)景。
例如但不限于:
會(huì)員制繳費(fèi)、水電煤繳費(fèi)、黃鉆綠鉆增值服務(wù)、打車類軟件、停車場(chǎng)或高速公路無(wú)人繳費(fèi)、理財(cái)通基金定投、信用卡還款、音樂(lè)視頻類VIP包月扣款(就是一開(kāi)始提到的騰訊視頻VIP會(huì)員)等通過(guò)用戶授權(quán)給商戶,進(jìn)行委托扣款的場(chǎng)景。
現(xiàn)在我們?cè)賮?lái)回想下,你在拼多多上開(kāi)通免密支付是不是要簽署委托協(xié)議。
如下圖(只不過(guò)你沒(méi)注意罷了):
上面右圖已經(jīng)說(shuō)的很明確,你授權(quán)商戶(這里的商戶就是拼多多)向財(cái)付通(這里的財(cái)付通就是微信支付)發(fā)出扣款指令。
財(cái)付通在不驗(yàn)證您的支付密碼、短信動(dòng)態(tài)嗎等信息的情況下直接從您的銀行賬戶或者微信賬戶中扣劃商戶指定的款項(xiàng)。
這個(gè)就是典型的用戶授權(quán)拼多多,符合前文講的老江授權(quán)老李的場(chǎng)景業(yè)務(wù)。
我們?cè)賮?lái)看下用戶開(kāi)通免密支付的過(guò)程:
自上到下,從左到右:
- 第1個(gè)界面:在拼多多的免密支付設(shè)置界面(下文統(tǒng)一為:商戶或商戶的移動(dòng)應(yīng)用);
- 第2個(gè)界面:從第1個(gè)界面:跳轉(zhuǎn)到微信(下文統(tǒng)一為:渠道);
- 第3個(gè)界面:微信輸入支付密碼界面;
- 第4、5個(gè)界面:開(kāi)通成功界面;
- 第6個(gè)界面:回跳至拼多多的界面,更新開(kāi)通狀態(tài)。
下面我們進(jìn)入本篇文章的正題,代扣產(chǎn)品怎么設(shè)計(jì):
我們還是以拼多多開(kāi)通微信的免密支付為例來(lái)說(shuō)明。
代扣流程的設(shè)計(jì)涉及到三方:用戶、商戶、渠道(渠道可以是銀行也可以是第三方支付)。
有些條件需要提前準(zhǔn)備:
第一,要拿到渠道的代扣服務(wù)文檔,也就是微信的代扣文檔。
畢竟拼多多接的是微信服務(wù),商戶要想使用騰訊微信的代扣服務(wù),還是要按照人家微信的規(guī)矩來(lái)。
所以商戶(拼多多)的工作人員需要提前帶著你的營(yíng)業(yè)執(zhí)照、法人代表的證件到深圳騰訊公司去申請(qǐng),只不過(guò)現(xiàn)在都可以線上申請(qǐng)入住了(入住流程請(qǐng)查閱微信開(kāi)放平臺(tái),這里不在描述)。
當(dāng)商戶入住微信平臺(tái)之后,微信會(huì)給商戶(拼多多)頒發(fā)一個(gè)賬號(hào),等同于你去銀行開(kāi)戶的時(shí)候銀行給你一張銀行卡一樣。
這個(gè)銀行卡號(hào)就是你在銀行開(kāi)的賬戶,所以微信也會(huì)給拼多多開(kāi)一個(gè)賬戶,這個(gè)賬戶叫做商戶號(hào)(一般以8打頭的數(shù)字)。
第二,申請(qǐng)“模版ID”。
包括appId、商戶號(hào)、密鑰等參數(shù)。
這些參數(shù)都是在后續(xù)流程中使用到的,所以要提前向微信工作人員申請(qǐng)。
如果接入的是支付寶,就需要向阿里巴巴申請(qǐng)。
把微信的相關(guān)參數(shù)申請(qǐng)下來(lái)之后,還要拿到微信的代扣接口文檔(微信那邊的工作人員會(huì)提供),網(wǎng)上也有公開(kāi)的。
微信支付接入流程:https://pay.weixin.qq.com/wiki/doc/api/wxpay_v2/papay/chapter2_6.shtml。
微信協(xié)議簽約和扣費(fèi)接口文檔:https://pay.weixin.qq.com/wiki/doc/api/wxpay_v2/papay/chapter1_1.shtml。
以上是完成產(chǎn)品設(shè)計(jì)的前提條件,作為產(chǎn)品經(jīng)理要會(huì)閱讀接口文檔。
以上準(zhǔn)備工作完成之后就需要著手開(kāi)始設(shè)計(jì)代扣的流程,這個(gè)是重點(diǎn)。
進(jìn)行流程設(shè)計(jì)之前,我們先明確幾個(gè)系統(tǒng)角色,當(dāng)然只是舉例:
移動(dòng)應(yīng)用:用戶簽約代扣業(yè)務(wù)的移動(dòng)APP,或商戶APP。
移動(dòng)應(yīng)用server:一般指的是移動(dòng)應(yīng)用對(duì)應(yīng)的后臺(tái)處理系統(tǒng),需要實(shí)現(xiàn)支付相關(guān)接口支付系統(tǒng)。
公司內(nèi)部支付系統(tǒng),又稱支付網(wǎng)關(guān)服務(wù)系統(tǒng),連接移動(dòng)應(yīng)用server 端和第三方支付系統(tǒng),對(duì)第三方支付系統(tǒng)協(xié)議簽約、解約、查詢等接口進(jìn)行封裝;
渠道系統(tǒng):第三方支付機(jī)構(gòu)或銀行。
大概的系統(tǒng)流程如下:
當(dāng)然每家公司的系統(tǒng)架構(gòu)不一樣,這個(gè)只是舉例:我們看微信需要哪些材料(參數(shù)):
好,上面兩張圖,是微信需要的文件材料,我們放到計(jì)算機(jī)的世界里,那就是數(shù)據(jù)或參數(shù),上面的圖都有解釋,這里不再細(xì)說(shuō)。
我們需要提煉的是這些參數(shù)如果給錯(cuò)了,怎么處理,我們一個(gè)一個(gè)的來(lái)分析:
應(yīng)用ID、商戶號(hào)、模板id:這三個(gè)參數(shù)如果給錯(cuò)了會(huì)有什么結(jié)果?不用說(shuō)交易肯定會(huì)失敗。
因?yàn)檫@個(gè)都是提前申請(qǐng)的,就像你去國(guó)外之前要辦理護(hù)照一樣,這個(gè)護(hù)照就是你的證件。
如果你拿了一個(gè)錯(cuò)的護(hù)照或者假的護(hù)照,也是去不了國(guó)外的,對(duì)不對(duì)。
回調(diào)通知url:這個(gè)如果提供錯(cuò)了,會(huì)怎么樣?
我們首先看看,這個(gè)參數(shù)人家微信那邊是怎么解釋的:
回調(diào)通知url是用于接收簽約成功消息的回調(diào)通知地址,以http或https開(kāi)頭,通知url必須為外網(wǎng)可訪問(wèn)的url,不能攜帶參數(shù)。
那么問(wèn)題來(lái)了,如果這個(gè)地址因?yàn)殚_(kāi)發(fā)人員或者因?yàn)橛?jì)算機(jī)本身的原因搞錯(cuò)了,那么就會(huì)導(dǎo)致平臺(tái)系統(tǒng)(什么是平臺(tái)系統(tǒng)?請(qǐng)看上面的圖)收不到協(xié)議簽約結(jié)果的通知或返回。
就會(huì)導(dǎo)致兩邊的數(shù)據(jù)不一致(微信系統(tǒng)那邊簽約成功,而平臺(tái)系統(tǒng)的簽約失?。?,這個(gè)時(shí)候怎么辦?
這時(shí)候平臺(tái)系統(tǒng)需要主動(dòng)發(fā)起查詢。
我們?cè)賮?lái)看看這張圖:
這張圖中,明確說(shuō)明外部(也就是拼多多)App拉起微信客戶端發(fā)起簽約前,需先后臺(tái)調(diào)用預(yù)簽約接口完成預(yù)簽約,獲取pre_entrustweb_id。
再拉起微信客戶端,完成簽約,返回App。
所以微信的要求是商戶先拿到預(yù)簽約ID(pre_entrustweb_id),怎么拿呢?
我們來(lái)嘗試畫(huà)下預(yù)簽約ID獲取的流程圖:
好,思考下這個(gè)流程有沒(méi)有問(wèn)題?
接下來(lái),當(dāng)商戶也就是拼多多拿到這個(gè)預(yù)簽約ID(pre_entrustweb_id)了。
接下來(lái),怎么處理?
拼多多APP是不是要跳轉(zhuǎn)微信客戶端APP,這個(gè)流程怎么設(shè)計(jì)?
我們把上面的流程再進(jìn)一步細(xì)化一下,完成的簽約流程如下圖:
到此是不是就結(jié)束了?當(dāng)然不是。
我們?cè)O(shè)計(jì)流程不是單純的為開(kāi)發(fā)設(shè)計(jì)流程,還要為自己設(shè)計(jì)流程。
我來(lái)問(wèn)大家一個(gè)問(wèn)題,如果這個(gè)流程設(shè)計(jì)結(jié)束了,產(chǎn)品經(jīng)理怎么跟蹤每個(gè)用戶簽約的簽約狀態(tài),沒(méi)法跟蹤吧。
所以呢,你先思考,不要著急往下看。
你怎么做呢?
我們給簽約增加幾個(gè)狀態(tài)值(已創(chuàng)建、處理中、簽約成功、已過(guò)期、簽約失敗),用于跟蹤和查詢每個(gè)用戶簽約的過(guò)程。
有兩點(diǎn)好處:
- 每筆簽約都有過(guò)程節(jié)點(diǎn),方便在出現(xiàn)問(wèn)題的時(shí)候能迅速定位問(wèn)題;
- 針對(duì)所有簽約免密支付的用戶我能通過(guò)直觀的原型設(shè)計(jì)展現(xiàn)簽約記錄。
所以我們?cè)侔焉厦娴暮灱s流程翻譯一下,如下圖。
通過(guò)這個(gè)圖,把簽約的協(xié)議ID做成節(jié)點(diǎn)狀態(tài),方便后臺(tái)查詢和問(wèn)題定位。
好了,到此為止,一個(gè)完整的簽約協(xié)議的流程圖就設(shè)計(jì)完畢。
好了,再看下面的流程圖,對(duì)比上面微信簽約,有什么區(qū)別?
再回到上面的問(wèn)題,如果因開(kāi)發(fā)人員或者因?yàn)橛?jì)算機(jī)本身程序的原因搞錯(cuò)參數(shù)了,導(dǎo)致平臺(tái)系統(tǒng)收不到協(xié)議簽約結(jié)果的通知或返回,就會(huì)導(dǎo)致兩邊的數(shù)據(jù)不一致(微信系統(tǒng)那邊簽約成功,而平臺(tái)系統(tǒng)的簽約失?。?。
這個(gè)時(shí)候怎么辦?
好,要主動(dòng)發(fā)起查詢,查詢的接口,我們?cè)賮?lái)看下微信需要的參數(shù):
說(shuō)白了,微信需要的是商戶號(hào)、協(xié)議號(hào)、應(yīng)用ID三個(gè)關(guān)鍵性的參數(shù),流程怎么設(shè)計(jì)?
上面的流程是針對(duì)當(dāng)渠道側(cè)沒(méi)有返回或者平臺(tái)側(cè)未接收到任何簽約結(jié)果,平臺(tái)側(cè)主動(dòng)發(fā)起協(xié)議號(hào)簽約查詢的流程圖。
好,上面描述了一個(gè)用戶從商戶APP發(fā)起開(kāi)通免密支付或代扣的簽約和查詢流程圖,這個(gè)里面還會(huì)涉及到支付流程常見(jiàn)的冪等原則,這里不再細(xì)說(shuō)。
簽約完畢了,接下來(lái)就是支付扣款了。
流程怎么設(shè)計(jì)?首先依然看微信代扣的接口文檔:
二、代扣設(shè)計(jì)
前面講了支付產(chǎn)品里面的代扣簽約流程,與之對(duì)應(yīng),當(dāng)用戶開(kāi)通了免密支付,用戶即可在無(wú)需支付密碼的情況完成下單支付,整個(gè)流程怎么設(shè)計(jì);
同樣,我們還是要先預(yù)設(shè)幾個(gè)系統(tǒng)角色:
- 移動(dòng)應(yīng)用:用戶簽約代扣業(yè)務(wù)的移動(dòng)APP,或商戶APP。
- 移動(dòng)應(yīng)用server:一般指的是移動(dòng)應(yīng)用對(duì)應(yīng)的后臺(tái)處理系統(tǒng),需要實(shí)現(xiàn)支付相關(guān)接口
- 支付系統(tǒng):公司內(nèi)部支付系統(tǒng),又稱支付網(wǎng)關(guān)服務(wù)系統(tǒng),連接移動(dòng)應(yīng)用server 端和第三方支付系統(tǒng),對(duì)第三方支付系統(tǒng)協(xié)議簽約、解約、查詢等接口進(jìn)行封裝;
- 渠道系統(tǒng):第三方支付機(jī)構(gòu)或銀行;
好,在用戶簽約了代扣之后,按照之前的接口文檔,渠道會(huì)返回一個(gè)簽約協(xié)議protocolId,公司內(nèi)部的支付平臺(tái)需要及時(shí)記錄這個(gè)ID;
那么我們?cè)谏掀恼绿岬搅艘粋€(gè)protocolId就等同于是老江授權(quán)老李的委托協(xié)議,為了方便問(wèn)題定位也為了更好的完成產(chǎn)品設(shè)計(jì)和后臺(tái)查詢業(yè)務(wù)的可視化,所以增加了不同的狀態(tài)節(jié)點(diǎn)比如協(xié)議號(hào)的創(chuàng)建、處理中、簽約失敗、簽約成功、已過(guò)期、已解約(已過(guò)期這個(gè)狀態(tài)是必須要有的,拼多多在和微信簽訂商業(yè)合作協(xié)議時(shí)就需要明確代扣簽約后,這個(gè)協(xié)議的有效期,有的一年,有的三年);
以下為示例流程圖(具體要結(jié)合公司實(shí)際系統(tǒng)架構(gòu)靈活調(diào)整)。
三、平臺(tái)系統(tǒng)解約(代扣解約)
首先看解約的業(yè)務(wù)場(chǎng)景,看下圖:
上上面的兩幅截圖是用戶在拼多多側(cè)的截圖,上面的圖是微信側(cè)的截圖,也就是說(shuō)用戶在拼多多側(cè)可以關(guān)閉免密服務(wù),也可以在微信側(cè)關(guān)閉免密服務(wù),那么這個(gè)流程怎么設(shè)計(jì)。
直接上圖:渠道側(cè)解約:
平臺(tái)側(cè)解約流程:
好了,關(guān)于代扣簽約、代扣、平臺(tái)側(cè)解約和渠道側(cè)解約的流程已經(jīng)PUSH完畢;再來(lái)思考一個(gè)場(chǎng)景,就是用戶一般情況下都是一般支付一邊簽約(開(kāi)通)免密支付的,也就是支付并簽約的場(chǎng)景,這個(gè)流程該怎么設(shè)計(jì),一樣,我們先看微信的接口文檔:
本文由 @產(chǎn)品經(jīng)理研究站?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Pexels,基于CC0協(xié)議
免密支付還是非常方便用戶的,就還是要把安全性這一塊弄好
沒(méi)錯(cuò)