1.安装jssdk
npm install jwexin-module --save
2.在页面进行引入
// #ifdef H5
import jweixin from 'jweixin-module'
// #endif
3.具体的业务逻辑
// 获取支付信息,判断是购物车支付还是商品直接支付当拿到的goods_id是一个数组时是购物车支付
if (this.shopcart instanceof Array && this.shopcart.length > 0) {
let result = await this.$myRequest({
url: 'pay',
data: { //data 里面的数据
shoppingcart: this.shopcart,
openid: this.openId,
phone: this.phone,
addressid: this.addr_id,
kind: 1,
isteam: this.isteam,
ticket_id: this.ticket_id,
isbargain: this.isbargain,
team_id: this.team_id,
bargain_id: this.bargain_id,
goods_id: this.goods_id,
isziti: this.isziti,
shuxing: this.shuxing,
isweixinPay: this.isweixinPay,
}
});
if (result.statusCode === 200 && result.data.status === 0) {
if (this.isweixinPay == 1) {
uni.showToast({
title: '支付成功',
icon: 'none'
})
setTimeout(() => {
uni.navigateTo({
url: "../order-manage/my-order"
})
}, 2000)
} else {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": 'wx68f21f6fdae084a3', //公众号名称,由商户传入
"timeStamp": result.data.data.timestamp, //时间戳,自1970年以来的秒数
"nonceStr": result.data.data.nonceStr, //随机串
"package": result.data.data.package,
"signType": result.data.data.signType, //微信签名方式:
"paySign": result.data.data.paySign //微信签名
},
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
uni.showToast({
title: '支付成功'
})
setTimeout(() => {
uni.navigateTo({
url: "../order-manage/my-order"
})}, 2000)
} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
}
);
}
}
}