微信小程序支付繞坑指南
步驟
A:小程序向服務端發送商品詳情、金額、openid
B:服務端向微信統一下單
C:服務器收到返回信息二次簽名發回給小程序
D:小程序發起支付
E:服務端收到回調
首先準備以一下信息
小程序發送小程序向服務端發送商品詳情、金額、openid
服務端接收小程序發來的信息
判斷信息是否為空,不為空將要參與簽名的信息組合成鍵值對,準備簽名
算法
簽名(首先進行排序,連接商戶KEY,進行MD5計算,結果轉成大寫)
將計算好的MD5值也加入到之前的鍵值對中,并且將整個鍵值對轉成XML格式發送給預下單地址https://api.mch.weixin.qq.com/pay/unifiedorder
等會支付服務器返回預支付信息,判斷返回結果
將返回的結果,和二次簽名的值一起返回給小程序
需要注意的是二次簽名的隨機字符串是微信服務器發來的不是自己隨機的,另外appid和Key也要參與簽名計算千萬別忘記了。
'appId='+appId+'&nonceStr='+nonceStr+'&package='+pkg+'&signType=MD5&timeStamp='+timeStamp+"&key=d27551c7803cf16*e536b192d5d03b"這才是完整的。
小程序收到結果發起支付
支付截圖
遇到的問題:
預支付請求簽名錯誤
解決辦法:首先確定appid商戶號KEY是否正確,參與簽名的字符串是否按照要求排序,是否是UTF8格式,如果實在不行可以重置一次KEY試一試。
返回錯誤說total_fee參數為空
解決辦法:如果total_fee參數不為空,可能是package格式不對應該為"prepay_id="+prepay_id
新聞熱點
疑難解答