小程序发起微信支付wx.requestPayment
wx.requestPayment(Object object)
发起微信支付。调用前需在小程序微信公众平台 -功能-微信支付入口申请接入微信支付。了解更多信息,可以参考 微信支付开发文档:
以 Promise 风格 调用:支持
小程序插件:不支持
微信 Windows 版:支持
微信 Mac 版:支持
开发指引
下单接口
支付接口
如果使用云开发,则 wx.requestPayment 所需参数可以通过云开发微信支付统一下单接口免鉴权获取、并可免证书、免签名的安全调用微信支付服务端接口、及接收异步支付结果回调,详见云开发微信支付。
参数
Object object
属性 类型 默认值 必填 说明
timeStamp string 是 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间
nonceStr string 是 随机字符串,长度为32个字符以下
package string 是 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=***
signType string MD5 否 签名算法,应与后台下单时的值一致
合法值 说明
MD5 仅在 v2 版本接口适用
HMAC-SHA256 仅在 v2 版本接口适用
RSA 仅在 v3 版本接口适用
paySign string 是 签名,具体见微信支付文档
success function 否 接口调用成功的回调函数
fail function 否 接口调用失败的回调函数
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)
wx.requestPayment({
timeStamp: '',
nonceStr: '',
package: '',
signType: 'MD5',
paySign: '',
success (res) { },
fail (res) { }
})
注:如果服务端有使用云开发,可以通过云开发微信支付统一下单接口免鉴权获取以上所需所有参数,示例:
// 云函数代码
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const res = await cloud.cloudPay.unifiedOrder({
"body" : "小秋TIT店-超市",
"outTradeNo" : "1217752501201407033233368018",
"spbillCreateIp" : "127.0.0.1",
"subMchId" : "1900009231",
"totalFee" : 1,
"envId": "test-f0b102",
"functionName": "pay_cb"
})
return res
}
// 小程序代码
wx.cloud.callFunction({
name: '函数名',
data: {
// ...
},
success: res => {
const payment = res.result.payment
wx.requestPayment({
...payment,
success (res) {
console.log('pay success', res)
},
fail (err) {
console.error('pay fail', err)
}
})
},
fail: console.error,
})
- 小程序文件上传wx.uploadFile
- 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。使用前请注意阅读相关说明。
- 04-08 关注:1