视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

支付回調和查單實現指引

最新更新時間:2021.3.9

1. 背景

由于網絡異常或者系統(tǒng)的波動,可能會導致用戶支付成功,但是商戶側未能成功接收到支付結果通知,進而顯示訂單未支付的情況。商戶側的訂單狀態(tài)更新不及時,容易造成用戶投訴,甚至是重復支付的情況發(fā)生。

2. 目標

商戶在未能收到支付結果通知時,也能及時、準確地獲取到訂單的支付狀態(tài),提升商戶系統(tǒng)的健壯性,減少因為訂單狀態(tài)不同步導致的用戶投訴。

3. 方案概述

1、商戶APP或者前端頁面收到支付返回時,商戶需要調用商戶查單接口確認訂單狀態(tài),并把查詢結果展示給用戶。

2、商戶后臺需要準確、高效地處理微信支付發(fā)送的異步支付結果通知,并按接口規(guī)范把處理結果返回給微信支付。

3、商戶后臺未收到異步支付結果通知時,商戶應該主動調用《微信支付查單接口》,同步訂單狀態(tài)。

4、商戶在T+1日從微信支付側獲取T日的交易賬單,并與商戶系統(tǒng)中的訂單核對。如出現訂單在微信支付側成功,但是在商戶側未成功的情況,商戶需要給用戶補發(fā)貨或者退款處理。

4. 前端支付返回處理

4.1. 公眾號、小程序、APP支付

4.1.1. 前端返回“用戶取消”的情況,則訂單狀態(tài)保持未支付狀態(tài),并提示用戶支付未完成。

4.1.2. 前端返回“成功”或“報錯”的情況,商戶需要調用商戶查單接口,確認訂單狀態(tài)。

    1)如果商戶查單接口明確返回支付成功,則給用戶展示支付成功頁。

    2)如果商戶查單接口返回訂單未支付,需要提醒用戶“稍后進入訂單管理頁核實訂單狀態(tài),不要重復發(fā)起支付”。商戶后端需要及時獲取、更新訂單狀態(tài),實現邏輯參考【后端服務處理】。當用戶再次進入訂單管理頁面,對未支付的訂單再次發(fā)起支付時,商戶應該使用原單號發(fā)起,不要更換支付單號,避免用戶重復支付。

4.1.3. 前端調起支付和判斷返回類型的方法請參考接口文檔:

    1) JSAPI支付

    2) 小程序支付

    3) APP支付

4.2. H5支付

4.2.1. 前端返回至發(fā)起支付的頁面或者返回至指定的redirect_url頁面,需要在頁面設置一個“已完成支付”的按鈕讓用戶點擊。


返回頁面展示效果(僅供參考)

4.2.2. 用戶點擊“已完成支付”按鈕,商戶需要調用商戶查單接口,確認訂單狀態(tài)。

    1) 如果商戶查單接口明確返回支付成功,則給用戶展示支付成功頁。

    2) 如果商戶查單接口返回訂單未支付,需要提醒用戶“稍后進入訂單管理頁核實訂單狀態(tài),不要重復發(fā)起支付”。 商戶后端需要及時獲取、更新訂單狀態(tài),實現邏輯參考【后端服務處理】。當用戶再次進入訂單管理頁面,對未支付的訂單再次發(fā)起支付時,商戶應該使用原單號發(fā)起,不要更換支付單號,避免用戶重復支付。

4.3. NATIVE支付

前端顯示支付二維碼之后,前端定時輪詢調用商戶查單接口確認訂單的狀態(tài)。


頁面展示效果(僅供參考)

比如間隔2秒查詢一次,一直輪詢60秒。(輪詢時間間隔和次數,商戶可以根據自身業(yè)務場景靈活設置)

    1)如果輪詢商戶查單接口返回支付成功,則給用戶展示支付成功頁。

    2)如果超過系統(tǒng)設置的時間,商戶查單接口仍未返回支付成功,則退出輪詢,提醒用戶交易超時。

5. 后端服務處理

5.1. 支付回調處理

商戶后臺需要準確、高效地處理微信支付發(fā)送的異步支付結果通知,并按接口規(guī)范把處理結果返回給微信支付。詳情請參考以下接口規(guī)范和注意事項:

1、接口規(guī)范

2、注意事項

5.2. 定時輪詢查單

如果長時間沒有收到支付結果通知,商戶后臺應該定時輪詢調用《微信支付查單接口》去核實訂單狀態(tài)。

方案一

以訂單下單成功時間為基準(或者以前端支付返回成功或者報錯后,第一次調用商戶查單接口未成功的時間為基準),每隔5秒/30秒/1分鐘/3分鐘/5分鐘/10分鐘/30分鐘調用《微信支付查單接口》查詢一次,最后一次查詢還是未返回支付成功狀態(tài),則停止后續(xù)查詢,并調用《關單接口》關閉訂單。(輪詢時間間隔和次數,商戶可以根據自身業(yè)務場景靈活設置)

方案二

定時任務每隔30秒啟動一次,找出最近10分鐘內創(chuàng)建并且未支付的訂單,調用《微信支付查單接口》核實訂單狀態(tài)。系統(tǒng)記錄訂單查詢的次數,在10次查詢之后狀態(tài)還是未支付成功,則停止后續(xù)查詢,并調用《關單接口》關閉訂單。(輪詢時間間隔和次數,商戶可以根據自身業(yè)務場景靈活設置)

5.3. T+1日對賬處理

5.3.1. 商戶在T+1日上午10點以后,調用《微信支付對賬單下載接口》,或者登錄微信商戶平臺手工下載T日交易賬單,然后根據對賬單中的訂單數據,逐筆與商戶系統(tǒng)中的訂單核對。

5.3.2. 核對時有如下幾種情況:

    1)訂單匹配成功,并且狀態(tài)都是支付成功:正常情況,對賬成功。

    2)訂單匹配成功,但是商戶側狀態(tài)非支付成功:商戶根據自身業(yè)務情況,決定是否把訂單狀態(tài)更新為支付成功并給用戶發(fā)貨,或者是給用戶發(fā)起退款。

    3)訂單匹配失敗,對賬單中的單號在商戶系統(tǒng)未找到記錄:異常情況,需要商戶排查系統(tǒng)是否出現數據異常。

    4)訂單匹配失敗,商戶系統(tǒng)中成功的訂單在對賬單中未找到記錄:異常情況,需要商戶排查是否訂單處理邏輯有bug。

6. 常見問題

1、前端返回如何區(qū)分是成功返回,還是用戶取消支付或者異常?

公眾號支付,通過JSAPI返回的res.err_msg值判斷:

小程序支付,通過回調類型判斷:

APP支付,通過onResp函數返回的errCode值判斷:

2、如何判斷微信支付查單接口返回的訂單狀態(tài)是支付成功?

商戶收到《微信支付查單接口》的響應報文,驗證簽名成功,并且返回的return_code、result_code、trade_state這3個參數值同時為SUCCESS,則認為訂單是支付成功;調用查單接口遇到網絡超時,未收到返回,或者返回的return_code和result_code不同時為SUCCESS,則代表訂單狀態(tài)不明確,需要再次調用查單接口確認。



技術咨詢

文檔反饋