卷王58 2025-04-08 10:00 采纳率: 25%
浏览 83
已结题

微信云开发支付out_trade_no映射到值字段“商户订单号”字符串规则校验失败

微信云开发支付out_trade_no映射到值字段“商户订单号”字符串规则校验失败

//云函数代码
exports.main = async (event, context) => {
  try {
    const anyNumJason = anyNum(32); // 32位随机字符串
    const outTradeNo = generateOutTradeNo(32); // 不超过32位订单号


    console.log('订单号:', outTradeNo, '长度:', outTradeNo.length);


    const res = await cloud.cloudPay.unifiedOrder({
      "body": "小秋TIT店-超市",
      "outTradeNo": outTradeNo,
      "spbillCreateIp": "127.0.0.1",
      "subMchId": "-------",
      "totalFee": 1,
      "envId": "-------", // 确保环境ID正确
      "functionName": "pay_cb",
      "nonceStr": anyNumJason,
      "tradeType": "JSAPI"
    });
    return res.result;
  } catch (error) {
    console.error('支付失败:', error);
    return { error: '支付请求失败', details: error.message };
  }
}
//小程序代码
    wx.cloud.callFunction({
      name: 'pay',
      data: {
        
      },
      success: res => {
        console.log("获取字符参数成功",res);
    
      },
      fail: console.error,
    })

订单号字段怎么修改都没有用,不填空着、自己手动写也不行,原方案是根据订单生成函数来生成订单号,每次查看小程序传过去的参数,ou_trade_no字段也是没有问题的,可是就是报

img

  • 写回答

4条回答 默认 最新

  • 卷王58 2025-04-10 12:59
    关注

    如果订单号字段怎么修改,甚至不填的话都报错字节数....,已超过限制...。那么我也搜过很多方法,都没有用,都是修改订单号字段内容。最后我重新创建node环境后就不报错了顺利运行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月8日