zhanglin
2023-07-22 03dd384bb8b78f04eadcf619849b3687fa98c6c1
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
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
package com.ruoyi.order.tools.applyments;
 
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
 
/**
 * <pre>
 * 电商平台,可使用该接口,帮助其二级商户进件成为微信支付商户。
 * 文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_1.shtml
 * </pre>
 */
@Data
@EqualsAndHashCode
@JsonIgnoreProperties()
public class ApplymentsRequest {
    /**
     * <pre>
     * 字段名:业务申请编号
     * 变量名:out_request_no
     * 是否必填:是
     * 类型:string[1,124]
     * 描述:
     *  body 1、服务商自定义的商户唯一编号。 
     *  2、每个编号对应一个申请单,每个申请单审核通过后会生成一个微信支付商户号。 
     *  3、若申请单被驳回,可填写相同的“业务申请编号”,即可覆盖修改原申请单信息 。 
     *  示例值:APPLYMENT_00000000001 
     * </pre>
     */
    @JsonProperty(value = "out_request_no")
    private String outRequestNo;
 
    /**
     * <pre>
     * 字段名:主体类型
     * 变量名:organization_type
     * 是否必填:是
     * 类型:string[1,4]
     * 描述:
     *  body 非小微的主体类型需与营业执照/登记证书上一致,可参考选择主体指引,枚举值如下。
     *  2401:小微商户,指无营业执照的个人商家。
     *  2500:个人卖家,指无营业执照,已持续从事电子商务经营活动满6个月,且期间经营收入累计超过20万元的个人商家。(若选择该主体,请在“补充说明”填写相关描述)
     *  4:个体工商户,营业执照上的主体类型一般为个体户、个体工商户、个体经营。
     *  2:企业,营业执照上的主体类型一般为有限公司、有限责任公司。
     *  3:党政、机关及事业单位,包括国内各级、各类政府机构、事业单位等(如:公安、党 团、司法、交通、旅游、工商税务、市政、医疗、教育、学校等机构)。
     *  1708:其他组织,不属于企业、政府/事业单位的组织机构(如社会团体、民办非企业、基 金会),要求机构已办理组织机构代码证。
     *  示例值:2401 
     * </pre>
     */
    @JsonProperty(value = "organization_type")
    private String organizationType;
 
    /**
     * <pre>
     * 字段名:+营业执照/登记证书信息
     * 变量名:business_license_info
     * 是否必填:条件选填
     * 类型:object
     * 描述:
     *  body 1、主体为“小微/个人卖家”时,不填。
     *  2、主体为“个体工商户/企业”时,请上传营业执照。
     *  3、主体为“党政、机关及事业单位/其他组织”时,请上传登记证书。 
     * </pre>
     */
    @JsonProperty(value = "business_license_info")
    private BusinessLicenseInfo businessLicenseInfo;
 
    /**
     * <pre>
     * 字段名:+组织机构代码证信息
     * 变量名:organization_cert_info
     * 是否必填:条件选填
     * 类型:object
     * 描述:body 主体为“企业/党政、机关及事业单位/其他组织”,且营业执照/登记证书号码不是18位时必填。 
     * </pre>
     */
    @JsonProperty(value = "organization_cert_info")
    private OrganizationCertInfo organizationCertInfo;
 
    /**
     * <pre>
     * 字段名:经营者/法人证件类型
     * 变量名:id_doc_type
     * 是否必填:否
     * 类型:string[1,64]
     * 描述:
     *  body 1、主体为“小微/个人卖家”,可选择:身份证。
     *  2、主体为“个体户/企业/党政、机关及事业单位/其他组织”,可选择:以下任一证件类型。
     *  3、若没有填写,系统默认选择:身份证。
     *  枚举值:
     *  IDENTIFICATION_TYPE_MAINLAND_IDCARD:中国大陆居民-身份证
     *  IDENTIFICATION_TYPE_OVERSEA_PASSPORT:其他国家或地区居民-护照
     *  IDENTIFICATION_TYPE_HONGKONG:中国香港居民–来往内地通行证
     *  IDENTIFICATION_TYPE_MACAO:中国澳门居民–来往内地通行证
     *  IDENTIFICATION_TYPE_TAIWAN:中国台湾居民–来往大陆通行证
     *  示例值:IDENTIFICATION_TYPE_MACAO 
     * </pre>
     */
    @JsonProperty(value = "id_doc_type")
    private String idDocType;
 
