cshenfu
2023-06-14 de93aa62c83d6afb9f70cd5a22838375db0a8cbc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'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;
};