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