微信小程序支付終于踩完坑了,發(fā)現(xiàn)里面坑挺大的,現(xiàn)在發(fā)個貼,希望以后入坑的同學可以看一下
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=2
業(yè)務流程在這里大家看文檔的時候可以看到。第一個坑,獲取用戶的openid,參數(shù)一定要拼在url連接上,否則會報{"errcode":40013,"errmsg":"invalid appid, hints: [ req_id: iil1ba0504ns86 ]"}錯誤
onLoad: function () {
var that = this
wx.login({
success: function (res) {
if (res.code) {
//發(fā)起網(wǎng)絡請求
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wxaacf22345345cfc7162fe3&secret=83ebd41c3e6f34a49b3a34578063434548ff3f71&js_code=' + res.code + '&grant_type=authorization_code',
method: "POST",
success: function (res) {
that.setData({
openid: res.data.openid
})
}
})
} else {
console.log('獲取用戶登錄態(tài)失敗!' + res.errMsg)
}
}
});
}
|
第二個坑,支付統(tǒng)一下單接口,簽名這個坑是比較多人遇到問題的這個是MD5加密經常和簽名工具里面的加密簽名不一樣
簽名加密工具地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1
簽名加密的時候要轉成utf-8,加密我用自己的接口進行加密的 digest.update(data.getBytes("utf-8"));