經(jīng)驗(yàn)分享|支付渠道的可用性設(shè)計(jì),背后的產(chǎn)品思路是這樣的

11 評(píng)論 11568 瀏覽 87 收藏 6 分鐘

筆者近期負(fù)責(zé)提升支付渠道的可用性,做完后有些想法,寫出來和大家分享下。

需求的源頭

用戶在進(jìn)行支付時(shí),有時(shí)候會(huì)出現(xiàn)銀行系統(tǒng)不可用、超時(shí)情況,導(dǎo)致用戶不知道明確的支付結(jié)果,那么用戶80%會(huì)進(jìn)行投訴,客服處理完后,這個(gè)用戶就基本上和支付/電商平臺(tái)說再見了。

要滿足上面的需求,我們就需要關(guān)注以下幾個(gè)問題:

  1. 銀行系統(tǒng)出現(xiàn)異常是否能及時(shí)進(jìn)行故障隔離?
  2. 如果要隔離,是否能第一時(shí)間發(fā)現(xiàn)銀行系統(tǒng)出現(xiàn)異常?
  3. 如何判斷銀行系統(tǒng)出現(xiàn)了異常,異常的原因是什么?

其實(shí)這三個(gè)問題對(duì)應(yīng)的解決方案很明確:

  • Q1——我們需要一個(gè)路由系統(tǒng)
  • Q2——我們需要一個(gè)監(jiān)控系統(tǒng)
  • Q3——我們需要一個(gè)錯(cuò)誤碼表

在產(chǎn)品設(shè)計(jì)過程中,我們按照Q3 → Q2 → Q1這種自下而上的方法去進(jìn)行。

產(chǎn)品設(shè)計(jì)

我們需要一個(gè)錯(cuò)誤碼表

一家支付公司或電商平臺(tái)接入的銀行渠道都很多,而每家銀行都有自己的錯(cuò)誤返回規(guī)范。那么,這時(shí)候我們就需要將N家銀行返回的錯(cuò)誤碼進(jìn)行抽象,建立一套錯(cuò)誤碼表。

渠道錯(cuò)誤碼分類

錯(cuò)誤碼的拆分維度有很多種,我是按照渠道可用——>用戶信息校驗(yàn)——>交易來分類的;渠道不可用、用戶信息校驗(yàn)、交易這3個(gè)只是大類,還需要針對(duì)每個(gè)大類進(jìn)行二次拆分,細(xì)分出小類,小類分的越細(xì),遇到問題定位的也就越快,同時(shí)對(duì)接下來的兩步也就更有幫助。

我們需要一個(gè)監(jiān)控系統(tǒng)

對(duì)于監(jiān)控系統(tǒng),存在著一些基本要求:

  1. 監(jiān)控的對(duì)象要具體,最好能細(xì)分;
  2. 監(jiān)控的指標(biāo)要足夠明確,每一個(gè)獨(dú)立指標(biāo)的計(jì)算方式要簡(jiǎn)單;
  3. 監(jiān)控指標(biāo)要有時(shí)效性。

那么,針對(duì)支付渠道的監(jiān)控系統(tǒng),監(jiān)控的對(duì)象應(yīng)該要具體到所有接入的銀行渠道;監(jiān)控指標(biāo)要對(duì)每個(gè)銀行進(jìn)行個(gè)性化定制,因?yàn)槊考毅y行的系統(tǒng)性能都不一樣;

監(jiān)控指標(biāo)設(shè)定的維度也很多,因?yàn)榍涝谡麄€(gè)支付鏈路的底層,對(duì)系統(tǒng)層面要求比較高,所以監(jiān)控的指標(biāo)如下:

  1. 每個(gè)渠道調(diào)用的平均耗時(shí)
  2. 每個(gè)渠道調(diào)用的系統(tǒng)成功率
  3. 每個(gè)渠道調(diào)用的耗時(shí)峰值
  4. 每個(gè)渠道調(diào)用的異常訂單數(shù)

監(jiān)控指標(biāo)的時(shí)間跨度建議根據(jù)業(yè)務(wù)量來設(shè)置,一般采用秒級(jí)或者分級(jí);監(jiān)控指標(biāo)定義好后,我們就要為每個(gè)渠道設(shè)置告警規(guī)則,這些規(guī)則的閥值需要根據(jù)日常的交易情況和每個(gè)渠道自身的屬性進(jìn)行獨(dú)立設(shè)置;而規(guī)則的觸發(fā)就要依靠渠道錯(cuò)誤碼表了。

這樣,監(jiān)控系統(tǒng)就可以在某個(gè)渠道出現(xiàn)問題時(shí),根據(jù)錯(cuò)誤碼表來分析當(dāng)前的異常屬于哪一類,是否影響到用戶的正常支付,如果影響了,就會(huì)發(fā)出告警。

