微信小程序支付需要先获取支付参数,然后调用微信支付 API 进行支付。
1. 获取支付参数
在服务器端生成预支付订单,并返回给客户端一个包含支付参数的 JSON 对象。客户端可以通过 wx.request 方法向服务器发起请求,获取支付参数。
wx.request({ url: 'https://example.com/api/pay', method: 'POST', data: { // 传递订单号等参数 }, success(res) { const { timeStamp, nonceStr, package, signType, paySign } = res.data // 将支付参数保存到 data 中 this.setData({ timeStamp, nonceStr, package, signType, paySign }) } })
在上述代码中,我们通过 wx.request 方法向服务器发起请求,获取支付参数,并将支付参数保存到页面的 data 中。
2. 调用微信支付 API
在获取到支付参数后,客户端可以使用 wx.requestPayment 方法调用微信支付 API 进行支付。
wx.requestPayment({ timeStamp: this.data.timeStamp, nonceStr: this.data.nonceStr, package: this.data.package, signType: this.data.signType, paySign: this.data.paySign, success(res) { // 支付成功 }, fail(res) { // 支付失败 } })
在上述代码中,我们使用 wx.requestPayment 方法调用微信支付 API 进行支付,并传递支付参数。
在支付成功或失败后,微信会返回一个结果,客户端可以在 success 和 fail 回调函数中处理支付结果。
需要注意的是,微信支付 API 要求必须在用户授权的情况下调用,否则会报错。
另外,微信小程序支付需要在微信开放平台上注册并开通支付功能。