# service/pay/wxpayBatchTransfer3.js
'use strict';
const vkPay = require("vk-uni-pay");
module.exports = {
/**
* 转账微信零钱 v3 版本(批量转账)最多一次性3000笔
* @url pay/wxpayTransfer3 前端调用的url参数地址
* data 请求参数 说明
* @param {String} out_biz_no 转账单号
* @param {String} batch_name 本次批量转账的名称
* @param {String} batch_remark 本次批量转账的备注
* @param {Number} total_amount 本次批量转账共转金额 单位为分 100 = 1元
* @param {Number} total_num 本次批量转账共几笔
* @param {Array} transfer_detail_list 本次批量转账详情
* @param {String} pay_type 固定wxpay
* @param {Number} version 固定3,代表使用v3版本
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, originalParam } = event;
let res = { code: 0, msg: '' };
// 转账开始-----------------------------------------------------------
// 支持做多3000笔批量转账
let out_biz_no = "test" + Date.now();
let transfer_detail_list = [{
out_detail_no: out_biz_no + "1", // 该用户的转账子单号
transfer_amount: 50, // 该用户的转账金额 单位为分 100 = 1元
transfer_remark: "关羽的报销单", // 该用户的转账备注
openid: "xxxxxxxx", // 该用户的openid
//user_name: "关羽",
},
{
out_detail_no: out_biz_no + "2", // 该用户的转账子单号
transfer_amount: 50, // 该用户的转账金额 单位为分 100 = 1元
transfer_remark: "张飞的报销单", // 该用户的转账备注
openid: "xxxxxxxx", // 该用户的openid
//user_name: "张飞",
}
]
res = await vkPay.transfer({
out_biz_no, // 转账单号(请自己控制全局唯一)
batch_name: "2022年8月员工报销单", // 本次批量转账的名称
batch_remark: "2022年8月员工报销单", // 本次批量转账的备注
total_amount: 100, // 本次批量转账共转金额 单位为分 100 = 1元
total_num: transfer_detail_list.length, // 本次批量转账共几笔
transfer_detail_list, // 本次批量转账详情
pay_type: "wxpay", // 固定 wxpay
version: 3, // 固定3,代表使用v3版本
});
/**
* 成功后的返回数据格式
{
"code": 0,
"msg": "转账申请已提交,请等待商家审核!",
"result": {
"batch_id": "1030001038501010245152022081100990045791",
"create_time": "2022-08-11T16:41:29+08:00",
"out_batch_no": "test1660207283242"
}
}
*/
if (res.code == 0) {
res.msg = "转账申请已提交,请等待商家审核!";
}
// 转账结束-----------------------------------------------------------
return res;
}
}
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69