lingling
2025-03-17 2dffeebb60078f6ee1d59ac327c0ecce3fd200e9
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
 
namespace LifePayment.Domain
{
    public class FundTransPagePayInput
    {
        /// <summary>
        /// 商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
        /// </summary>
        [JsonProperty("out_biz_no", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string OutBizNo
        {
            get;
            set;
        }
 
        /// <summary>
        /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,9999999999999.99]
        /// </summary>
        [JsonProperty("trans_amount", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public decimal TransAmount
        {
            get;
            set;
        }
 
        /// <summary>
        /// 销售产品码,商家和支付宝签约的产品码
        /// </summary>
        [JsonProperty("product_code", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string ProductCode
        {
            get;
            set;
        }
 
        /// <summary>
        /// 描述特定的业务场景,比如对党费缴纳场景需走党费专户
        /// </summary>
        [JsonProperty("biz_scene", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string BizScene
        {
            get;
            set;
        }
 
        /// <summary>
        /// 收款方信息
        /// </summary>
        [JsonProperty("payee_info", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public Participant PayeeInfo
        {
            get;
            set;
        }
 
        /// <summary>
        /// 转账备注
        /// </summary>
        [JsonProperty("remark", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string Remark
        {
            get;
            set;
        }
 
        /// <summary>
        /// 支付宝订单号,仅批量有密场景下生效
        /// </summary>
        [JsonProperty("order_id", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string OrderId
        {
            get;
            set;
        }
 
        /// <summary>
        /// 付款方信息
        /// </summary>
        [JsonProperty("payer_info", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public Participant PayerInfo
        {
            get;
            set;
        }
 
        /// <summary>
        /// 转账订单的标题,用于在收银台和消费记录展示
        /// </summary>
        [JsonProperty("order_title", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string OrderTitle
        {
            get;
            set;
        }
 
        /// <summary>
        /// 支付绝对超时时间,格式为yyyy-MM-dd HH:mm
        /// </summary>
        [JsonProperty("time_expire", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string TimeExpire
        {
            get;
            set;
        }
 
        /// <summary>
        /// 自动退款绝对超时时间,格式为yyyy-MM-dd HH:mm
        /// </summary>
        [JsonProperty("refund_time_expire", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string RefundTimeExpire
        {
            get;
            set;
        }
 
        /// <summary>
        /// 公用回传参数,如果请求时传递了该参数,则异步通知商户时会回传该参数。
        /// </summary>
        [JsonProperty("passback_params", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string PassbackParams
        {
            get;
            set;
        }
 
        /// <summary>
        /// JSON格式,传递业务扩展参数,使用前请与支付宝工程师联系!
        /// </summary>
        [JsonProperty("business_params", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string BusinessParams
        {
            get;
            set;
        }
    }
 
    public class Participant
    {
        /// <summary>
        /// 收款方账号或付款方账号,传入支付宝uid 参与方的标识,单笔无密转账到银行卡固定为收款方银行卡号
        /// </summary>
        [JsonProperty("identity", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string Identity
        {
            get;
            set;
        }
 
        /// <summary>
        /// identity传入支付宝uid时为:LAIPAY_USER_ID 参与方的标识类型,单笔无密转账到银行卡固定为BANKCARD_ACCOUNT
        /// </summary>
        [JsonProperty("identity_type", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string IdentityType
        {
            get;
            set;
        }
 
        /// <summary>
        /// 参与方的证件号,支持身份证号、护照号。
        /// </summary>
        [JsonProperty("cert_no", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string CertNo
        {
            get;
            set;
        }
 
        /// <summary>
        /// 参与方的证件类型。
        /// </summary>
        [JsonProperty("cert_type", NullValueHandling = NullValueHandling.Ignore)]
        [Required]
        public string CertType
        {
            get;
            set;
        }
 
        /// <summary>
        /// 参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。
        /// 收款方银行账户名称
        /// </summary>
        [JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
        public string Name
        {
            get;
            set;
        }
 
        /// <summary>
        /// 描述参与方信息的扩展属性,使用前请与支付宝工程师确认
        /// </summary>
        [JsonProperty("ext_info", NullValueHandling = NullValueHandling.Ignore)]
        public string ExtInfo
        {
            get;
            set;
        }
 
        [JsonProperty("bankcard_ext_info", NullValueHandling = NullValueHandling.Ignore)]
        public BankcardExtInfo BankCardExtInfo
        {
            get;
            set;
        }
    }
 
    public class BankcardExtInfo
    {
        /// <summary>
        /// 当收款账户为对公账户时,机构名称必填;当收款账户为对私账户时,机构名称可为空。 如:交通银行
        /// </summary>
        [JsonProperty("inst_name", NullValueHandling = NullValueHandling.Ignore)]
        public string InstName
        {
            get;
            set;
        }
 
        /// <summary>
        /// 收款账户类型。
        /// 1:对公(在金融机构开设的公司账户),如果银行卡为对公,必须传递省市支行信息或者联行号
        /// 2:对私(在金融机构开设的个人账户)
        /// </summary>
        [JsonProperty("account_type", NullValueHandling = NullValueHandling.Ignore)]
        public string AccountType
        {
            get;
            set;
        }
 
        /// <summary>
        /// 银行所在省份
        /// </summary>
        [JsonProperty("inst_province", NullValueHandling = NullValueHandling.Ignore)]
        public string InstProvince
        {
            get;
            set;
        }
 
        /// <summary>
        /// 收款银行所在市
        /// </summary>
        [JsonProperty("inst_city", NullValueHandling = NullValueHandling.Ignore)]
        public string InstCity
        {
            get;
            set;
        }
 
        /// <summary>
        /// 收款银行所属支行
        /// </summary>
        [JsonProperty("inst_branch_name", NullValueHandling = NullValueHandling.Ignore)]
        public string InstBranchName
        {
            get;
            set;
        }
 
        /// <summary>
        /// 银行支行联行号
        /// </summary>
        [JsonProperty("bank_code", NullValueHandling = NullValueHandling.Ignore)]
        public string BankCode
        {
            get;
            set;
        }
    }
}