评论

【手把手喂饭】云开发微信支付教程

云开发微信支付 代码版

绑定商户号等等就不说了……

基本步骤如下:

1、小程序端 调用云函数

2、云函数调用 cloud.cloudPay.unifiedOrder 获取支付参数,返回给 小程序

3、小程序拿到第二步的参数,调用 wx.requestPayment 调用微信支付

4、支付完成的回调

细节部分:

1、小程序端 调用云函数 这一步没啥好说的,给个我的参考:

orderRes = orderInfo // 订单信息,我这里用的预先下订单,也可以支付后创建订单
orderData = {...} // 一些需要传递给云函数的数据,不存在也没有关系,因为我是预先创建订单,所以 后端获取订单,就能补充支付信息(如支付金额)了
http.callFunction('order',orderData)
    .then((res:any)=>{
      const payment = res.result.payment
      wx.requestPayment({  // 这里是第3步的部分
        ...payment,
        success () {
  
  // 支付成功 跳转什么的
          },
          fail (err:any) {
            console.error('pay fail', err)          
          }
        })
      })


2 云函数部分:

这里有个小技巧,就是加个支付流水,这样可以做到订单支付失败后,重新进订单还能重新支付同一个订单,但是如果你上一步做的是支付完成后创建订单,则不需要这个步骤了。

const res = await cloud.cloudPay.unifiedOrder({
    "body" : event.goodsName,
    "outTradeNo" : flowRes._id,
    "nonceStr":event.nonceStr,
    "spbillCreateIp" : "127.0.0.1",
    "subMchId" : "123",
    "totalFee" : order.totalPrice,
    "envId""你自己的环境id",
    "functionName""pay_callback", // 回调函数
    "tradeType":"JSAPI"
  })


3、第三步 就是 第一步 的回调里面的部分 不重复了……

4、支付完成后回调:

修改一下订单为已支付即可……

最后一次编辑于  2023-02-03  
点赞 0
收藏
评论

1 个评论

  • 天赐
    天赐
    06-15

    请问支付流水是什么意思?

    06-15
    赞同
    回复
登录 后发表内容