评论

云开发微信支付中的回调函数(functionName)demo

关于云开发微信支付中的回调函数(functionName)的详细说明


https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html

有好多人不理解这个,现整理分享如下


// 云函数入口函数

exports.main = async (event, context) => {

  const wxContext = cloud.getWXContext()

  console.log('微信支付回调函数执行,传入的参数是');

  console.log(event);


  console.log('[必定存在]returnCode 值是', event.returnCode);


  //【1】判断通讯是否成功

  if (!event.returnCode === 'SUCCESS') {

    //通讯失败

    console.warn('[1A]微信支付结果通讯失败786');

    return {

      errcode: 0,

      errmsg: '通讯失败异常,此分支正常情况下不会执行'

    }

  } else {

    //通讯成功,判断业务结果是否成功

    if (event.resultCode === 'SUCCESS') {

      console.log('[1B]result_code结果为SUCCESS,支付成功');

      //交易详情

      console.log('微信预支付订单号', event.prepay_id);

      console.log('商户自定义订单编号是', event.outTradeNo);

      console.log('当前用户的openid是', event.subOpenid);

      console.log('当前订单的金额是[单位分]', event.totalFee);

      console.log('微信支付订单号', event.transactionId);

      console.log('支付完成时间', event.timeEnd);

      console.log('商户号', event.mchId);

      console.log('子商户号', event.subMchId);

      //支付成功业务逻辑 更改订单状态


      //【2】开始更新订单状态

      console.log('[2]准备更新订单状态');

//写你的业务逻辑


      console.warn('[2B]支付成功,修改订单状态失败,请手动补录');

      return {

        errcode: 0,

        errmsg: temResult.errMsg

      }

    }


  }

}

最后一次编辑于  2020-10-30  
点赞 0
收藏
评论

2 个评论

  • 宁静致远
    宁静致远
    2021-04-14

    不知所云

    2021-04-14
    赞同
    回复
  • 行囊
    行囊
    2020-10-12

    我修改订单状态的话,肯定需要这个订单的_id啊,但是全程没有看见传递参数的方法,怎么在回调函数里修改订单状态?

    2020-10-12
    赞同
    回复 2
    • 王大拿
      王大拿
      2020-10-14
      可以使用接口传参啊,在回调函数中判断函数执行成功后,就调用接口,传递订单号,改变支付状态
      2020-10-14
      回复
    • 景泰
      景泰
      2021-10-27
      怎么调用接口呢?云函数里不支持wx.request的吧,如果引入request包,又获取不到用户的cookie或token之类的,这个问题怎么解决呢?
      2021-10-27
      回复
登录 后发表内容