const res = await cloud.cloudPay.unifiedOrder({
function_name: "paycallback",
env_id: "kapai-8guuh44ze0f0102b",
sub_mch_id: "***",
nonce_str: nonceStr,
body: "拆卡充值",
out_trade_no: outTradeNo,
total_fee: 1,
spbill_create_ip: event.ip || "127.0.0.1",
trade_type: "JSAPI",
})
支付是调用成功了的,但是回调函数没有执行。
env_id 是对的,在云函数日志中就是看不到调用。
我之没成功,改对了env_id后,就成功了
服了,微信的开发体验真是最烂的,连问题都没人解答。
解决:由于创建订单需上传云端,同时支付支付成功后要更新云端数据库的订单,均为**异步**操作。一开始这个执行逻辑出错,导致始终无法更新支付状态。注意:`wx.requestPayment()`中的`success()`只能在支付成功后点击`完成`按钮才能被触发回调,逻辑不严密,慎用。一般通过云函数回调,即云函数`pay`中的`functionName`的云函数,支付成功自动回调。但要返回下面的对象以避免重复调用云函数。