//第一步先调用后端接口接口把当前的支付商品的信息传过去
this.$myRequest({
url: ``,
method:'post',
header: {
'content-type': 'application/x-www-form-urlencoded',
// 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
},
data:{}
}).then(data=>{
if(data.statusCode == 200){
this.salesId = data.data.data.data //用商品信息换取得到商品id
this.show = true
} else {
uni.showToast({
title: data.data.message,
icon: 'none', //如果要纯文本,不要icon,将值设为'none'
duration: 2000 //持续时间为 2秒
})
}
})
//的第二步调用后端接口把商品id和用户的optionid,this.salesId调用后端的接口换取微信支付的所有信息
this.$myRequest({
url: `/app/payMoneyNorm/wxPayForSmallRoutine?id=${this.salesId}&openid=${uni.getStorageSync('openid')}`,
method:'post',
header: {
'content-type': 'application/x-www-form-urlencoded',
// 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
},
data:{}
}).then(data=>{
var _this = this
console.log(data)
if(data.data.code == 200){
console.log(uni.getStorageSync('openid'))
//第三步把获取到的微信支付所有参数调用wx的api,wx.requestPayment吧参数传过去,参数大小写不要写错,就可以唤起微信支付了,如果按照步骤调微信那边出现错误,大概率是后端的事,因为我开始各种问题,最后我一个字母没改过,全是后端的问题。
wx.requestPayment({
appId: data.data.data.appId,
nonceStr: data.data.data.nonceStr,
package: data.data.data.package, // 固定值,以微信支付文档为主
openid:uni.getStorageSync('openid'),
timeStamp: data.data.data.timeStamp,
paySign: data.data.data.sign, // 根据签名算法生成签名
signType:'MD5',
// provider: 'wxpay',
// orderInfo: orderInfo, //微信、支付宝订单数据
success: function (res) {
console.log(res)
},
fail: function (err) {
console.log(err)
_this.isdisabled = false
uni.showToast({
title: '订单未支付',
icon: 'none', //如果要纯文本,不要icon,将值设为'none'
duration: 2000 //持续时间为 2秒
})
}
});
}
})
uniapp转微信小程序调用微信支付
最新推荐文章于 2024-06-14 11:34:42 发布