uni 微信支付出现支付验证签名失败

uni 在app中支付出现验证签名失败 安卓正常 IOS出现这个问题

经过对照其他参数 排查到 IOS接收时间戳只能接收10位 最终
左边为正常参数返回

在这里插入图片描述这个为问题参数返回

在这里插入图片描述 

 


提示的错误信息

在这里插入图片描述
下面为支付的代码

 

// 获取商品列表
async getVipList() {
                const {
                    data: res
                } = await uni.$http.get('/commodity', {
                    userId: this.user.id,
                    commodityType: this.vipType
                })
                console.log(res.data, '获取商品信息');
                if (res.code !== '0') return uni.$showMsg('获取商品失败')
                this.vipList = res.data

            },
// 选择商品
            pay(number) {
                console.log(number, '打印的')
                this.number = number
            },

// 获取订单编号
            async getNumberList() { 
                let that = this
                const {
                    data: res
                } = await uni.$http.post('/memberOrder/purchaseMember?commodityNumber=' + this.number, {
                    commodityNumber: this.number
                })
                if (this.tonsesName == '微信') {
                    console.log('微信支付');
                    return this.getMemberPay(res.orderNumber)
                }
                if (this.tonsesName == '支付宝') {
                    return this.zhifubaoPay(res.orderNumber)
                }
                if (this.tonsesName == '苹果支付') {
                    console.log("ioszhifu : ");
                    return this.iosPay(res.orderNumber)
                }
                if (this.tonsesName == '余额支付') {
                    this.balancePayment(res.orderNumber)
                }

            },

// 这里仅仅演示微信支付
// 获取支付需要的参数
            async getMemberPay(orderNumber) {

                const {
                    data: res
                } = await uni.$http.post('/memberPay/wxPay?orderNumber=' + orderNumber + '&type=WX_APP', {})
                console.log(res, '打印的res');

                uni.requestPayment({
                    provider: 'wxpay',
                    orderInfo: JSON.stringify(res.data), //微信、支付宝订单数据
                    success: function(res) {
                        console.log('success:' + JSON.stringify(res));
                    },
                    fail: function(err) {
                        console.log('这里是微信支付', res.data);
                        console.log('fail:' + JSON.stringify(err));
                    }
                });

            },
 

uni.app 中使用微信公众号 H5 支付,你可以按照以下步骤进行操作: 1. 首先,确保你已经配置好了微信公众号支付功能,并且已经获取到了支付的相关参数,例如订单号、支付金额等。 2. 在 uni-app 中,可以使用 `uni.request` 或其他网络请求库来发起支付请求。你需要向微信支付接口发送一个 POST 请求,包含支付相关的参数。 例如: ```javascript uni.request({ url: 'https://api.mch.weixin.qq.com/pay/unifiedorder', // 微信支付接口地址 method: 'POST', data: { // 支付参数,例如 appid、mch_id、nonce_str、body、out_trade_no、total_fee 等 }, success: (res) => { // 请求成功的回调函数 // 解析返回的数据,获取预支付交易会话标识 prepay_id const prepayId = res.data.prepay_id; // 调用 H5 支付接口进行支付 uni.requestPayment({ provider: 'wxpay', timeStamp: '', // 时间戳 nonceStr: '', // 随机字符串 package: '', // 统一下单接口返回的 prepay_id 参数值 signType: 'MD5', paySign: '', // 签名 success: (res) => { // 支付成功的回调函数 console.log(res); }, fail: (err) => { // 支付失败的回调函数 console.log(err); } }); }, fail: (err) => { // 请求失败的回调函数 console.log(err); } }); ``` 在上述代码中,你需要根据实际情况填写支付接口地址、支付参数、预支付交易会话标识 prepay_id 以及支付的回调函数。 3. 当用户点击支付按钮后,会触发支付请求,用户将会跳转到微信支付页面完成支付操作。 请注意,以上代码仅为示例,实际使用时需要根据 uni-app 中的具体语法和微信支付接口的要求进行相应的调整和处理。同时,确保在后端服务器中进行订单处理和验证,以确保支付的安全和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值