    /**
     * <pre>
     * 字段名:+经营者/法人身份证信息
     * 变量名:id_card_info
     * 是否必填:条件选填
     * 类型:object
     * 描述:
     *  body 请填写经营者/法人的身份证信息
     *  证件类型为“身份证”时填写。
     *  
     * </pre>
     */
    @JsonProperty(value = "id_card_info")
    private IdCardInfo idCardInfo;
 
    /**
     * <pre>
     * 字段名:+经营者/法人其他类型证件信息
     * 变量名:id_doc_info
     * 是否必填:条件选填
     * 类型:object
     * 描述:body 证件类型为“来往内地通行证、来往大陆通行证、护照”时填写。 
     * </pre>
     */
    @JsonProperty(value = "id_doc_info")
    private IdDocInfo idDocInfo;
 
    /**
     * <pre>
     * 字段名:是否填写结算银行账户
     * 变量名:need_account_info
     * 是否必填:是
     * 类型:bool
     * 描述:
     *  body 1、可根据实际情况,填写“true”或“false”。
     *  1)若为“true”,则需填写结算银行账户。
     *  2)若为“false”,则无需填写结算银行账户。 
     *  2、若入驻时未填写结算银行账户,则需入驻后调用修改结算账户API补充信息,才能发起提现。
     *  示例值:true 
     * </pre>
     */
    @JsonProperty(value = "need_account_info")
    private Boolean needAccountInfo;
 
    /**
     * <pre>
     * 字段名:+结算银行账户
     * 变量名:account_info
     * 是否必填:条件选填
     * 类型:object
     * 描述:body 若"是否填写结算账户信息"填写为“true”, 则必填,填写为“false”不填 。 
     * </pre>
     */
    @JsonProperty(value = "account_info")
    private AccountInfo accountInfo;
 
    /**
     * <pre>
     * 字段名:+超级管理员信息
     * 变量名:contact_info
     * 是否必填:是
     * 类型:object
     * 描述:
     *  body 请填写店铺的超级管理员信息。
     *  超级管理员需在开户后进行签约,并可接收日常重要管理信息和进行资金操作,请确定其为商户法定代表人或负责人。 
     * </pre>
     */
    @JsonProperty(value = "contact_info")
    private ContactInfo contactInfo;
 
    /**
     * <pre>
     * 字段名:+店铺信息
     * 变量名:sales_scene_info
     * 是否必填:是
     * 类型:object
     * 描述:body 请填写店铺信息 
     * </pre>
     */
    @JsonProperty(value = "sales_scene_info")
    private SalesSceneInfo salesSceneInfo;
 
    /**
     * <pre>
     * 字段名:商户简称
     * 变量名:merchant_shortname
     * 是否必填:是
     * 类型:string[1,64]
     * 描述:
     *  body UTF-8格式,中文占3个字节,即最多16个汉字长度。将在支付完成页向买家展示,需与商家的实际售卖商品相符 。 
     *  示例值:腾讯 
     * </pre>
     */
    @JsonProperty(value = "merchant_shortname")
    private String merchantShortname;
 
    /**
     * <pre>
     * 字段名:特殊资质
     * 变量名:qualifications
     * 是否必填:否
     * 类型:string[1,1024]
     * 描述:
     *  body 1、若从事互联网售药,则需提供 《互联网药品交易服务证》;
     *  2、最多可上传5张照片,请填写通过图片上传接口预先上传图片生成好的MediaID 。 
     *  示例值:[\"jTpGmxUX3FBWVQ5NJInE4d2I6_H7I4\"] 
     * </pre>
     */
    @JsonProperty(value = "qualifications")
    private String qualifications;
 
    /**
     * <pre>
     * 字段名:补充材料
     * 变量名:business_addition_pics
     * 是否必填:否
     * 类型:string[1,1024]
     * 描述:
     *  body 最多可上传5张照片,请填写通过图片上传接口预先上传图片生成好的MediaID 。 
     *  示例值:[\"jTpGmg05InE4d2I6_H7I4\"] 
     * </pre>
     */
    @JsonProperty(value = "business_addition_pics")
    private String businessAdditionPics;
 