我們需要一個(gè)路由系統(tǒng)

一個(gè)支付產(chǎn)品最終于能讓用戶順利的&愉快的完成支付;而讓用戶順利的完成支付依賴于出現(xiàn)異常的通道。

能否被及時(shí)的隔離掉,同時(shí)能否將用戶帶到可以正常支付的通道上,路由功能做的就是這件事情。

為此,我們也需要在路由系統(tǒng)中對(duì)每一個(gè)渠道設(shè)立一個(gè)路由規(guī)則;這個(gè)規(guī)則將告訴路由系統(tǒng)當(dāng)渠道出現(xiàn)問題時(shí),該如何隔離。

路由規(guī)則的設(shè)定有一種比較簡(jiǎn)單的方法:渠道A在{num}分鐘內(nèi)觸發(fā)了{num}次告警,那么就執(zhí)行渠道隔離(關(guān)閉或者切換)的動(dòng)作。

這樣在通道出現(xiàn)問題時(shí)就可以及時(shí)隔離掉,保證用戶正常的支付了。

結(jié)語(yǔ)

我們可以把支付渠道可用性看作一個(gè)大的系統(tǒng),這個(gè)大系統(tǒng)是由3個(gè)獨(dú)立的小系統(tǒng)組成的;它是一個(gè)自下而上的,閉環(huán)的體系;引用《失控》中的思想,一個(gè)復(fù)雜的系統(tǒng)是由若干個(gè)獨(dú)立的小系統(tǒng)協(xié)同合作組成的,每個(gè)小系統(tǒng)越簡(jiǎn)單,它們組合在一起后,就能展現(xiàn)出更強(qiáng)大的組織性和發(fā)展性。

目前只是建立了一個(gè)最原始的生態(tài),還存在著部分的人工干預(yù),那么后期我們就要考慮,現(xiàn)在人做的事情,機(jī)器能不能做;我們能不能在用戶提交支付之前就幫Ta選擇好最適合的支付渠道。

 

本文由 @tony?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 很多銀行,第三方支付公司提供的錯(cuò)誤碼很模糊,有時(shí)候無(wú)法確定失敗原因,從而也不能簡(jiǎn)單的作為失敗處理,很麻煩??

    回復(fù)
    1. 主要是異常狀態(tài)的明確

      來自江蘇 回復(fù)
  2. 謝謝分享

    來自廣東 回復(fù)
    1. ??

      來自江蘇 回復(fù)
  3. 監(jiān)控系統(tǒng)監(jiān)控支付平臺(tái)和銀行平臺(tái)交接之前的行為尚且簡(jiǎn)單,但對(duì)各個(gè)銀行所有流程進(jìn)行監(jiān)控讓銀行開放系統(tǒng)源代碼恐怕就有點(diǎn)不太現(xiàn)實(shí)了吧。銀行的錯(cuò)誤歸銀行,支付平臺(tái)可以提示是銀行系統(tǒng)出了問題,將用戶資金回歸用戶賬戶,相當(dāng)于用戶授權(quán)平臺(tái)使用資金,再轉(zhuǎn)告銀行處理問題,把問題控制在平臺(tái)和銀行之間,這樣就節(jié)省了用戶的等待成本。

    來自廣東 回復(fù)
    1. 每家銀行 都會(huì)提供錯(cuò)誤碼的

      來自江蘇 回復(fù)
    2. 我的意思是用戶時(shí)間歸用戶,溝通時(shí)間歸平臺(tái)和銀行,在出現(xiàn)錯(cuò)誤時(shí)即時(shí)解決用戶需求(平臺(tái)預(yù)付資金給商家),然后平臺(tái)再和銀行協(xié)商錯(cuò)誤的解決方案。

      來自廣東 回復(fù)
    3. 如果是你,你沒有收到錢,就墊付資金給別人,你放心嗎,一個(gè)人墊付100放心,100萬(wàn)人墊付10億你放心嗎?所以您說的這是不可能的。如果按您說的,一個(gè)乞丐,銀行卡都沒錢,如果每天運(yùn)氣好碰上支付故障,那他每天都可以吃免費(fèi)午餐了。

      來自北京 回復(fù)
    4. 故障時(shí)偶然的,如果有這樣的乞丐可以去買彩票了,根本不用這樣混飯吃。

      來自廣東 回復(fù)
    5. 在糾正一下我說的,沒收收到錢,和收到了扣款成功的指令也是兩回事,所以即使墊付,也必須確保收到了扣款成功的指令(哪怕資金結(jié)算晚一點(diǎn)),否則不可能墊付,萬(wàn)一用戶銀行卡余額不足呢?

      來自北京 回復(fù)
    6. 銀行卡余額的確沒有考慮,可以留出緩沖空間讓平臺(tái)直接溝通銀行系統(tǒng)。

      來自廣東 回復(fù)