ios可以正常支付
fetchJsConfig () {
OrderAction.fetchWxSDK()
.then(data => {
let params = {}
params.debug = false
params.appId = data.data.jsapi.appId
params.timestamp = data.data.jsapi.timestamp
params.nonceStr = data.data.jsapi.nonceStr
params.signature = data.data.jsapi.signature
params.jsApiList = ['chooseWXPay']
params.url = data.data.jsapi.url
alert(params.timestamp)
wx.config(params)
wx.ready(function (res) {
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
alert('验证成功')
console.log(res)
})
wx.error(function (res) {
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
alert('验证失败')
console.log(res)
})
})
.catch(err => console.log(err))
},
wxChooseWXPay (wxObj) {
let that = this
wxObj = JSON.parse(wxObj)
console.log('支付参数', wxObj)
wx.chooseWXPay({
'nonceStr': wxObj.nonceStr, // 支付签名随机串,不长于 32 位
'package': wxObj.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
'paySign': wxObj.paySign, // 支付签名
'signType': wxObj.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
'timestamp': wxObj.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
success: function (res) {
that.$router.push('/pay/success')
},
cancel: function (res) {
that.$router.push('/pay/fail')
}
})
}
你好,微信支付相关问题麻烦在微信支付专区提问,我们有专门的人员处理,此帖隐藏,感谢配合
微信支付专区:https://developers.weixin.qq.com/community/pay