准备条件:
1. 必须完成小程序认证 查看认证相关说明
2.小程序认证以后,可以在小程序后台,微信支付菜单栏,申请微信支付。
前端支付流程:
1.使用 wx.login
获取临时登录凭证code,并将其发送到 后端 获取 openId
wx.login({
success (res) {
if (res.code) {
// 发起请求,换取openId
wx.request({
url: '',
data: {
code: res.code
}
})
}
}
})
2.将 openId
以及相应需要的商品信息 发送到后端,换取 后端进行的签名 等信息
wx.request({
url: '',
data: {
openId: '',
num: 1,
id: '111'
}
})
3. 小程序端接收后端签名后返回过来的信息(必须要包含发起微信支付 wx.requestPayment 的参数
),再调用 wx.requestPayment
发起微信支付
wx.requestPayment({
// 时间戳
timeStamp: '',
// 随机字符串
nonceStr: '',
// 统一下单接口返回的 prepay_id 参数值
package: '',
// 签名类型
signType: '',
// 签名
paySign: '',
// 调用成功回调
success () {},
// 失败回调
fail () {},
// 接口调用结束回调
complete () {}
})
注意:以上信息中timeStamp
、nonceStr
、prepay_id
、signType
、paySign
各参数均建议必须都由服务端返回(这样会尽最大可能性保证签名数据一致性),小程序端不做任何处理
后端技术支持:
1.根据小程序端通过wx.login获取到的code,返回当前用户openId
2.根据openId及传来的相关商品信息(商品详情:金额、数量等),调用微信官方统一下单接口,返回签名后的相关数据。