    /**
     * <pre>
     * 字段名:补充说明
     * 变量名:business_addition_desc
     * 是否必填:否
     * 类型:string[1,256]
     * 描述:
     *  body 1、可填写512字以内 。 
     *  2、若主体为“个人卖家”,则需填写描述“ 该商户已持续从事电子商务经营活动满6个月,且期间经营收入累计超过20万元。”。
     *  示例值:特殊情况,说明原因 
     * </pre>
     */
    @JsonProperty(value = "business_addition_desc")
    private String businessAdditionDesc;
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class BusinessLicenseInfo {
        /**
         * <pre>
         * 字段名:证件扫描件
         * 变量名:business_license_copy
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、主体为“个体工商户/企业”时,请上传营业执照的证件图片。 
         *  2、主体为“党政、机关及事业单位/其他组织”时,请上传登记证书的证件图片。
         *  3、可上传1张图片,请填写通过图片上传接口预先上传图片生成好的MediaID 。 
         *  4、图片要求: 
         *  (1)请上传证件的彩色扫描件或彩色数码拍摄件,黑白复印件需加盖公章(公章信息需完整) 。 
         *  (2)不得添加无关水印(非微信支付商户申请用途的其他水印)。 
         *  (3)需提供证件的正面拍摄件,完整、照面信息清晰可见。信息不清晰、扭曲、压缩变形、反光、不完整均不接受。 
         *  (4)不接受二次剪裁、翻拍、PS的证件照片。 
         *  示例值: 47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4 
         * </pre>
         */
        @JsonProperty(value = "business_license_copy")
        private String businessLicenseCopy;
 
        /**
         * <pre>
         * 字段名:证件注册号
         * 变量名:business_license_number
         * 是否必填:是
         * 类型:string[15,18]
         * 描述:
         *  1、主体为“个体工商户/企业”时,请填写营业执照上的注册号/统一社会信用代码,须为15位数字或 18位数字|大写字母。 
         *  2、主体为“党政、机关及事业单位/其他组织”时,请填写登记证书的证书编号。
         *  示例值:123456789012345678 
         * </pre>
         */
        @JsonProperty(value = "business_license_number")
        private String businessLicenseNumber;
 
        /**
         * <pre>
         * 字段名:商户名称
         * 变量名:merchant_name
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  1、请填写营业执照/登记证书的商家名称,2~110个字符,支持括号 。 
         *  2、个体工商户/党政、机关及事业单位,不能以“公司”结尾。 
         *  3、个体工商户,若营业执照上商户名称为空或为“无”,请填写"个体户+经营者姓名",如“个体户张三” 。 
         *  示例值:腾讯科技有限公司 
         * </pre>
         */
        @JsonProperty(value = "merchant_name")
        private String merchantName;
 
        /**
         * <pre>
         * 字段名:经营者/法定代表人姓名
         * 变量名:legal_person
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  请填写证件的经营者/法定代表人姓名
         *  示例值:张三 
         * </pre>
         */
        @JsonProperty(value = "legal_person")
        private String legalPerson;
 
        /**
         * <pre>
         * 字段名:注册地址
         * 变量名:company_address
         * 是否必填:条件选填
         * 类型:string[1,128]
         * 描述:
         *  主体为“党政、机关及事业单位/其他组织”时必填,请填写登记证书的注册地址。
         *  示例值:深圳南山区科苑路 
         * </pre>
         */
        @JsonProperty(value = "company_address")
        private String companyAddress;
 
        /**
         * <pre>
         * 字段名:营业期限
         * 变量名:business_time
         * 是否必填:条件选填
         * 类型:string[1,256]
         * 描述:
         *  1、主体为“党政、机关及事业单位/其他组织”时必填,请填写证件有效期。
         *  2、若证件有效期为长期,请填写:长期。
         *  3、结束时间需大于开始时间。
         *  4、有效期必须大于60天,即结束时间距当前时间需超过60天。
         *  示例值:[\"2014-01-01\",\"长期\"] 
         * </pre>
         */
        @JsonProperty(value = "business_time")
        private String businessTime;
 
    }
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class OrganizationCertInfo {
        /**
         * <pre>
         * 字段名:组织机构代码证照片
         * 变量名:organization_copy
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  可上传1张图片,请填写通过图片上传接口预先上传图片生成好的MediaID。
         *  示例值:vByf3Gjm7KE53JXv\prrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4 
         * </pre>
         */
        @JsonProperty(value = "organization_copy")
        private String organizationCopy;
 
        /**
         * <pre>
         * 字段名:组织机构代码
         * 变量名:organization_number
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、请填写组织机构代码证上的组织机构代码。
         *  2、可填写9或10位 数字|字母|连字符。
         *  示例值:12345679-A 
         * </pre>
         */
        @JsonProperty(value = "organization_number")
        private String organizationNumber;
 
        /**
         * <pre>
         * 字段名:组织机构代码有效期限
         * 变量名:organization_time
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、请填写组织机构代码证的有效期限,注意参照示例中的格式。
         *  2、若证件有效期为长期,请填写:长期。
         *  3、结束时间需大于开始时间。
         *  4、有效期必须大于60天,即结束时间距当前时间需超过60天。
         *  示例值:[\"2014-01-01\",\"长期\"] 
         * </pre>
         */
        @JsonProperty(value = "organization_time")
        private String organizationTime;
 
    }
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class IdCardInfo {
        /**
         * <pre>
         * 字段名:身份证人像面照片
         * 变量名:id_card_copy
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、请上传经营者/法定代表人的身份证人像面照片。
         *  2、可上传1张图片,请填写通过图片上传接口预先上传图片生成好的MediaID。
         *  示例值:xpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ 
         * </pre>
         */
        @JsonProperty(value = "id_card_copy")
        private String idCardCopy;
 
        /**
         * <pre>
         * 字段名:身份证国徽面照片
         * 变量名:id_card_national
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、请上传经营者/法定代表人的身份证国徽面照片。
         *  2、可上传1张图片,请填写通过图片上传接口预先上传图片生成好的MediaID 。 
         *  示例值:vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4 
         * </pre>
         */
        @JsonProperty(value = "id_card_national")
        private String idCardNational;
 
        /**
         * <pre>
         * 字段名:身份证姓名
         * 变量名:id_card_name
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、请填写经营者/法定代表人对应身份证的姓名,2~30个中文字符、英文字符、符号。
         *  2、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
         *  示例值:pVd1HJ6v/69bDnuC4EL5Kz4jBHLiCa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg== 
         * </pre>
         */
        @JsonProperty(value = "id_card_name")
        private String idCardName;
 
        /**
         * <pre>
         * 字段名:身份证号码
         * 变量名:id_card_number
         * 是否必填:是
         * 类型:string[15,18]
         * 描述:
         *  1、请填写经营者/法定代表人对应身份证的号码。
         *  2、15位数字或17位数字+1位数字|X ,该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
         *  示例值:zV+BEmytMNQCqQ8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw==4 
         * </pre>
         */
        @JsonProperty(value = "id_card_number")
        private String idCardNumber;
 
        /**
         * <pre>
         * 字段名:身份证有效期限
         * 变量名:id_card_valid_time
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  1、请填写身份证有效期的结束时间,注意参照示例中的格式。
         *  2、若证件有效期为长期,请填写:长期。
         *  3、证件有效期需大于60天。
         *  示例值:2026-06-06,长期 
         * </pre>
         */
        @JsonProperty(value = "id_card_valid_time")
        private String idCardValidTime;
 
    }
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class IdDocInfo {
        /**
         * <pre>
         * 字段名:证件姓名
         * 变量名:id_doc_name
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  请填写经营者/法人姓名。
         *  示例值:jTpGmxUX3FBWVQ5NJTZvlKX_gdU4LC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ 
         * </pre>
         */
        @JsonProperty(value = "id_doc_name")
        private String idDocName;
 
        /**
         * <pre>
         * 字段名:证件号码
         * 变量名:id_doc_number
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  7~11位 数字|字母|连字符 。 
         *  示例值:jTpGmxUX3FBWVQ5NJTZvlKX_go0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ 
         * </pre>
         */
        @JsonProperty(value = "id_doc_number")
        private String idDocNumber;
 
        /**
         * <pre>
         * 字段名:证件照片
         * 变量名:id_doc_copy
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、可上传1张图片,请填写通过图片上传接口预先上传图片生成好的MediaID。
         *  2、2M内的彩色图片,格式可为bmp、png、jpeg、jpg或gif 。 
         *  示例值:xi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4 
         * </pre>
         */
        @JsonProperty(value = "id_doc_copy")
        private String idDocCopy;
 
        /**
         * <pre>
         * 字段名:证件结束日期
         * 变量名:doc_period_end
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  1、请按照示例值填写。
         *  2、若证件有效期为长期,请填写:长期。
         *  3、证件有效期需大于60天 。 
         *  示例值:2020-01-02 
         * </pre>
         */
        @JsonProperty(value = "doc_period_end")
        private String docPeriodEnd;
 
    }
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class AccountInfo {
        /**
         * <pre>
         * 字段名:账户类型
         * 变量名:bank_account_type
         * 是否必填:是
         * 类型:string[1,2]
         * 描述:
         *  1、若主体为企业/党政、机关及事业单位/其他组织,可填写:74-对公账户。
         *  2、主体为“小微/个人卖家”,可选择:75-对私账户。
         *  3、若主体为个体工商户,可填写:74-对公账户、75-对私账户。
         *  示例值:75 
         * </pre>
         */
        @JsonProperty(value = "bank_account_type")
        private String bankAccountType;
 
        /**
         * <pre>
         * 字段名:开户银行
         * 变量名:account_bank
         * 是否必填:是
         * 类型:string[1,10]
         * 描述:
         *  详细参见开户银行对照表。
         *  示例值:工商银行 
         * </pre>
         */
        @JsonProperty(value = "account_bank")
        private String accountBank;
 
        /**
         * <pre>
         * 字段名:开户名称
         * 变量名:account_name
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  1、选择经营者个人银行卡时,开户名称必须与身份证姓名一致。
         *  2、选择对公账户时,开户名称必须与营业执照上的“商户名称”一致。
         *  3、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
         *  示例值:AOZdYGISxo4yw96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw== 
         * </pre>
         */
        @JsonProperty(value = "account_name")
        private String accountName;
 
        /**
         * <pre>
         * 字段名:开户银行省市编码
         * 变量名:bank_address_code
         * 是否必填:是
         * 类型:string[1,12]
         * 描述:
         *  至少精确到市,详细参见省市区编号对照表。
         *  示例值:110000 
         * </pre>
         */
        @JsonProperty(value = "bank_address_code")
        private String bankAddressCode;
 
        /**
         * <pre>
         * 字段名:开户银行联行号
         * 变量名:bank_branch_id
         * 是否必填:条件选填
         * 类型:string[1,64]
         * 描述:
         *  1、17家直连银行无需填写,如为其他银行,开户银行全称(含支行)和开户银行联行号二选一。 
         *  2、详细参见开户银行全称(含支行)对照表。
         *  示例值:402713354941 
         * </pre>
         */
        @JsonProperty(value = "bank_branch_id")
        private String bankBranchId;
 
        /**
         * <pre>
         * 字段名:开户银行全称 (含支行]
         * 变量名:bank_name
         * 是否必填:条件选填
         * 类型:string[1,128]
         * 描述:
         *  1、17家直连银行无需填写,如为其他银行,开户银行全称(含支行)和开户银行联行号二选一。 
         *  2、需填写银行全称,如"深圳农村商业银行XXX支行" 。
         *  3、详细参见开户银行全称(含支行)对照表。
         *  示例值:施秉县农村信用合作联社城关信用社 
         * </pre>
         */
        @JsonProperty(value = "bank_name")
        private String bankName;
 
        /**
         * <pre>
         * 字段名:银行帐号
         * 变量名:account_number
         * 是否必填:是
         * 类型:string[1,128]
         * 描述:
         *  1、数字,长度遵循系统支持的对公/对私卡号长度要求表。
         *  2、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial) 
         *  示例值: d+xT+MQCvrLHUVDWv/8MR/dB7TkXLVfSrUxMPZy6jWWYzpRrEEaYQE8ZRGYoeorwC+w== 
         * </pre>
         */
        @JsonProperty(value = "account_number")
        private String accountNumber;
 
    }
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class ContactInfo {
        /**
         * <pre>
         * 字段名:超级管理员类型
         * 变量名:contact_type
         * 是否必填:是
         * 类型:string[1,2]
         * 描述:
         *  1、主体为“小微/个人卖家 ”,可选择:65-经营者/法人。
         *  2、主体为“个体工商户/企业/党政、机关及事业单位/其他组织”,可选择:65-经营者/法人、66- 负责人。 (负责人:经商户授权办理微信支付业务的人员,授权范围包括但不限于签约,入驻过程需完成账户验证)。
         *  示例值:65 
         * </pre>
         */
        @JsonProperty(value = "contact_type")
        private String contactType;
 
        /**
         * <pre>
         * 字段名:超级管理员姓名
         * 变量名:contact_name
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、若管理员类型为“法人”,则该姓名需与法人身份证姓名一致。
         *  2、若管理员类型为“经办人”,则可填写实际经办人的姓名。
         *  3、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
         *  (后续该管理员需使用实名微信号完成签约) 
         *  示例值: pVd1HJ6zyvPedzGaV+X3IdGdbDnuC4Eelw/wDa4SzfeespQO/0kjiwfqdfg== 
         * </pre>
         */
        @JsonProperty(value = "contact_name")
        private String contactName;
 
        /**
         * <pre>
         * 字段名:超级管理员身份证件号码
         * 变量名:contact_id_card_number
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、若管理员类型为法人,则该身份证号码需与法人身份证号码一致。若管理员类型为经办人,则可填写实际经办人的身份证号码。
         *  2、可传身份证、来往内地通行证、来往大陆通行证、护照等证件号码。
         *  3、超级管理员签约时,校验微信号绑定的银行卡实名信息,是否与该证件号码一致。
         *  4、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
         *  示例值:pVd1HJ6zmty7/mYNxLMpRSvMRtelw/wDa4SzfeespQO/0kjiwfqdfg== 
         * </pre>
         */
        @JsonProperty(value = "contact_id_card_number")
        private String contactIdCardNumber;
 
        /**
         * <pre>
         * 字段名:超级管理员手机
         * 变量名:mobile_phone
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  1、请填写管理员的手机号,11位数字, 用于接收微信支付的重要管理信息及日常操作验证码 。 
         *  2、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
         *  示例值:pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiNWWNeespQO/0kjiwfqdfg== 
         * </pre>
         */
        @JsonProperty(value = "mobile_phone")
        private String mobilePhone;
 
        /**
         * <pre>
         * 字段名:超级管理员邮箱
         * 变量名:contact_email
         * 是否必填:条件选填
         * 类型:string[1,256]
         * 描述:
         *  1、主体类型为“小微商户/个人卖家”可选填,其他主体需必填。
         *  2、用于接收微信支付的开户邮件及日常业务通知。 
         *  3、需要带@,遵循邮箱格式校验 。 
         *  4、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
         *  示例值:pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+FWWNUlw/wDa4SzfeespQO/0kjiwfqdfg== 
         * </pre>
         */
        @JsonProperty(value = "contact_email")
        private String contactEmail;
 
    }
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class SalesSceneInfo {
        /**
         * <pre>
         * 字段名:店铺名称
         * 变量名:store_name
         * 是否必填:是
         * 类型:string[1,256]
         * 描述:
         *  请填写店铺全称。 
         *  示例值:爱烧烤 
         * </pre>
         */
        @JsonProperty(value = "store_name")
        private String storeName;
 
        /**
         * <pre>
         * 字段名:店铺链接
         * 变量名:store_url
         * 是否必填:二选一
         * 类型:string[1,1024]
         * 描述:
         *  1、店铺二维码or店铺链接二选一必填。
         *  2、请填写店铺主页链接,需符合网站规范。
         *  示例值:http://www.qq.com 
         * </pre>
         */
        @JsonProperty(value = "store_url")
        private String storeUrl;
 
        /**
         * <pre>
         * 字段名:店铺二维码
         * 变量名:store_qr_code
         * 是否必填:1、店铺二维码 or 店铺链接二选一必填。 2、若为电商小程序,可上传店铺页面的小程序二维码。 3、请填写通过图片上传接口预先上传图片生成好的MediaID,仅能上传1张图片 。 示例值:jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO1D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ
         * 类型:string[1,256]
         * 描述: 
         * </pre>
         */
        @JsonProperty(value = "store_qr_code")
        private String storeQrCode;
 
        /**
         * <pre>
         * 字段名:小程序AppID
         * 变量名:mini_program_sub_appid
         * 是否必填:否
         * 类型:string[1,256]
         * 描述:
         *  body 1、可填写已认证的小程序AppID,认证主体需与二级商户主体一致;
         *  2、完成入驻后, 系统发起二级商户号与该AppID的绑定(即配置为sub_appid,可在发起支付时传入) 
         *  示例值:wxd678efh567hg6787 
         * </pre>
         */
        @JsonProperty(value = "mini_program_sub_appid")
        private String miniProgramSubAppid;
 
    }
 
}