1.背景
因為網(wǎng)路異?;騽t系統(tǒng)的波動,可能會造成用戶支付成功,而且商戶側(cè)無法成功接收到支付結(jié)果通知,從而顯示訂單未支付的情況。商戶側(cè)的訂單狀態(tài)更新不及時,容易導致用戶投訴,甚至是重復支付的情況發(fā)生。
2.目標
商戶在無法收到支付結(jié)果通知時,也能及時、準確地獲取到訂單的支付狀態(tài),提高商戶系統(tǒng)的強健性,降低由于訂單狀態(tài)不同步造成的用戶投訴。
3.方案概述
商戶App或則后端頁面收到支付返回時,商戶須要調(diào)用商戶查單插口確認訂單狀態(tài),并把查詢結(jié)果展示給用戶。商戶后臺須要確切、高效地處理微信支付發(fā)送的異步支付結(jié)果通知,并按插口規(guī)范把處理結(jié)果返回給微信支付。商戶后臺未收到異步支付結(jié)果通知時,商戶應當主動調(diào)用《微信支付查單插口》,同步訂單狀態(tài)。商戶在T+1日從微信支付側(cè)獲取T日的交易帳單,并與商戶系統(tǒng)中的訂單核實。如出現(xiàn)訂單在微信支付側(cè)成功,并且在商戶側(cè)未成功的情況,商戶須要給用戶補發(fā)貨或則退貨處理。4.后端支付返回處理4.1.公眾號、小程序、App支付后端調(diào)起支付和判定返回類型的方式請參考插口文檔:4.2.H5支付
"返回頁面展示療效(僅供參考)"
4.3.支付
后端顯示支付二維碼以后,后端定時協(xié)程調(diào)用商戶查單插口確認訂單的狀態(tài)。
頁面展示療效(僅供參考)
例如間隔2秒查詢一次,仍然協(xié)程60秒。(協(xié)程時間間隔和次數(shù),商戶可以按照自身業(yè)務場景靈活設置)
5.前端服務處理5.1.支付反彈處理
商戶后臺須要確切、高效地處理微信支付發(fā)送的異步支付結(jié)果通知,并按插口規(guī)范把處理結(jié)果返回給微信支付。詳情請參考插口規(guī)范和注意事項
5.2.定時協(xié)程查單
倘若長時間沒有收到支付結(jié)果通知,商戶后臺應當定時協(xié)程調(diào)用《微信支付查單插口》去查證訂單狀態(tài)。
方案一:
以訂單下單成功時間為基準(或則以后端支付返回成功或則報錯后,第一次調(diào)用商戶查單插口未成功的時間為基準),每隔5秒/30秒/1分鐘/3分鐘/5分鐘/10分鐘/30分鐘調(diào)用《[微信支付查單插口](/-/apis/jsapi-/query-by-wx-trade-no.md查詢一次,最后一次查詢還是未返回支付成功狀態(tài)微信點單系統(tǒng),則停止后續(xù)查詢,并調(diào)用《關單插口(opensnew)》關閉訂單。(協(xié)程時間間隔和次數(shù),商戶可以按照自身業(yè)務場景靈活設置)
方案二:
定時任務每隔30秒啟動一次,找出近來10分鐘內(nèi)創(chuàng)建而且未支付的訂單,調(diào)用《微信支付查單插口》核實訂單狀態(tài)。系統(tǒng)記錄訂單查詢的次數(shù),在10次查詢以后狀態(tài)還是未支付成功,則停止后續(xù)查詢,并調(diào)用《關單插口(opensnew)》關閉訂單。(協(xié)程時間間隔和次數(shù),商戶可以按照自身業(yè)務場景靈活設置)
5.3.T+1日對帳處理
5.3.1.商戶在T+1日下午10點之后,調(diào)用《微信支付對帳單下載插口(opensnew)》,或則登陸微信商戶平臺手工下載T日交易帳單,之后按照對帳單中的訂單數(shù)據(jù),逐筆與商戶系統(tǒng)中的訂單核實。
5.3.2.核實時有如下幾種情況:
6.常見問題1、前端返回怎么分辨是成功返回,還是用戶取消支付或則異常?
公眾號支付,通過JSAPI返回的res.值判別:
描述解決方案
est:ok
支付成功
est:
支付過程中用戶取消
est:fail
支付失敗
小程序支付,通過反彈類型判定:
反彈類型說明
:ok
調(diào)用支付成功
fail
:fail
用戶取消支付
fail
:fail()
調(diào)用支付失敗,其中為后臺返回的詳盡失敗緣由
App支付,通過函數(shù)返回的值判別:
名稱描述解決方案
成功
展示頁面成功
-1
錯誤
可能的誘因:簽名錯誤、未注冊AppID、項目設置AppID不正確、注冊的AppID與設置的不匹配、其他異常緣由等
-2
用戶取消
無需處理。發(fā)生場景:用戶不支付了,點擊取消,返回App
2、如何判定微信支付查單插口返回的訂單狀態(tài)是支付成功?
商戶收到《微信支付查單插口》的響應報文,驗證簽名成功微信點單系統(tǒng),但是返回的、、這3個參數(shù)值同時為,則覺得訂單是支付成功;調(diào)用查單插口遇見網(wǎng)路超時,未收到返回,或則返回的和不同時為,則代表訂單狀態(tài)不明晰,須要再度調(diào)用查單插口確認。
免責聲明:部分文章信息來源于網(wǎng)絡以及網(wǎng)友投稿,本站只負責對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內(nèi)容的真實性,如本站文章和轉(zhuǎn)稿涉及版權等問題,請作者在及時聯(lián)系本站,我們會盡快為您處理。