前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >小程序云开发调用微信支付

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

作者头像
4O4
发布2022-04-25 19:13:32
发布2022-04-25 19:13:32
4.4K00
代码可运行
举报
文章被收录于专栏:404404
运行总次数:0
代码可运行

写在前面

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

实现

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

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

代码语言:javascript
代码运行次数:0
运行
复制
// 云函数入口文件
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
}

点击后

代码语言:javascript
代码运行次数:0
运行
复制
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,
    }) 
  }

测试

此处为语雀视频卡片,点击链接查看:Screenrecorder-2020-05-18-21-56-55-682.mp4

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 实现
  • 测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档