'use strict'; /** * 此处建议只改下订单状态,保证能及时返回给第三方支付服务器成功状态 * 限制4秒内必须执行完全部的异步回调逻辑,建议将消息发送、返佣、业绩结算等业务逻辑异步处理(如用定时任务去处理这些异步逻辑) */ module.exports = async (obj) => { let user_order_success = true; let { data = {} } = obj; let { order_no, out_trade_no, total_fee, custom = {} } = data; // uni-pay-orders 表内的数据均可获取到 // 此处写你自己的支付成功逻辑开始----------------------------------------------------------- // 方式一:直接写数据库操作 // 此处只是简单演示下,实际数据库语句会更复杂一点。 const db = uniCloud.database(); const _ = db.command; let res = await db.collection("uni-id-users").doc(custom.user_id).update({ balance: _.inc(custom.recharge_balance) }); if (res && res.updated) { user_order_success = true; // 通知插件我的自定义回调逻辑执行成功 } else { user_order_success = false; // 通知插件我的自定义回调逻辑执行失败 } // 此处写你自己的支付成功逻辑结束----------------------------------------------------------- return user_order_success; };