第三方支付問題小結

概述


記得2019年,微信支付出過一個故障,用戶發起支付給了錢後,微信一直不回調,導致使用了微信支付的商家的訂單都成了未支付狀態了,如果業務系統設計的不好,那瞬間就會有大量的客訴出現。

像下面的對話場景,我相信當時肯定非常的多:

用戶:我支付了好幾次了,你說你沒收到?別開玩笑了。
商家:我這邊真的沒收錢。然後心想:這傢伙不會是想喫霸王餐吧?

雖然像微信和支付寶這樣的大牌支付平臺,出大故障的機率比較少,但是也不得不防。下面列舉幾個支付問題以及對應的解決思路


第三方支付平臺無法支付


以微信爲例子,像2019年微信支付出故障時,美團那邊,是在APP側,立刻將微信支付置灰了,引導用戶使用支付寶支付,將損失和影響降到最低。要做到這點,至少得做到如下兩點:

  • 監控微信支付的連通性(關鍵鏈路,監控得到位);
  • 得有屏蔽微信支付的開關,前端可根據這個開關確定是否置灰微信支付按鈕。

第三方支付平臺不回調


這種就屬於用戶給了錢,而由於沒有回調,商家業務系統認爲沒收到錢,非常容易引起客訴。我們可以使用定時任務,定時查詢用戶訂單是否支付了來應對。

比如說,你到茶飲店買了杯奶茶,使用微信支付給了錢後,門店打印機打印出小票和杯貼後,門店人員就會開始爲你製作茶飲。如果這個時候,微信支付出故障了,一直不回調,那麼小票和杯貼打印不出來,門店人員就不會給你製作。如果業務系統有個定時任務,每隔2分鐘,把5分鐘前的訂單撈出來,調用微信訂單是否已支付的接口,如果支付了,則通知打印機打印出小票。


第三方支付回調慢了


電商訂單裏,通常都有一個訂單支付有效期,如果在有效期內用戶沒支付,就會取消訂單,但是這個是基於用戶沒給錢的前提下,如果支付回調超過支付有效期纔回調回來,其實用戶是給了錢的了。一般來說,支付回調慢了,有下面三種情況:

  1. 用戶拉起支付窗口了,但是一直不給錢,超過支付有效期後纔給錢;
  2. 第三方支付平臺性能有問題,真的支付回調慢了;
  3. 網絡抖動

對於第一種情況,可以利用支付平臺的接口,拉起支付時,指定一個有效期,有效期內沒給錢的,支付平臺會自動提示交易已失效

支付平臺 控制支付有效期的參數
微信 time_expire
支付寶 timeout_express

例如說,調用支付寶的拉起支付接口,設置了五分鐘的支付有效期,一旦用戶超過有效期纔給錢,支付寶會有如下的提示:
在這裏插入圖片描述

對於第二和第三種情況,可以在訂單取消的接口中,給用戶退款,畢竟用戶給了錢的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章