云开发微信支付中的回调函数(functionName)demo
发布于 4 年前 作者 lei89 2949 次浏览 来自 分享

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

被这个卡了好久,后面有大佬发了一个demo给我,瞬间感觉清晰了好多,分享如下

// 云函数入口函数

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

      }

    }

  }

}

回到顶部