收藏
回答

小程序支付完成后怎么回调带参数添加数据到表?

各位高手看下我传的参数是不是写法错了(我想用户付款完成后才把用户信息插入到表里)

(1)提交调起支付

 wx.cloud.callFunction({

          name: 'payq',

          data: {

            outTradeNo: _this.data.orderCodehao, //订单号

            totalFee: _this.data.zjiner,

            openidbl:wx.getStorageSync('_openid'), //付款的openid

            openidbeichouqubl:_this.data.beichouquren_Openid,//被付款的对象openid

          }

(2)付款

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

    const res = await cloud.cloudPay.unifiedOrder({

      "body":'名称', //商品名称或商品描述

      "outTradeNo": event.outTradeNo, //订单号

      "spbillCreateIp": "127.0.0.1",

      "subMchId": "XXXXXX", //****** 微信支付商户号

      "totalFee": event.totalFee * 100,

      "envId": "cloud1-6gojmXXXXXXX",

      "functionName": "payCallBack", //支付成功的回调

      "openidbl":event.openidbl,//这里这样写对吗?传openid到回调那边

      "openidbeichouqubl":event.openidbeichouqubl//这里这样写对吗?传openid到回调那边

    })

    return res

  }

(3)回调函数payCallBack

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

    //订单号 event.outTradeNo

    const returnCode = event.returnCode; // 是否支付成功

    const resultCode = event.resultCode ; // 是否支付成功

    if (returnCode == 'SUCCESS' && resultCode == 'SUCCESS'  ) {

    return await cloud.database().collection('表名').add({

      data: {

        _openid:event.openidbl, //写不到表里。。。有问题(空的)

        _openid_beichouqu:event.openidbeichouqubl, //写不到表里,,有问题(空的)

        outTradeNo:event.outTradeNo //这个是可以写到表里的(成功)

      }

    })

    .then(res => {

      return { errcode: 0, errmsg: 'SUCCESS' }

    }).catch(res => {

      return { errcode: 0, errmsg: '' }

    })   

  }

  }


回答关注问题邀请回答
收藏

1 个回答

  • 老张
    老张
    2021-11-11

    但凡在payCallBack里加一句console.log(even),都不会来发贴。

    这样的程序员的基操。

    2021-11-11
    有用 1
    回复 3
    • 古道儒风
      古道儒风
      2021-11-11
      呵呵,新手
      2021-11-11
      回复
    • 古道儒风
      古道儒风
      2021-11-11
      兄弟,帮忙下,如果改呢?
      2021-11-11
      回复
    • 古道儒风
      古道儒风
      2021-11-11
      谢谢,我做对了。
      2021-11-11
      回复
登录 后发表内容