【微信支付】微信小程序支付開發者文檔 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7
通知url必須為直接可訪問的url,不能攜帶參數。示例:notify_url:“https://pay.weixin.qq.com/wxpay/pay.action”
回調通知注意事項
● notify_url需要填寫商戶自己系統的真實地址,不能填寫接口文檔或demo上的示例地址。
● notify_url必須是以https://或http://開頭的完整全路徑地址,並且確保url中的域名和IP是外網可以訪問的,不能填寫localhost、127.0.0.1、192.168.x.x等本地或內網IP。
● notify_url不能攜帶參數。
● 常見錯誤舉例:
錯誤描述 | 錯誤示例 |
---|---|
url中只有域名,缺少具體的路徑 |
http://www.weixin.qq.com |
url不是以https://或http://開頭,缺少域名或IP |
./PayNotify.aspx |
url中填寫了本地或者內網IP |
http://127.0.0.1/pay/notify.php |
填寫了不是url格式的字符串 |
xxxxxxx,1234567,test |
2、返回報文格式規范
● 返回報文必須是xml格式,字段名需與接口文檔說明的一致,報文前后和各字段標簽中間不能包含特殊字符。
● 常見錯誤舉例:
錯誤描述 | 錯誤示例 |
---|---|
返回內容為空或者非xml格式字符串 |
ok,success,支付成功 |
返回的xml格式報文中間有其他字符 |
<xml>\n<return_code><![CDATA[SUCCESS]]></return_code> |
返回的是json格式 |
{"return_code":"SUCCESS";"return_msg":"OK"} |
返回的是整個頁面的html代碼 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head><title>支付成功通知頁面</title></head><body>success</body></html> |
3、回調處理邏輯注意事項
● notify_url的代碼處理邏輯不能做登錄態校驗。
● 商戶系統收到支付結果通知,需要在5秒內返回應答報文,否則微信支付認為通知失敗,后續會重復發送通知。
● 同樣的通知可能會多次發送給商戶系統,商戶系統必須能夠正確處理重復的通知。如果已處理過,直接給微信支付返回成功。
● 商戶側對微信支付回調IP有防火牆策略限制的,需要對以下IP段開通白名單:
【微信支付】微信小程序支付開發者文檔 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1
通知地址 | notify_url | 是 | String(256) | http://www.weixin.qq.com/wxpay/pay.php | 異步接收微信支付結果通知的回調地址,通知url必須為外網可訪問的url,不能攜帶參數。 |
同步異步 https://opensupport.alipay.com/support/knowCategory/20070
回調地址后是否可以加自定義參數
如何實現設置自定義參數回調時獲取:
1、異步通知可通過請求參數設置passback_params公用回傳參數,該參數異步通知返回;
2、同步通知無法設置信息,回調時獲取;
若商戶在回調地址后添加自定義參數,可能造成影響如下:
1、調用接口進行參數簽名時,可能因為回調地址攜帶自定義參數導致簽名報錯,無法簽名成功;
2、支付成功返回通知數據驗簽時需要過濾掉自定義參數,否則會驗簽失敗;
3、異步回調地址需外網post訪問,且訪問狀態為http200,可能因為異步回調地址攜帶自定義參數導致無法外網post訪問成功。
同步通知與異步通知的區別
2、發送通知的形式不一樣,同步通知是在支付成功以后頁面跳轉會觸發的,異步通知是交易狀態變更會觸發的.
3、返回通知參數不同
更多區別詳情可參考該 同步通知與異步通知參數說明.
return_url和notify_url的區別
notify_url作用:支付寶服務器主動通知商戶網站里指定頁面路徑,返回訂單信息。
(具體以 螞蟻金服開發平台-文檔中心 提供的 為准)
回調地址如何設置
如何設置回調地址,並可了解授權回調地址、應用網關、同步回調地址、異步回調地址四者的區別。
1、 授權回調地址:在應用中進行設置,授權時使用,在第三方授權或用戶信息授權鏈接中配置的redirect_uri的值必須與此值保持一致;
2、 應用網關:在應用中進行設置,用於接收支付寶異步通知,例如口碑開店、生活號;
3、 同步回調地址:支付接口請求時設置的return_url參數,主要用於網站支付接口支付成功后的同步頁面跳轉;
4、 異步回調地址:支付接口請求時設置的notify_url參數,主要用於判斷交易狀態,如交易是否成功。
同步參數和異步參數解析說明詳見 點擊進入
注:(1)授權回調地址和應用網關都是在應用中設置的,並且在應用中分別都只能設置1個;
(2)同步回調地址和異步回調地址在支付