wx.requestPayment(Object object)

发起微信支付。调用前需在小程序微信公众平台 -功能-微信支付入口申请接入微信支付。了解更多信息,可以参考 微信支付开发文档

如果使用云开发,则 wx.requestPayment 所需参数可以通过云开发微信支付统一下单接口免鉴权获取、并可免证书、免签名的安全调用微信支付服务端接口、及接收异步支付结果回调,详见云开发微信支付

参数

Object object

属性类型默认值必填说明
timeStampstring时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间
nonceStrstring随机字符串,长度为32个字符以下
packagestring统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*
signTypestringMD5签名算法,应与后台下单时的值一致
paySignstring签名,具体见微信支付文档
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

object.signType 的合法值

说明最低版本
MD5仅在 v2 版本接口适用
HMAC-SHA256仅在 v2 版本接口适用
RSA仅在 v3 版本接口适用

示例代码

  1. wx.requestPayment({
  2. timeStamp: '',
  3. nonceStr: '',
  4. package: '',
  5. signType: 'MD5',
  6. paySign: '',
  7. success (res) { },
  8. fail (res) { }
  9. })

注:如果服务端有使用云开发,可以通过云开发微信支付统一下单接口免鉴权获取以上所需所有参数,示例:

  1. // 云函数代码
  2. const cloud = require('wx-server-sdk')
  3. cloud.init({
  4. env: cloud.DYNAMIC_CURRENT_ENV
  5. })
  6. exports.main = async (event, context) => {
  7. const res = await cloud.cloudPay.unifiedOrder({
  8. "body" : "小秋TIT店-超市",
  9. "outTradeNo" : "1217752501201407033233368018",
  10. "spbillCreateIp" : "127.0.0.1",
  11. "subMchId" : "1900009231",
  12. "totalFee" : 1,
  13. "envId": "test-f0b102",
  14. "functionName": "pay_cb"
  15. })
  16. return res
  17. }
  18. // 小程序代码
  19. wx.cloud.callFunction({
  20. name: '函数名',
  21. data: {
  22. // ...
  23. },
  24. success: res => {
  25. const payment = res.result.payment
  26. wx.requestPayment({
  27. ...payment,
  28. success (res) {
  29. console.log('pay success', res)
  30. },
  31. fail (err) {
  32. console.error('pay fail', err)
  33. }
  34. })
  35. },
  36. fail: console.error,
  37. })