微信支付遇到的缺少参数问题

最近工作还是比较忙的,好就想继续更新下博客。现在是2018-11-1 20:40,刚忙完项目,趁着记忆还清晰就把现在的项目遇到的问题记录一下;

微信支付 提示JSAPI缺少参数:

缺少package参数

调用的方法代码是:

   wx.chooseWXPay({
            appId:data.pay_parameters.appId,
            timestamp: data.pay_parameters.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
            nonceStr: data.pay_parameters.nonceStr, // 支付签名随机串,不长于 32 位
            package: data.pay_parameters.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
            signType: data.pay_parameters.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
            paySign: data.pay_parameters.paySign, // 支付签名
            success: function (res) {
            // 支付成功后的回调函数
               vm.ispayed = false//已支付
               vm.showOrderInfo()
              }
          });

这个是我更改参数形式之后的代码,错误就出现在这里。微信JS-SDK接口注释说支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符。原来啊,timestamp字段均为小写,我之前是直接拿的后台返回的参数塞进去的,由于S大写导致了接口调用失败。
下图是我alert出的直接拿后台参数使用的数据,可见S为大写
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值