使用微信支付需要用到微信的官方apiwx.requestPayment
,如果是uniapp就使用uni.requestPayment
下面是代码块
postOrder是后端接口,调用微信支付之前需要请求后端接口,拿到微信支付需要的值
this.params.pay_type = this.payway
postOrder(this.params).then(result=> {
// 判断是不是微信支付
if (this.payway != '20') {
/*uni.showToast({
title: '支付成功',
icon: 'none'
})*/
this.submitLoading = false
this.$jump(`/pages/successStatus/index`)
} else {
if (result.data.pay_type == 20) {
//小程序支付
//#ifdef MP-WEIXIN
uni.requestPayment({//微信官方api
provider: 'wxpay',
timeStamp: result.data.payment.timeStamp,// 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间
nonceStr: result.data.payment.nonceStr,// 随机字符串,长度为32个字符以下
package: 'prepay_id=' + result.data.payment.prepay_id,// 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=***
signType: 'MD5',//签名算法,应与后台下单时的值一致//MD5仅在 v2 版本接口适用//RSA仅在 v3 版本接口适用
paySign: result.data.payment.paySign,//签名,具体见微信支付文档
success: res => {
paySuccess(result, this, success);
},
fail: res => {
payError('订单未支付成功',result, fail, this);
},
});
}
})
参数都是从请求后端接口返回的参数