微信沙盒支付流程
- 下單請求地址修改,修改爲https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder(沙盒環境下單隻允許使用特定金額)
- 按正式流程生成sign
- 用正式sign,額外調用 https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey 獲得sandbox_signkey
- 用sandbox_signkey 替換用戶自己的key,再生成sign簽名
- 用第二次生成的sign來掉起支付
- 發起支付的瞬間就會有回掉通知
遇到的問題
-
調用https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder請求超時
這個問題似乎無法有效的解決,會導致微信下單失敗,只能多試幾次
-
後端正確返回參數,APP支付時彈出:支付簽名校驗失敗
APP需要正式環境的簽名,否則簽名對不上
-
後端正確返回參數,APP拉起支付後彈出支付失敗,無法調起微信APP,但後端有收到微信的回調通知
沙盒環境無法拉起微信APP進行支付,但是客戶端調起沙盒支付會收到特殊的code,直接判斷支付成功就行了
-
微信沙盒環境下單時只允許特定金額(1.01和1.02),需注意回調時的實付金額
實付金額只有101或102兩個值,但項目在回調時有對金額進行校驗,需要做特殊處理