使用的是uniapp uni.requestPayment 微信支付
错误解决
需要开通微信开放平台
1.登记的包名或签名有没有错误
- 不知道应用签名的可以先打个包安装到手机之后;
- 使用签名工具下载地址https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk;
- 然后填写包名下面会出现相应的签名;
确保应用签名包名正确,uniapp打包过后才能调起微信,本地直接会报签名错误;
2.确保参数key和格式正确
//这里是从后端获取的参数一个都不能少
//orderInfo的key也不能错
let orderInfo = {
"appid":appid,//对应的appid
"noncestr":noncestr,
"package":package,
"partnerid":partnerid,
"prepayid":prepayid,
"timestamp":timestamp,
"sign":paySign//二次签名
}
uni.requestPayment({
provider: 'wxpay',
orderInfo: JSON.stringify(orderInfo), //这个需要转成string才能接收成功
success: function (res) {
uni.showToast({
icon: 'none',
title: '支付成功',
duration: 2000
});
uni.redirectTo({
url: '/pages/index/index'
});
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
uni.showToast({
icon: 'none',
title: '支付失败',
duration: 2000
});
});
如果还有问题就需要后端来解决了.