接入小程序需要后端进行注册,前端只需要调用API即可。
大概流程如下:
本例使用一个购买商品的例子,前端点击微信支付,后端生成一个商品订单,然后向微信支付系统发起请求,生成一个微信的预支付订单,并返回签名等信息,前端通过uni.requestPayment()
发起支付页面,成功后会执行success()
方法
前端代码:(使用uni-app搭建)
getProductPaymentParams(params).then((res) => {
const { code, data, msg } = res
if (code === 0) {
const { preparePayParams } = data
const { timeStamp, nonceStr, prepayId, signType, sign } = JSON.parse(preparePayParams)
uni.requestPayment({
timeStamp: String(timeStamp),
nonceStr,
package: `prepay_id=${prepayId}`,
signType,
paySign: sign,
success() {
console.log('pay success')
uni.navigateBack()
},
fail(err) {
console.log('pay err', err)
}
})
} else {
this.$toast.message(msg)
}
})
后端逻辑: