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