微信小程序调起付款码
wx.openOfflinePayView(OBJECT) 这个API不是开放性的,需要申请才能用(怎么申请就不是前端的工作了,反正我这边都是客户申请好的…),小程序必须接入微信支付,关联小程序和商户
API所需参数
参数 | 类型 | 必填 | 实例值 | 说明 |
---|---|---|---|---|
appId | String | 是 | wxc07244f8986486f0 | 公众平台 appid,需与 mch_id 有绑定关系 |
timeStamp | String | 是 | 1631604636 | 时间戳;商户生成从 1970 年 1 月 1 日 00: 00:00 至今的秒数,即当前的时间 |
nonceStr | String | 是 | njqn50kxbl | 随机字符串;商户生成的随机字符串;取 值范围:长度为 32 个字符以下。 |
package | String | 是 | mch_id=1289343489 | mch_id=****,微信支付商户号,需与 appid 有绑定关系 |
signType | String | 是 | MD5 | 签名类型,目前支持 MD5、 HMAC-SHA256。该字段需参与签名。 |
paySign | String | 是 | 97A991A68892C3A0668E4DE80F24F782 | 签名结果,该方法需要加入签名的参数为 appId、timeStamp、nonceStr、package、 key、signType,请注意这里的参数有大 小写,签名的时候不要转为小写 |
success | Function | 否 | 调用成功回调 | |
fail | Function | 否 | 调用失败回调 | |
complete | Function | 否 | 调用完成回调 |
使用示例
wxPayCode() {
let res = '这里是请求的接口,接口里返回了这个API所需的参数'
let json = res.xxxxxx.data
if (res.success) {
wx.openOfflinePayView({
appId: json.appId,
timeStamp: json.timeStamp,
nonceStr: json.nonceStr,
package: json.package,
signType: json.signType,
paySign: json.paySign,
success: function (res) {
console.log('成功', res)
},
fail: function (err) {
console.log('失败', err)
}
})
}
}
这些参数都是后台返回的,如果参数都正确就会直接跳转到微信付款码界面,如果不正确就会在fail里返回或者会有弹出提示