点击付款
clickPlay(){
//判断是否在微信内置浏览器环境
if (typeof WeixinJSBridge !== "undefined") {
this.payEnvironment = "mp"
} else {
this.payEnvironment = 'wap'
}
//如果是微信内置浏览器环境
if(this.payEnvironment = "mp"){
this.onBridgeReady()
}
}
调起支付代码 请求后端接口 获取支付需要的参数补全就可以了
onBridgeReady(order) {
let that = this;
this.$Api.paySubmit({
out_trade_no: order.out_trade_no,
title: order.goods.name,
amount: order.money, //order.money
paytype: order.pay_type,
method: this.payEnvironment,
returnurl: window.location.protocol + '//' + window.location.host +
'/index.html#/pages/order/order',
}).then(res => {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
appId: res.data.appId, //公众号ID,由商户传入
timeStamp: res.data.timeStamp, //时间戳,自1970年以来的秒数
nonceStr: res.data.nonceStr, //随机串
package: res.data.package,
signType: res.data.signType, //微信签名方式:
paySign: res.data.paySign, //微信签名
},
function(res) {
if (res.err_msg === 'get_brand_wcpay_request:ok') {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
uni.showToast({
title:'支付成功'
})
} else if (res.err_msg === 'get_brand_wcpay_request:cancel') {
uni.showToast({
title:'取消支付'
})
} else if (res.err_msg === 'get_brand_wcpay_request:fail') {
uni.showToast({
title:'支付失败'
})
}
});
})
},