sunpengfei
2025-11-28 312ebed2d86858e4fb57ec09679244e9b806b57f
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ApiTools.Core
{
    /// <summary>
    /// 发起批量转账-请求-请求体传参
    /// </summary>
    public class WeChatPayPartnerTransferBatchesBodyParameters
    {
        public WeChatPayPartnerTransferBatchesBodyParameters()
        {
            TransferDetailList = [];
        }
 
        /// <summary>
        /// 特约商户号
        /// </summary>
        [JsonProperty("sub_mchid")]
        public string SubMchId { get; set; }
        /// <summary>
        /// 特约商户appid
        /// 微信分配的特约商户公众账号ID,特约商户授权类型为INFORMATION_AUTHORIZATION_TYPE和INFORMATION_AND_FUND_AUTHORIZATION_TYPE时 需要填写
        /// </summary>
        [JsonProperty("sub_appid")]
        public string SubAppId { get; set; }
        /// <summary>
        /// 特约商户授权类型
        /// INFORMATION_AUTHORIZATION_TYPE: 表示使用特约商户用户信息,出款方服务商
        /// FUND_AUTHORIZATION_TYPE: 表示使用特约商户的资金,出款方为特约商户,用户信息为服务商appid对应的openid
        /// INFORMATION_AND_FUND_AUTHORIZATION_TYPE: 表示使用特约商户的用户信息且出款方为特约商户
        /// </summary>
        [JsonProperty("authorization_type")]
        public string AuthorizationType { get; set; }
        /// <summary>
        /// 商家批次单号
        /// 商户系统内部的商家批次单号,在商户系统内部唯一
        /// </summary>
        [JsonProperty("out_batch_no")]
        public string OutBatchNo { get; set; }
        /// <summary>
        /// 批次名称
        /// 该笔批量转账的名称
        /// </summary>
        [JsonProperty("batch_name")]
        public string BatchName { get; set; }
        /// <summary>
        /// 批次备注
        /// 转账说明,UTF8编码,最多允许32个字符
        /// </summary>
        [JsonProperty("batch_remark")]
        public string BatchRemark { get; set; }
        /// <summary>
        /// 转账总金额
        /// 转账金额单位为“分”。转账总金额必须与批次内所有明细转账金额之和保持一致,否则无法发起转账操作
        /// </summary>
        [JsonProperty("total_amount")]
        public int TotalAmount { get; set; }
        /// <summary>
        /// 转账总笔数
        /// 一个转账批次单最多发起一千笔转账。转账总笔数必须与批次内所有明细之和保持一致,否则无法发起转账操作
        /// </summary>
        [JsonProperty("total_num")]
        public int TotalNum { get; set; }
        /// <summary>
        /// 转账明细列表
        /// </summary>
        [JsonProperty("transfer_detail_list")]
        public List<WeChatPayPartnerTransferBatchesBodyParametersDetail> TransferDetailList { get; set; }
        /// <summary>
        /// 服务商的appid
        /// 微信分配的服务商商户公众账号ID,特约商户授权类型为FUND_AUTHORIZATION_TYPE时 需要填写
        /// </summary>
        [JsonProperty("sp_appid")]
        public string SpAppId { get; set; }
        /// <summary>
        /// 批量转账用途
        /// GOODSPAYMENT: 给用户支付货物采购资金
        /// COMMISSION: 给用户支付业务推广佣金
        /// REFUND: 给用户支付交易退款
        /// REIMBURSEMENT: 企业给员工支付差旅等报销资金
        /// FREIGHT: 给司机支付运输费用
        /// OTHERS: 其他
        /// </summary>
        [JsonProperty("transfer_purpose")]
        public string TransferPurpose { get; set; }
        /// <summary>
        /// 转账场景
        /// ORDINARY_TRANSFER: 普通转账(默认)
        /// PAYROLL_CARD_TRANSFER: 给使用微信务工卡的用户进行转账
        /// </summary>
        [JsonProperty("transfer_scene")]
        public string TransferScene { get; set; }
    }
 
    /// <summary>
    /// 发起批量转账-请求-请求体传参-转账明细
    /// </summary>
    public class WeChatPayPartnerTransferBatchesBodyParametersDetail
    {
        /// <summary>
        /// 商家明细单号
        /// 商户系统内部区分转账批次单下不同转账明细单的唯一标识
        /// </summary>
        [JsonProperty("out_detail_no")]
        public string OutDetailNo { get; set; }
        /// <summary>
        /// 转账金额
        /// 转账金额单位为“分”
        /// </summary>
        [JsonProperty("transfer_amount")]
        public int TransferAmount { get; set; }
        /// <summary>
        /// 转账备注
        /// 单条转账备注(微信用户会收到该备注),UTF8编码,最多允许32个字符
        /// </summary>
        [JsonProperty("transfer_remark")]
        public string TransferRemark { get; set; }
        /// <summary>
        /// 收款用户openid
        /// 收款用户openid。如果转账特约商户授权类型是INFORMATION_AUTHORIZATION_TYPE,对应的是特约商户公众号下的openid。
        /// </summary>
        [JsonProperty("openid")]
        public string OpenId { get; set; }
        /// <summary>
        /// 收款用户姓名
        /// 收款用户姓名。采用标准RSA算法,公钥由微信侧提供
        /// 明细转账金额 >= 2,000时,该笔明细必须填写收款用户姓名
        /// 同一批次转账明细中的姓名字段传入规则需保持一致,也即全部填写、或全部不填写
        /// 若商户传入收款用户姓名,微信支付会校验用户openID与姓名是否一致,并提供电子回单
        /// </summary>
        [JsonProperty("user_name")]
        public string UserName { get; set; }
        /// <summary>
        /// 收款用户身份证
        /// 收款方身份证号,可不用填(采用标准RSA算法,公钥由微信侧提供)
        /// 当填入收款方身份证号时,姓名字段必须填入
        /// </summary>
        [JsonProperty("user_id_card")]
        public string UserIdCard { get; set; }
    }
 
    /// <summary>
    /// 发起批量转账-响应
    /// </summary>
    public class PartnerTransferBatchesResponse : WeChatPayResponse
    {
        /// <summary>
        /// 商家批次单号
        /// 商户系统内部的商家批次单号,在商户系统内部唯一
        /// </summary>
        [JsonProperty("out_batch_no")]
        public string out_batch_no { get; set; }
        /// <summary>
        /// 微信支付批次单号
        /// 微信支付批次单号,微信商家转账系统返回的唯一标识
        /// </summary>
        [JsonProperty("batch_id")]
        public string batch_id { get; set; }
        /// <summary>
        /// 批次创建时间
        /// 批次受理成功时返回,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE
        /// </summary>
        [JsonProperty("create_time")]
        public string create_time { get; set; }
    }
}