萬字長文,四段式收銀臺(tái)設(shè)計(jì)
每天我們都會(huì)通過形形色色的收銀臺(tái)完成與各種買賣交易,順暢的體驗(yàn)可能會(huì)讓你感覺到支付只是一個(gè)收銀臺(tái)。想要在不同場(chǎng)景下都能設(shè)計(jì)出體驗(yàn)良好的收銀臺(tái)。我們可以一起來看一下這篇文章的介紹。
各位小伙伴,大家好!
每天我們都會(huì)通過形形色色的收銀臺(tái)完成與各種買賣交易,順暢的體驗(yàn)可能會(huì)讓你感覺到支付只是一個(gè)收銀臺(tái)。然而好的產(chǎn)品千篇一律,爛的產(chǎn)品千奇百怪,很多體驗(yàn)很差的收銀臺(tái)讓你覺得“怎么連一個(gè)頁面都做不好”。今天我就來給大家介紹一個(gè)標(biāo)準(zhǔn)版的收銀臺(tái)產(chǎn)品,通過標(biāo)準(zhǔn)形態(tài)的了解,讓你能夠舉一反三在不同場(chǎng)景下都能設(shè)計(jì)出體驗(yàn)良好的收銀臺(tái)。
【老規(guī)矩,覺得簡(jiǎn)單或者啰嗦的同學(xué),直接翻到最后看總結(jié)】
一、支付收銀臺(tái)介紹
1. 收銀臺(tái)的終端
圖1:支付終端類型
支付終端的目的是通過場(chǎng)景適配為用戶提供體驗(yàn)良好的操作體驗(yàn),并且也是為了保證用戶的支付安全。
1)場(chǎng)景適配
現(xiàn)在手機(jī)、柜面、自助設(shè)備、網(wǎng)站等交易場(chǎng)景很多,因此就要給出適配各種場(chǎng)景的收銀臺(tái)提供給客戶去使用。
2)操作體驗(yàn)
原始的支付方式都是一些需要技術(shù)開發(fā)的接口,因此需要通過各種終端頁面來保證用戶操作的體驗(yàn)流暢,這樣才能給商家?guī)砀玫闹Ц掇D(zhuǎn)化率。
3)支付安全
支付安全主要是兩方面,一方面是通過增加“密碼、刷臉、指紋、安全證書”等方式保證用戶支付的安全。另一方面是通過“終端與渠道”綁定,減少中間機(jī)構(gòu)和服務(wù)商進(jìn)行路由套利的機(jī)會(huì)。
2. 收銀支付方式
圖2:支付方式變遷
一個(gè)簡(jiǎn)單好用的收銀臺(tái)背后是“支付方式”,而支付方式背后則是對(duì)支付渠道提供的支付產(chǎn)品的包裝。支付方式的作用一方面是向用戶展示他可使用支付渠道有哪些,另一方面通過錢包、二維碼、刷臉等方式包裝提升用戶支付效率和體驗(yàn)。
支付方式從現(xiàn)金到二維碼經(jīng)歷了一個(gè)比較長的發(fā)展過程,所有的支付方式都是從早期柜面上現(xiàn)金交易的卡、折、電匯、信匯發(fā)展而來的。而能夠進(jìn)行網(wǎng)絡(luò)和移動(dòng)支付的主要分為“卡基、賬基、條碼”三類。
1. 卡基支付
圖3:卡基支付
卡基支付是指以銀行卡為介質(zhì)進(jìn)行支付的形式。這也是最基礎(chǔ)的一種支付方式,只要你擁有一張儲(chǔ)蓄卡或者信用卡就能進(jìn)行支付。
1)POS刷卡
這是最早的一種電子支付方式,也是一種線下的支付方式。通過POS機(jī)具讓你在線下門店、商超刷卡支付。后來又演變出手刷、智能POS支付等產(chǎn)品。
2)快捷支付
這是最早的一種移動(dòng)支付方式,通過線上綁卡就能進(jìn)行網(wǎng)上的支付和消費(fèi)。也是移動(dòng)支付最流行的支付產(chǎn)品,因?yàn)樗梢詳[脫實(shí)體卡的束縛通過手機(jī)方便的支付。
3)網(wǎng)銀支付
早期的網(wǎng)銀支付是需要通過PC電腦跳轉(zhuǎn)到銀行的網(wǎng)銀上進(jìn)行大額的支付,現(xiàn)在網(wǎng)銀支付也逐步開始移動(dòng)化方向發(fā)展了。而傳統(tǒng)的PC端操作的網(wǎng)銀更多的應(yīng)用在大額支付、企業(yè)支付的場(chǎng)景中。
卡基支付雖然在早期移動(dòng)支付中起到推動(dòng)作用,但是其使用起來并不是很方便,POS刷卡你就需要攜帶銀行卡在身邊,快捷支付你需要在不同的平臺(tái)綁卡,網(wǎng)銀支付你要安裝加密插件或者攜帶U盾。因此賬基支付應(yīng)運(yùn)而生。
2. 賬基支付
圖4:賬基支付
基于賬戶的支付方式,他主要是在銀行賬戶、支付賬戶、數(shù)幣賬戶上包裝出來的錢包賬戶。這種支付方式依托于互聯(lián)網(wǎng)支付平臺(tái)大量的實(shí)名認(rèn)證的用戶體系,通過他們的提供的賬戶體系,商家接入后用戶不需要再進(jìn)行繁瑣的實(shí)名認(rèn)證,直接就能進(jìn)行消費(fèi)。
比如電商類平臺(tái)就普遍接入了微信、支付寶、云閃付的支付產(chǎn)品,由于用戶已經(jīng)完成實(shí)名,交易轉(zhuǎn)化率非常的高。
3. 條碼支付
圖5:條碼支付
這里主要是指面向各種二維碼進(jìn)行線上訂單碼,線下機(jī)具、碼牌等一體化的支付方式,當(dāng)然他本質(zhì)上是對(duì)銀行卡、賬戶的一種深度聚合包裝。這里二維碼又按照“商戶”和“用戶”維度分為三種形式。
- 商家靜態(tài)碼:這是以收款商家的商戶號(hào)生成的二維碼,主要做出靜態(tài)碼牌,云喇叭等形式用戶掃碼后輸入金額付款,這種二維碼適合做出聚合碼支持多種APP來支付。
- 商家訂單碼:這種是根據(jù)商家接收到的商品訂單來生成的二維碼,用戶無需輸入金額直接按照訂單支付即可。這類主要用在自助設(shè)備和網(wǎng)站上供用戶支付。
- 用戶付款碼:他是根據(jù)用戶的收款賬號(hào)生成的付款碼,商家通過掃碼槍或者盒子掃描用戶APP展示的付款碼完成收款。
3. 收銀交互體驗(yàn)
圖6:支付三步式體驗(yàn)
“你為什么一個(gè)頁面要做這么久”,其實(shí)這是對(duì)收銀臺(tái)的誤解。如果你使用過開戶、綁卡和實(shí)名認(rèn)證,應(yīng)該知道在未實(shí)名的情況下收銀臺(tái)的支付方式開通還是比較復(fù)雜而繁瑣的,只是在微信、支付寶的大量實(shí)名用戶支撐下讓你覺得簡(jiǎn)單而已。
收銀臺(tái)除了支付方式包裝外,他的用戶流程經(jīng)過微信、支付寶的市場(chǎng)教育之后也是基本上是一套標(biāo)準(zhǔn)的流程。我們可以把它分為支付前、支付中、支付后三個(gè)階段。
1)支付前
這就是用戶看到第一個(gè)支付頁面,他分為訂單和支付方式兩部分。
- 訂單信息:是給用戶展示“商品訂單”、“交易金額”、“商家名稱”等簡(jiǎn)單的支付信息,讓用戶確認(rèn)是否要進(jìn)一步支付。
- 支付方式:是提供用戶選擇通過什么賬戶來進(jìn)行付款。這里支付方式就需要盡可能的豐富了,因?yàn)橛脩舳枷聠瘟?,如果因?yàn)闆]有合適的支付方式而放棄支付,那就太可惜了。因此這里除了銀行卡、賬戶以外,還有貨幣基金、授信額度等多種支付方式供你選擇,總有一款適合你付錢。
2)支付中
用戶選擇了支付方式點(diǎn)擊確認(rèn)后,就要進(jìn)入支付頁面了讓用戶完成支付了。如果用戶選擇的是銀行卡、賬戶支付,收銀臺(tái)會(huì)跳轉(zhuǎn)到本地的支付頁面;如果是微信、支付寶、銀行APP、數(shù)字人民幣等外部提供的支付頁面,需要跳轉(zhuǎn)到渠道的提供的收銀臺(tái)完成支付。
用戶支付成功后需要跳轉(zhuǎn)回來繼續(xù)下一步操作,這時(shí)候由于兩邊系統(tǒng)缺少交互,因此分四個(gè)步驟來進(jìn)行,頁面跳轉(zhuǎn)、支付回調(diào)、結(jié)果查詢和用戶通知。以確?!绊撁妗①~務(wù)系統(tǒng)、接入商家、用戶”四方都能同步到支付結(jié)果。
3)支付后
跳轉(zhuǎn)回來后,給用戶展示的頁面主要分為“支付結(jié)果”和“營銷活動(dòng)”兩部分。
- 支付結(jié)果:就是用戶支付這筆訂單的最終結(jié)果,結(jié)果頁面的正常展示說明渠道、本地都已經(jīng)同步結(jié)果了,如果沒能正常展示則需要提示用戶去主動(dòng)查詢訂單結(jié)果。
- 營銷活動(dòng):營銷活動(dòng)是個(gè)可選項(xiàng),并不是每個(gè)收銀臺(tái)必須的。可以配置內(nèi)部的推薦產(chǎn)品和活動(dòng),也可以配置外部的營銷活動(dòng)(例如微信點(diǎn)金計(jì)劃)等。
二、收銀臺(tái)業(yè)務(wù)架構(gòu)
收銀臺(tái)由于涉及用戶支付操作的全流程,因此他的“戰(zhàn)線”拉得也比較長。它與“終端,網(wǎng)關(guān)、收銀服務(wù)、支付服務(wù)”緊密協(xié)作,為用戶提供良好的支付體驗(yàn)。
1. 業(yè)務(wù)架構(gòu)介紹
圖7:收銀臺(tái)業(yè)務(wù)架構(gòu)
- 終端:它是用來適配各類支付場(chǎng)景,例如“h5支付”頁面要提供定制化的引導(dǎo)頁面,支付后的活動(dòng)頁面。“APP支付”要提供可以給商戶APP集成的SDK,收銀設(shè)備要提供不同設(shè)備環(huán)境內(nèi)的“應(yīng)用APP”等。同時(shí)收銀終端也要為客戶提供“安全證書、密鑰”等安全加密機(jī)制,以確保終端和網(wǎng)關(guān)之間的交互安全。
- 網(wǎng)關(guān):網(wǎng)關(guān)是對(duì)外提供各類的服務(wù)接口給商家平臺(tái)和終端設(shè)備進(jìn)行調(diào)用,并且負(fù)責(zé)根據(jù)請(qǐng)求處理對(duì)后端調(diào)用。對(duì)接收銀臺(tái)的網(wǎng)關(guān)主要分為“收單網(wǎng)關(guān)”和“會(huì)員網(wǎng)關(guān)”兩類。收單網(wǎng)關(guān)負(fù)責(zé)“收款、分賬”等支付請(qǐng)求的處理;“會(huì)員網(wǎng)關(guān)”負(fù)責(zé)“充值、付款、開戶、綁卡等”賬戶請(qǐng)求的處理。
- 收銀服務(wù):收銀臺(tái)服務(wù)主要用來負(fù)責(zé)“收銀臺(tái)訪問”,“收銀臺(tái)展示”,“交易過程處理”。它向前端提供收銀臺(tái)服務(wù)的接口,收銀臺(tái)展示和交易處理的流程,以及對(duì)后臺(tái)支付服務(wù)調(diào)用。
- 支付服務(wù):他為收銀臺(tái)提供后臺(tái)支撐服務(wù),內(nèi)容包括“商戶系統(tǒng)”、“支付渠道”、“賬戶系統(tǒng)”、“交易系統(tǒng)”、“實(shí)時(shí)風(fēng)控”等多個(gè)系統(tǒng)。
2. 收銀臺(tái)用例介紹
圖8:收銀臺(tái)用例
1)收銀臺(tái)業(yè)務(wù)邊界
- 網(wǎng)關(guān)訪問:收銀臺(tái)對(duì)外提供“收銀臺(tái)服務(wù)接口”,接收來自收單網(wǎng)關(guān)、會(huì)員網(wǎng)關(guān)的支付請(qǐng)求。
- 客戶系統(tǒng):收銀臺(tái)對(duì)“客戶系統(tǒng)”主要是訪問“會(huì)員認(rèn)證”和“商戶產(chǎn)品”配置。其中“會(huì)員認(rèn)證”用于對(duì)用戶支付方式對(duì)應(yīng)的“銀行卡”和“賬戶”進(jìn)行信息驗(yàn)證,同時(shí)也可以擴(kuò)展“綁卡/開戶”的操作。收銀臺(tái)本身是商戶簽約產(chǎn)品的一部分,因此收銀臺(tái)的配置是從商戶簽約產(chǎn)品中獲得信息。
- 支付系統(tǒng)
- 交易服務(wù):為收銀臺(tái)提供收款、充值、付款,以及收款成功后交易分賬處理。
- 支付渠道:如果渠道也有類似“小程序、APP、H5”的收銀臺(tái),需要通過本地收銀臺(tái)與渠道進(jìn)行“獲取、拉起和回跳”等訪問和處理。
- 實(shí)時(shí)風(fēng)控:對(duì)交易限額、限次等實(shí)時(shí)風(fēng)控規(guī)則對(duì)收銀臺(tái)交易檢查,即時(shí)攔截用戶支付時(shí)監(jiān)測(cè)到的風(fēng)險(xiǎn)。
2)收銀臺(tái)用例說明
- 收銀臺(tái)接口:收銀臺(tái)提供給外部的服務(wù)接口,包括“地址獲取、頁面獲取、回調(diào)處理、結(jié)果查詢”等;
- 收銀臺(tái)服務(wù):收銀臺(tái)服務(wù)的主控服務(wù),通過讀取商家的收銀臺(tái)參數(shù)來控制頁面展示和交易處理流程。
- 支付方式:以接口或者頁面的形式,提供收銀臺(tái)支付方式的信息的查詢,以及在收銀臺(tái)上對(duì)于綁卡、開戶操作的擴(kuò)展。
- 支付頁面:按支付前、支付中、支付后三個(gè)步驟來操作對(duì)應(yīng)的支付頁面。
三、收銀臺(tái)工作原理
隨著移動(dòng)支付的推廣,以及微信/支付寶的長期的市場(chǎng)教育,他們四段式收銀臺(tái)交互標(biāo)準(zhǔn),已經(jīng)成為事實(shí)上的行業(yè)標(biāo)準(zhǔn)。掌握這個(gè)標(biāo)準(zhǔn)流程,做個(gè)收銀臺(tái)其實(shí)很簡(jiǎn)單。
圖9:收銀臺(tái)“四段式”交互流程
1. 標(biāo)準(zhǔn)四段式交互
1)支付下單
這是支付的第一步,我們選擇商品下單后就會(huì)進(jìn)入“收銀臺(tái)頁面”向你展示支付金額,商品摘要信息,讓你選擇支付方式,你確認(rèn)后就會(huì)向后臺(tái)下單。
2)調(diào)用收銀臺(tái)
下單后服務(wù)端會(huì)返回一個(gè)收銀臺(tái)參數(shù),獲得這個(gè)參數(shù)后支付平臺(tái)就能拉起收銀臺(tái)讓用戶跳轉(zhuǎn)完成支付了。如果用戶選擇的“快捷、余額支付”等本地支付方式,就會(huì)調(diào)用本地收銀臺(tái),如果用戶選擇的是微信、支付寶這類外部的賬戶就會(huì)調(diào)用渠道的收銀臺(tái)。
3)回調(diào)通知
回調(diào)包括兩部分,一部分是收銀臺(tái)返回,另一部分是支付結(jié)果通知。
- 收銀臺(tái)返回:用戶在收銀臺(tái)上完成支付后,需要返回發(fā)起交易的平臺(tái)繼續(xù)完成后續(xù)的操作,
- 支付結(jié)果通知:跳轉(zhuǎn)收銀臺(tái)這種方式雖然很安全,但是用戶的支付結(jié)果對(duì)于發(fā)起交易的“商家或支付平臺(tái)”是無法掌握的。因此,需要通過回調(diào)的方式把結(jié)果推送給發(fā)起者所在的平臺(tái)。
4)同步結(jié)果
- 商家結(jié)果查詢:返回發(fā)起方的頁面后會(huì)有一個(gè)短暫的白屏頁面,這是本地的結(jié)果頁面要查詢訂單結(jié)果給用戶看。如果回調(diào)結(jié)果已經(jīng)到了支付系統(tǒng),那本地查詢下就可以了。如果沒有則需要到渠道把這個(gè)支付結(jié)果查回來然后記賬并完成結(jié)果頁面的推送。
- 用戶結(jié)果通知:如果一直查不回來,那豈不是用戶和商家都不知道呢?這個(gè)設(shè)計(jì)者也想到了,渠道不僅會(huì)通知商家支付系統(tǒng),也會(huì)發(fā)送短信或者APP消息告知用戶已經(jīng)扣款。
以上就是一個(gè)行業(yè)內(nèi)通用的收銀臺(tái)支付過程,在網(wǎng)絡(luò)一切正常的情況下他幾乎是在一瞬間完成,讓你對(duì)此渾然不知。即使出現(xiàn)網(wǎng)絡(luò)異常,他也能保證交易對(duì)手之間至少有一個(gè)人對(duì)于支付結(jié)果是明確的。
2. 收銀臺(tái)服務(wù)流程
了解了四段式的處理方式我們?cè)賮砩钊爰夹g(shù)實(shí)現(xiàn)的細(xì)節(jié),看下系統(tǒng)內(nèi)部各個(gè)模塊之間是如何去串聯(lián)的和處理的。
圖10:收銀臺(tái)時(shí)序圖
1)收銀臺(tái)參數(shù)
我們看到下單過程創(chuàng)建訂單前,首先跟進(jìn)用戶選擇的支付方式在商戶系統(tǒng)中讀取收銀臺(tái)的配置信息,這樣做的目的就是校驗(yàn)商家有權(quán)限使用哪些支付產(chǎn)品,收銀臺(tái)應(yīng)該給他如何展現(xiàn)。
2)支付下單
支付下單過程中包含兩個(gè)過程:
- 創(chuàng)建支付訂單:首先是本地創(chuàng)建支付訂單,如果涉及渠道收銀臺(tái)也要同步去創(chuàng)建。
- 獲取收銀臺(tái)參數(shù):其次就是要生成收銀臺(tái)參數(shù),提供調(diào)用收銀臺(tái)做準(zhǔn)備。收銀臺(tái)參數(shù)一般是鏈接或者訪問的令牌(這個(gè)在后面詳細(xì)介紹)。
3)收銀臺(tái)跳轉(zhuǎn)
- 收銀臺(tái)跳轉(zhuǎn):獲得收銀臺(tái)參數(shù)后,下一步就是讓用戶跳轉(zhuǎn)到指定的收銀臺(tái)上進(jìn)行支付。這一步主要是通過“收銀臺(tái)系統(tǒng)”與“渠道收銀臺(tái)”之間參數(shù)進(jìn)行轉(zhuǎn)換和收銀臺(tái)的跳轉(zhuǎn)。
- 二次開發(fā):這里也是渠道收銀臺(tái)是否要二次包裝的關(guān)鍵位置,比如我們做聚合二維碼的時(shí)候,在此處就可以根據(jù)用戶掃碼的APP來決定是跳轉(zhuǎn)“微信公眾號(hào)”還是“支付寶服務(wù)窗”,這樣用戶可以無感的完成跳轉(zhuǎn)選擇。
4)支付回調(diào)
- 支付結(jié)果登記:為了能夠及時(shí)掌握用戶在渠道收銀臺(tái)上是否完成了支付,作為收銀臺(tái)提供者一方要給交易發(fā)起者一個(gè)支付結(jié)果通知,這樣發(fā)起者就能進(jìn)行賬務(wù)登記。
- 及時(shí)響應(yīng)結(jié)果:作為發(fā)起者也要完成賬務(wù)登記后給支付渠道一個(gè)“成功”響應(yīng)結(jié)果,告訴渠道我記完賬了。如果不返回會(huì)怎么辦呢?渠道為了保證你能成功就收,他會(huì)按照一定的時(shí)間間隔不斷的向你發(fā)送結(jié)果通知,直到你給回復(fù),或者超出規(guī)定的次數(shù)或時(shí)間。
5)收銀臺(tái)返回
- 頁面返回:完成支付后需要返回商戶結(jié)果頁面,這個(gè)結(jié)果頁面一般是通過在渠道的商戶后臺(tái)進(jìn)行設(shè)置或者通過集成的SDK來獲得返回地址。
- 結(jié)果查詢:頁面返回后本地的結(jié)果頁面還不知道這筆訂單記賬成功沒有,是否有折扣、是否扣收用戶手續(xù)費(fèi)等信息,因此要進(jìn)行一次結(jié)果查詢。如果沒有查回來則會(huì)讓用戶去主動(dòng)確認(rèn)訂單結(jié)果,系統(tǒng)也會(huì)定時(shí)地去掃描結(jié)果,直至最終支付系統(tǒng)和渠道的結(jié)果一致。
- 用戶通知:這個(gè)處理支付渠道和用戶之間的交互,有APP內(nèi)通知、短信通知等多種形式。中間商戶系統(tǒng)、支付系統(tǒng)本身不需要處理。其目的就是確保用戶了解支付結(jié)果,防止訂單被篡改。
四、收銀臺(tái)設(shè)計(jì)實(shí)戰(zhàn)
了解了收銀臺(tái)四段式的工作原理之后,我們?cè)偻ㄟ^一個(gè)實(shí)際案例來介紹下具體的設(shè)計(jì)實(shí)現(xiàn)。我們來設(shè)計(jì)一款“統(tǒng)一收銀臺(tái)”的收銀臺(tái)支付產(chǎn)品,他能以統(tǒng)一的方式完成市面上主流支付方式以收銀臺(tái)的形式完成支付。
1. 統(tǒng)一收銀方案
1. 統(tǒng)一收銀背景
我們希望介紹一套統(tǒng)一的收銀系統(tǒng),支付平臺(tái)只要發(fā)布一套標(biāo)準(zhǔn)服務(wù),就能快速擴(kuò)展主流的支付方式,包括“快捷支付、余額支付、小程序、公眾號(hào)、APP、H5、掃碼支付(C掃B)、條碼支付(B掃C)”等都能支持。
2. 產(chǎn)品實(shí)現(xiàn)方案
圖11:統(tǒng)一收銀臺(tái)的核心能力
1)產(chǎn)品方案分析
從上圖中我們可以看到,微信、支付寶兩套接口整體交互基本是一致的,唯一的區(qū)別就在調(diào)用的收銀臺(tái)由于適配的終端不同需要采用不同的調(diào)用方式。所以我們就采用“微信、支付寶”接口標(biāo)準(zhǔn)作為我們收銀臺(tái)服務(wù)的標(biāo)準(zhǔn)(沒錯(cuò),就是抄)。
這里比較麻煩的是,快捷、賬戶兩個(gè)支付方式,他們服務(wù)交互形式各有各的特色,并不是很好整合。所以我們統(tǒng)一把這些個(gè)性化的支付方式按照“四段式交互標(biāo)準(zhǔn)”包裝成“APP和H5”形式的“聚合收銀臺(tái)”,這樣支付的整體交互就統(tǒng)一了。
2)統(tǒng)一下單方案
通過方案分析,我們知道做一個(gè)收銀臺(tái)它的個(gè)性化部分主要是在下單和調(diào)用收銀臺(tái),我們就從這里下手來做統(tǒng)一收銀臺(tái)。至于服務(wù)的交互標(biāo)準(zhǔn)我們就采用微信的交互方式稍加改造我們自己的統(tǒng)一收銀就實(shí)現(xiàn)了(我們不是抄產(chǎn)品,我們只是行業(yè)標(biāo)準(zhǔn)的搬運(yùn)工)。
圖12:統(tǒng)一下單數(shù)據(jù)要素(紅色字體為通用報(bào)文頭)
- 增加支付類型:要做統(tǒng)一收銀臺(tái),并不是簡(jiǎn)單的照抄微信,因?yàn)槲⑿烹m然標(biāo)準(zhǔn)但它不是統(tǒng)一收銀。所以我們?cè)诮y(tǒng)一下單的報(bào)文中增加一個(gè)“支付類型”,讓商家要使用什么支付方式進(jìn)行選擇,這樣就能無限擴(kuò)展新增的收銀臺(tái)了。
- 定義公共要素:我們希望每個(gè)報(bào)文公共部分都是一樣的,業(yè)務(wù)要素是可以根據(jù)具體場(chǎng)景再來補(bǔ)充。所以我們需要仔細(xì)研讀各種收銀臺(tái)的接口文檔抽取出公共部分,當(dāng)然這個(gè)過程還是挺費(fèi)時(shí)間和吃功夫的。為了節(jié)約大家時(shí)間我這里給大家一套標(biāo)準(zhǔn)的方案直接拿去改吧。把圖中標(biāo)紅的字段作為公共的報(bào)文要素,保持每個(gè)報(bào)文都按此方式統(tǒng)一處理。其他信息按照具體業(yè)務(wù)場(chǎng)景進(jìn)行增減和保證即可。
- 擴(kuò)展業(yè)務(wù)信息:統(tǒng)一下單訂單目的是創(chuàng)建一筆訂單來記錄交易過程,然后根據(jù)不同支付方式返回不同類型的收銀臺(tái)提供下一步操作。因此我們給返回報(bào)文定義完公共信息后,增加一個(gè)擴(kuò)展參數(shù)支持各種收銀臺(tái)參數(shù)和交互業(yè)務(wù)信息的返回給交易發(fā)起方進(jìn)行下一步操作。
3)收銀調(diào)用方案
完成了訂單創(chuàng)建后,我們就可以跳轉(zhuǎn)收銀臺(tái)進(jìn)行支付了。這一步是否順利完成,就不是接口層面的事情了。它依靠的是你當(dāng)初商戶入網(wǎng)時(shí)候申請(qǐng)的支付產(chǎn)品了,畢竟支付是件合規(guī)性要求很高的事情,什么樣的場(chǎng)景適用于什么收銀臺(tái)都要根據(jù)實(shí)質(zhì)業(yè)務(wù)場(chǎng)景來審核的。下面我們來看下申請(qǐng)收銀臺(tái)需要哪些前期準(zhǔn)備。下面我們以微信支付為例來介紹整個(gè)準(zhǔn)備過程,支付寶和其他錢包APP基本類似,稍作轉(zhuǎn)換和后臺(tái)配置即可。
圖13:收銀臺(tái)使用的參數(shù)說明
1)申請(qǐng)參數(shù)(讓你擁有身份)
首先你要在渠道上申請(qǐng)“應(yīng)用編號(hào)”和“商戶編號(hào)”,應(yīng)用編號(hào)是支付渠道給你分配使用支付應(yīng)用的一個(gè)統(tǒng)一編號(hào)。簡(jiǎn)單來說有了他你就可以去申請(qǐng)各種收銀臺(tái)了?!吧虘艟幪?hào)”就是你可以收錢的賬戶編號(hào)。
2)安全加密(讓你安全支付)
支付說到底是個(gè)接口生意,由于需要交易數(shù)據(jù)交互和多段式接口調(diào)用,因此需要安全證書和密鑰,確保信息安全的加密傳輸,交易接口也不會(huì)被交易發(fā)起方隨意的篡改和套用。
3)應(yīng)用配置(讓收銀臺(tái)返回)
當(dāng)你申請(qǐng)完成開通商戶后,還不能立即進(jìn)行開發(fā)你要設(shè)置收銀臺(tái)結(jié)果頁面返回地址,以便于用戶操作完后返回你的平臺(tái)。這里的設(shè)置根據(jù)不同的收銀臺(tái)各有不同設(shè)置方式,其目的就是讓用戶返回更為順暢。
4)下單接口(實(shí)現(xiàn)統(tǒng)一下單)
下單接口都是采用統(tǒng)一下單的方式。其中付款碼稍微特殊些,他是一種用掃碼槍或者掃碼盒子主掃(B掃C)的形式,需要交易發(fā)起方上傳讀取的二維碼給渠道方,渠道方校驗(yàn)通過后返回訂單結(jié)果給交易發(fā)起方。
5)返回參數(shù)(三類收銀參數(shù))
下單后的返回收銀臺(tái)參數(shù)各有不同,主要分為以下三類
- 交易編號(hào):它返回的是創(chuàng)訂單的“預(yù)支付編號(hào)”,適用于在渠道APP內(nèi)部調(diào)用的收銀臺(tái)(例如小程序、公眾號(hào)、APP等),渠道會(huì)根據(jù)預(yù)支付編號(hào)查詢你原始的訂單,并加載收銀臺(tái)給你使用。
- 收銀臺(tái)鏈接:適用于掃碼、H5等通過支付鏈接來返回二維碼和收銀臺(tái)的支付方式。
- 無收銀臺(tái)參數(shù):當(dāng)然也有像“付款碼”這種收銀臺(tái)在用戶一側(cè),無須任何收銀臺(tái)信息的交互形式。
6)收銀調(diào)用(四種技術(shù)手段)
收銀臺(tái)調(diào)用是比較偏技術(shù)實(shí)現(xiàn)層面的,它分為“API調(diào)用、瀏覽器調(diào)用,集成sdk調(diào)用和鏈接訪問”四種方式。詳細(xì)的我們?cè)诤竺妗爱a(chǎn)品需要知道的技術(shù)”文章中單獨(dú)介紹。
7)回調(diào)地址(通知支付結(jié)果)
回調(diào)地址就是支付結(jié)果的通知地址,這個(gè)地址是在下單時(shí)候交易發(fā)起方主動(dòng)上傳的,用來接收用戶在收銀臺(tái)上的支付結(jié)果。至此我們整個(gè)收銀臺(tái)的實(shí)現(xiàn)方案已經(jīng)明確好了,下面我們就可以開始實(shí)際的設(shè)計(jì)了。
2. 收銀臺(tái)交互
通過收銀臺(tái)完成支付主流移動(dòng)支付形式有四類“銀行卡支付、余額支付、APP支付、掃碼支付”,這些支付方式都遵循了“四段式”的支付方式。(需要說明的是以下收銀臺(tái)交互都是以一家為商戶提供支付服務(wù)的三方支付機(jī)構(gòu)視角提供頁面)
1. 銀行卡支付
圖14:銀行卡快捷支付
銀行卡支付底層是基于快捷支付產(chǎn)品,快捷產(chǎn)品特點(diǎn)就是需要簽約綁卡,支付的時(shí)候也一般需要短信驗(yàn)證碼。因此這里的選擇支付方式之后是調(diào)用了本地快捷收銀臺(tái),其后的回調(diào)結(jié)果由于是本地支付方式因此速度非??炀涂梢酝瓿桑S后將結(jié)果同步給商家。
2. 本地余額支付
圖15:支付賬戶余額支付
本地余額支付主要指通過本地支付賬戶進(jìn)行支付(支付賬戶又叫會(huì)員賬戶、余額賬戶)。用戶選擇支付方式后會(huì)跳轉(zhuǎn)到余額賬戶的收銀臺(tái)確認(rèn)訂單與賬戶后輸入密碼完成支付。由于賬戶是本地的因此回調(diào)結(jié)果非??斓姆祷亟o商家,同步也返回商家頁面。
3. 渠道賬戶支付
圖16:渠道賬戶支付
渠道賬戶支付主要是指接入“微信、支付寶”或者“銀行數(shù)字賬戶”等產(chǎn)品,這類也是采用了四段式交互,因此過程就相對(duì)復(fù)雜了。用戶在收銀臺(tái)選擇支付方式后,先要調(diào)用渠道收銀臺(tái),讓用戶跳轉(zhuǎn)后完成支付。支付成功后需要接收渠道的回調(diào)結(jié)果,然后將回調(diào)結(jié)果同步給商家。最后渠道返回頁面到支付平臺(tái),支付平臺(tái)再返回到商家。
由此可見,這個(gè)過程每個(gè)節(jié)點(diǎn)都有商家、支付平臺(tái)、渠道要進(jìn)行轉(zhuǎn)發(fā)和同步,因此比較容易出現(xiàn)結(jié)果不明的情況,因此這類產(chǎn)品需要配合定時(shí)任務(wù)來同步結(jié)果,保持“商家、支付平臺(tái)、渠道”結(jié)果最終一致性。
4. 掃碼支付
圖17:掃碼支付
掃碼支付主要是指“靜態(tài)碼牌”或者“網(wǎng)站/自助設(shè)備商品碼”,他們的特點(diǎn)就是可以自制一個(gè)二維碼,在用戶掃碼下單后,判斷掃碼APP來跳轉(zhuǎn)到不同的收銀臺(tái)(一般是公眾號(hào)或者服務(wù)窗)完成支付。支付成功后通過用戶在APP內(nèi)點(diǎn)擊確認(rèn)返回結(jié)果頁面,這里的結(jié)果頁面如果是靜態(tài)碼牌由于商家未做定制因此直接返回支付的頁面即可。
3. 收銀臺(tái)配置
有了收銀臺(tái)支付產(chǎn)品,就需要能夠靈活的配置出來提供給商戶使用,并且收銀臺(tái)上的所展示的內(nèi)容可以進(jìn)行靈活的配置,滿足不同產(chǎn)品、不同客戶的需求。因此收銀臺(tái)采用了下的配置過程。
圖18:收銀臺(tái)配置關(guān)系
商戶入網(wǎng)申請(qǐng)通過后,會(huì)給商戶配置所申請(qǐng)的“簽約產(chǎn)品”,簽約產(chǎn)品一般是提前設(shè)置好的,只要在“商戶簽約設(shè)置”中將簽約產(chǎn)品關(guān)聯(lián)上就可以了。
1. 簽約產(chǎn)品配置
在提供商戶配置之前,要先創(chuàng)建一個(gè)默認(rèn)的支付方式配置。像聚合收銀臺(tái)這樣的產(chǎn)品,它可能是多組支付方式組成的,因此在這里我們把這一組的支付方式稱為一個(gè)“簽約產(chǎn)品”。
圖19:簽約產(chǎn)品設(shè)置
創(chuàng)建一個(gè)簽約產(chǎn)品需要給他設(shè)置很多東西,包括使用什么網(wǎng)關(guān)接口,交易類型,收付款賬戶,默認(rèn)分賬方,以及為每個(gè)支付方式設(shè)置他們的交易屬性。
從上圖我們可以看到,支付方式可以進(jìn)行多級(jí)分組,這樣就能適應(yīng)收銀臺(tái)多種支付方式分類展示,讓用戶使用更加一目了然。同時(shí)每個(gè)支付方式還能設(shè)置它的排序、是否展開,logo,營銷文案,綁定卡很多時(shí)默認(rèn)展示幾張卡等一系列細(xì)致入微的特性。
一般情況下簽約產(chǎn)品是提前設(shè)置好的,商戶簽約的時(shí)候直接選擇就可以了;如果商戶有特殊需求我們按照模板重新給他創(chuàng)建一個(gè)就能滿足不同商戶的需求。
需要再次說明的是,這里的簽約產(chǎn)品配置是以“收單機(jī)構(gòu)”場(chǎng)景下的產(chǎn)品設(shè)置,與普通非持牌機(jī)構(gòu)設(shè)置不同之處在于賬戶部分的設(shè)置。因?yàn)槭諉螜C(jī)構(gòu)有清結(jié)算資質(zhì)可以做渠道路由,所以不必每個(gè)支付方式綁定對(duì)應(yīng)的渠道,只要設(shè)置商戶結(jié)算賬戶就可以了。
如果是非持牌機(jī)構(gòu)只要把“賬戶設(shè)置部分”改為“支付渠道”的設(shè)置就可以了。
2. 商戶信息管理
圖18:商戶信息列表
一個(gè)商戶簽約入網(wǎng)完成實(shí)名認(rèn)證和事前審核后,商戶運(yùn)營人員就會(huì)在此處給商戶創(chuàng)建支付產(chǎn)品,點(diǎn)擊創(chuàng)建會(huì)跳轉(zhuǎn)到的“商戶產(chǎn)品配置”頁面進(jìn)行產(chǎn)品設(shè)置,設(shè)置完成后簽約產(chǎn)品會(huì)與商戶進(jìn)行關(guān)聯(lián)這樣商戶就能接入使用了。當(dāng)然每次配置創(chuàng)建、修改都需要重新審核通過后才能生效,避免配置不當(dāng)造成不當(dāng)配置影響商戶使用。
3. 商戶產(chǎn)品配置
商戶產(chǎn)品配置的目的就是把商戶和簽約產(chǎn)品關(guān)聯(lián)起來,并對(duì)支付方式提供的默認(rèn)參數(shù)進(jìn)行修改以符合客戶的使用需求。
圖19:商戶產(chǎn)品配置
從圖中我們可以看到,一個(gè)商戶可以添加多個(gè)簽約產(chǎn)品,并且每種簽約產(chǎn)品可以根據(jù)“原始簽約產(chǎn)品”提供的參數(shù)進(jìn)行設(shè)置,以滿足不同商戶交易、賬戶和優(yōu)惠活動(dòng)參與的需求。
五、總結(jié):統(tǒng)一收銀臺(tái)設(shè)計(jì)
1. 四段式收銀臺(tái)設(shè)計(jì)
統(tǒng)一收銀臺(tái)的精華就在于它“四段式”設(shè)計(jì)標(biāo)準(zhǔn),他是所有做支付人的共同語言,因此請(qǐng)大家牢記這四個(gè)交互過程,學(xué)會(huì)了他,再復(fù)雜的收銀臺(tái)設(shè)計(jì)都能收到手到擒來
2. 收銀臺(tái)能力視圖
收銀臺(tái)在方便了用戶操作和提升支付安全的同時(shí),也把各種不同的支付方式進(jìn)行了統(tǒng)一,使得對(duì)接也變得非常規(guī)范和簡(jiǎn)單。Ping++曾經(jīng)提出來“7行代碼完成支付開發(fā)”就是看透了收銀臺(tái)設(shè)計(jì)的本質(zhì),支付的差異化就在下單和調(diào)用收銀臺(tái)兩個(gè)過程,其他過程都是標(biāo)準(zhǔn)可復(fù)用。
3. 用例模型舉一反三
掌握收銀臺(tái)的標(biāo)準(zhǔn)用例模型,理解網(wǎng)關(guān)、接口、客戶系統(tǒng)在,四段式設(shè)計(jì),統(tǒng)一交互和產(chǎn)品配置方面如何實(shí)現(xiàn)整體閉環(huán)。理解了這張圖你任何收銀臺(tái)設(shè)計(jì)都能應(yīng)付自如。
4. 多看微信、支付寶接口
我可以負(fù)責(zé)任的說,國內(nèi)所有的移動(dòng)端收銀臺(tái)產(chǎn)品都是參考這兩家的標(biāo)準(zhǔn)來做的。所以要多研究這兩家的接口設(shè)計(jì),特別是“下單、調(diào)用收銀臺(tái)、結(jié)果通知和結(jié)果查詢”這四個(gè)接口。產(chǎn)品做的好不好全看對(duì)于這四個(gè)接口理解的深淺。????
????公眾號(hào):剛說產(chǎn)品
本文由 @剛哥 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)授權(quán),禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
公眾號(hào)已經(jīng)更新為“剛哥白話”,希望大家繼續(xù)關(guān)注