uni.showLoading({
title: '请求数据中',
mask: false
});
var url = '';
var data;
var type;
if (this.Index == 1) {
data = {
body:this.accountId+'',
subject: "账户充值",
totalAmount: this.money,
passbackParams: "000000000",
productCode: "000000001"
}
url = '/alipay/appPay';
type = "alipay"
}
if (this.Index == 2) {
url = "/wxpay/webPay"
data = {
total_fee: this.money,
body: "账户充值",
attach: this.accountId+''
}
type = "wxpay"
}
uni.request({
url: helper.server_url + url,
method: 'POST',
data: data,
header: {
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
'token': this.$token.token.valuetoken
},
success: res => {
if (res.data.code == 0) {
console.log("type:"+type);
uni.requestPayment({
provider: type,
orderInfo:res.data.data, //微信、支付宝订单数据
success: function(res) {
uni.showToast({
title: '支付成功',
icon: "none"
});
console.log('success:' + JSON.stringify(res));
},
fail: function(err) {
console.log('fail:' + JSON.stringify(err));
uni.showToast({
title: '支付失败,如有问题请及时联系管理员',
icon:"none"
});
}
});
} else {
uni.showToast({
title: '发起支付失败,'+res.data.message,
icon: "none"
});
}
},
fail: () => {
uni.showToast({
title: '获取支付数据失败',
icon: "none"
});
},
complete: () => {
uni.hideLoading()
}
});
cmdszh (作者)
微信版本都是8.0.22, 同样的环境,换了个能充值的手机,自定义基座调试,一开始充值成功。多冲几次又报上面相同的错误,我们这个应用已经上线两年了,最近几个月客户抱怨部分手机微信充值调不起来。是不是新版本的微信兼容性问题呢?另外,苹果用户一直没这个问题。
2022-05-12 18:17
DCloud_Android_THB
回复 cmdszh: 你看一下fail的时候error中的code是不是 -1 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常原因等
2022-05-12 22:59
cmdszh (作者)
回复 DCloud_Android_THB: fail:{"errMsg":"requestPayment:fail [payment微信:-1]General errors","errCode":-100,"code":-100}
2022-05-12 23:01
DCloud_Android_THB
回复 cmdszh: 我怀疑后台返回的数据有点问题,我这边用你的app继第一次支付成功后,后面几次尝试都是失败,方便校验一下orderInfo的数据正确性吗?
2022-05-12 23:08
cmdszh (作者)
回复 DCloud_Android_THB: 用双开的微信,第二个微信号支付,每次都成功。IOS 也都是每次成功。所以 orderInfo没有问题。
2022-05-12 23:20
cmdszh (作者)
回复 DCloud_Android_THB: orderInfo用“微信支付接口签名校验工具”校验证过了,没有问题。
2022-05-13 00:05
DCloud_Android_THB
回复 cmdszh: 嗯。。。。 这样你能出个能复现的demo,我这边跑一下。
2022-05-13 01:01