小程序云开发调用微信支付

写在前面

已经开通微信支付商户号,并且小程序绑定了此商户号。

实现

创建小程序,填写appid,选择云开发...不做赘述。

新建云函数 pay ,参考 示例代码

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

exports.main = async (event, context) => {
  // 生成32位大写随机字符串
  const randomString = function (length, chars) {
    var result = '';
    for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
    return result;
  }

  const res = await cloud.cloudPay.unifiedOrder({
    "body" : "测试",
    "outTradeNo" : `${Date.now().toString().slice(3)}`,
    "spbillCreateIp" : "127.0.0.1",
    "subMchId" : "1565000000",
    "subAppid" : "wx080a191278000000",
    "totalFee" : 1,
    "functionName" : 'callback',
    "envId:" : 'miniapp-env',
    "nonceStr" : randomString(32, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ').toUpperCase(),
    "tradeType": 'JSAPI',
  })
  return res
}

点击后

btnPay() {
    wx.cloud.callFunction({
      name: 'pay',
      success: res => {
        const payment = res.result.payment
        console.log(payment)

        wx.requestPayment({
          ...payment,
          success (res) {
            console.log('pay success', res)
            // ...todo
          },
          fail (err) {
            console.error('pay fail', err)
          }
        })
      },
      fail: console.error,
    }) 
  }

ok

你可能感兴趣的:(微信小程序)