本文详细介绍在微信小程序开发中如何发起微信支付功能,以及要满足哪些必要条件。...
一、在开发微信小程序时,如果你的小程序涉及到支付功能,必须要满足的前提条件。
1、注册小程序时 认证类型不能是个人认证,个人认证的小程序将无法唤起支付,可以是个体工商户或者企业类型。
2、在接入支付之前需要去微信支付平台申请商户号,注意申请商户号主体要和小程序认证主体保持一致,也就是使用同一执照申请。
3、商户号申请完成之后回到微信公众平台,在“微信支付”功能下绑定商户号。
二、代码调用
1、第一步先请求后端接口把订单信息传给后端
// 下单按钮事件 获取订单信息传给后端 后端返回订单号
buyOrder({
accountId: this.orde.accountId,
orderPrice: this.orde.orderPrice,
remark: this.orde.remark,
taskId: this.orde.taskId,
}).then(res => {
if (res.code == 200) {
this.payOrder(res.data)
}
})
2、调用支付接口,在上面的方法执行成功后,调用支付接口传入订单号,然后后端会返回 timeStamp、nonceStr、package、signType、paySign这五个参数。拿到参数之后调用wx.requestPayment方法,把参数传入即可拉起微信支付。
// 支付接口 传入后端返回的订单号
payOrder(orderNum) {
let _this = this;
payOrder(orderNum).then(res => {
if (res.code == 200) {
// 在拿到后端给的信息后 调用微信的wx.requestPayment()方法
const paymentData = res.data;
wx.requestPayment({
timeStamp: paymentData.timeStamp,
nonceStr: paymentData.nonceStr,
package: paymentData.package,
signType: paymentData.signType,
paySign: paymentData.paySign,
success: function(res) {
// 支付成功的回调处理
uni.showToast({
title: '报名成功',
icon: 'success',
duration: 1500
});
_this.$refs.popup.close()
},
fail: function(res) {
// 支付失败的回调处理
_this.$refs.popup.close()
uni.showToast({
title: '支付失败',
icon: 'error',
duration: 1500
});
}
});
} else {
// 获取支付参数失败的处理
wx.showToast({
title: '获取支付参数失败',
icon: 'none'
});
}
})
},