//云函数代码
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字段也是没有问题的,可是就是报
订单号生成长度最长32位