com.github.binarywang.wxpay.bean.applyment.WxPayApplyment4SubCreateRequest Maven / Gradle / Ivy
The newest version!
package com.github.binarywang.wxpay.bean.applyment;
import com.github.binarywang.wxpay.bean.applyment.enums.*;
import com.github.binarywang.wxpay.v3.SpecEncrypt;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* 特约商户进件 提交申请对象
*
* @author zhouyongshen
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class WxPayApplyment4SubCreateRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 业务申请编号
*/
@SerializedName("business_code")
private String businessCode;
/**
* 超级管理员信息
*/
@SerializedName("contact_info")
@SpecEncrypt
private ContactInfo contactInfo;
/**
* 主体资料
*/
@SerializedName("subject_info")
@SpecEncrypt
private SubjectInfo subjectInfo;
/**
* 经营资料
*/
@SerializedName("business_info")
private BusinessInfo businessInfo;
/**
* 结算规则
*/
@SerializedName("settlement_info")
private SettlementInfo settlementInfo;
/**
* 结算银行账户
*/
@SerializedName("bank_account_info")
@SpecEncrypt
private BankAccountInfo bankAccountInfo;
/**
* 补充材料
*/
@SerializedName("addition_info")
private AdditionInfo additionInfo;
/**
* 超级管理员需在开户后进行签约,并接收日常重要管理信息和进行资金操作,请确定其为商户法定代表人或负责人。
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class ContactInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 超级管理员类型
* 1、主体为“个体工商户/企业/政府机关/事业单位/社会组织”,可选择:LEGAL:经营者/法人,SUPER:经办人 。(经办人:经商户授权办理微信支付业务的人员)。
* 枚举值:
* LEGAL:经营者/法人
* SUPER:经办人
* 示例值:LEGAL
*/
@SerializedName("contact_type")
private String contactType;
/**
* 超级管理员姓名
*/
@SerializedName("contact_name")
@SpecEncrypt
private String contactName;
/**
* 超级管理员证件类型
* 当超级管理员类型是经办人时,请上传超级管理员证件类型。
* IDENTIFICATION_TYPE_IDCARD:中国大陆居民-身份证
* IDENTIFICATION_TYPE_OVERSEA_PASSPORT:其他国家或地区居民-护照
* IDENTIFICATION_TYPE_HONGKONG_PASSPORT:中国香港居民-来往内地通行证
* IDENTIFICATION_TYPE_MACAO_PASSPORT:中国澳门居民-来往内地通行证
* IDENTIFICATION_TYPE_TAIWAN_PASSPORT:中国台湾居民-来往大陆通行证
* IDENTIFICATION_TYPE_FOREIGN_RESIDENT:外国人居留证
* IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT:港澳居民证
* IDENTIFICATION_TYPE_TAIWAN_RESIDENT:台湾居民证
* 示例值:IDENTIFICATION_TYPE_IDCARD
*/
@SerializedName("contact_id_doc_type")
private String contactIdDocType;
/**
* 超级管理员身份证件号码
* 1、“超级管理员身份证号码”与“超级管理员微信openid”,二选一必填。
* 2、超级管理员签约时,校验微信号绑定的银行卡实名信息,是否与该证件号码一致。
* 3、可传身份证、来往内地通行证、来往大陆通行证、护照等证件号码。
*/
@SerializedName("contact_id_number")
@SpecEncrypt
private String contactIdNumber;
/**
* 超级管理员证件正面照片
* 1、当超级管理员类型是经办人时,请上传超级管理员证件的正面照片。
* 2、若证件类型为身份证,请上传人像面照片。
* 3、可上传1张图片,请填写通过图片上传API预先上传图片生成好的MediaID。
* 4、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
* 示例值:jTpGmxUXqRTvDujqhThn4ReFxikqJ5YW6zFQ
*/
@SerializedName("contact_id_doc_copy")
private String contactIdDocCopy;
/**
* 超级管理员证件反面照片
* 1、当超级管理员类型是经办人时,请上传超级管理员证件的反面照片。
* 2、若证件类型为护照,无需上传反面照片。
* 3、可上传1张图片,请填写通过图片上传API预先上传图片生成好的MediaID。
* 4、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
* 示例值:jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ
*/
@SerializedName("contact_id_doc_copy_back")
private String contactIdDocCopyBack;
/**
* 超级管理员证件有效期开始时间
* 1、当超级管理员类型是经办人时,请上传证件有效期开始时间。
* 2、请按照示例值填写。
* 3、结束时间大于开始时间。
* 示例值:2019-06-06
*/
@SerializedName("contact_period_begin")
private String contactPeriodBegin;
/**
* 超级管理员证件有效期结束时间
* 1、当超级管理员类型是经办人时,请上传证件有效期结束时间。
* 2、请按照示例值填写,若证件有效期为长期,请填写:长期。
* 3、结束时间大于开始时间。
* 示例值:2026-06-06
*/
@SerializedName("contact_period_end")
private String contactPeriodEnd;
/**
* 业务办理授权函
* 1、当超级管理员类型是经办人时,请上传业务办理授权函。
* 2、请参照[示例图]打印业务办理授权函,全部信息需打印,不支持手写商户信息,并加盖公章。
* 3、可上传1张图片,请填写通过图片上传API预先上传图片生成好的MediaID。
* 示例值:47ZC6GC-vnrbEny_Ie_An5-tCpqxucuxi-vByf3Gjm7KEIUv0OF4wFNIO4kqg05InE4d2I6_H7I4
*/
@SerializedName("business_authorization_letter")
private String businessAuthorizationLetter;
/**
* 超级管理员微信openid
* 1、“超级管理员身份证件号码”与“超级管理员微信openid”,二选一必填。
* 2、超级管理员签约时,校验微信号是否与该微信openid一致。
*/
@SerializedName("openid")
private String openid;
/**
* 1、11位数字。
* 2、用于接收微信支付的重要管理信息及日常操作验证码。
*/
@SerializedName("mobile_phone")
@SpecEncrypt
private String mobilePhone;
/**
* 1、用于接收微信支付的开户邮件及日常业务通知。
* 2、需要带@,遵循邮箱格式校验,该字段需进行加密处理,
*/
@SerializedName("contact_email")
@SpecEncrypt
private String contactEmail;
}
/**
* 主体资料
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class SubjectInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主体类型
*/
@SerializedName("subject_type")
private SubjectTypeEnum subjectType;
/**
* 是否是金融机构
*/
@SerializedName("finance_institution")
private Boolean financeInstitution;
/**
* 营业执照
*/
@SerializedName("business_license_info")
private BusinessLicenseInfo businessLicenseInfo;
/**
* 登记证书
*/
@SerializedName("certificate_info")
private CertificateInfo certificateInfo;
/**
* 单位证明函照片
*/
@SerializedName("certificate_letter_copy")
private String certificateLetterCopy;
/**
* 金融机构许可证信息
*/
@SerializedName("finance_institution_info")
private FinanceInstitutionInfo financeInstitutionInfo;
/**
* 经营者/法人身份证件
*/
@SerializedName("identity_info")
@SpecEncrypt
private IdentityInfo identityInfo;
/**
* 最终受益人信息列表(UBO)
*/
@SerializedName("ubo_info_list")
@SpecEncrypt
private List uboInfoList;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class BusinessLicenseInfo implements Serializable {
private static final long serialVersionUID = -1016615300418945838L;
/**
* 营业执照照片
*/
@SerializedName("license_copy")
private String licenseCopy;
/**
* 注册号/统一社会信用代码
*/
@SerializedName("license_number")
private String licenseNumber;
/**
* 商户名称
*/
@SerializedName("merchant_name")
private String merchantName;
/**
* 个体户经营者/法人姓名
*/
@SerializedName("legal_person")
private String legalPerson;
/**
* 注册地址
*/
@SerializedName("license_address")
private String licenseAddress;
/**
* 有效期限开始日期
*/
@SerializedName("period_begin")
private String periodBegin;
/**
* 有效期限结束日期
*/
@SerializedName("period_end")
private String periodEnd;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class CertificateInfo implements Serializable {
private static final long serialVersionUID = 5080675335337916895L;
/**
* 登记证书照片
*/
@SerializedName("cert_copy")
private String certCopy;
/**
* 登记证书类型
*/
@SerializedName("cert_type")
private CertTypeEnum certType;
/**
* 证书号
*/
@SerializedName("cert_number")
private String certNumber;
/**
* 商户名称
*/
@SerializedName("merchant_name")
private String merchantName;
/**
* 注册地址
*/
@SerializedName("company_address")
private String companyAddress;
/**
* 法定代表人
*/
@SerializedName("legal_person")
private String legalPerson;
/**
* 有效期限开始日期
*/
@SerializedName("period_begin")
private String periodBegin;
/**
* 有效期限结束日期
*/
@SerializedName("period_end")
private String periodEnd;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class FinanceInstitutionInfo implements Serializable {
private static final long serialVersionUID = 6016563999835704297L;
/**
* 金融机构类型
*
* @see FinanceTypeEnum
*/
@SerializedName("finance_type")
private FinanceTypeEnum financeType;
/**
* 金融机构许可证图片
*/
@SerializedName("finance_license_pics")
private List financeLicensePics;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class IdentityInfo implements Serializable {
private static final long serialVersionUID = 1683704338370383827L;
/**
* 证件持有人类型
* LEGAL:法人
* SUPER:经办人
* 示例值:LEGAL
* @see com.github.binarywang.wxpay.bean.ecommerce.ApplymentsRequest 字段idHolderType
*/
@SerializedName("id_holder_type")
private String idHolderType;
/**
* 证件类型
*/
@SerializedName("id_doc_type")
private IdTypeEnum idDocType;
/**
* 法定代表人说明函
*/
@SerializedName("authorize_letter_copy")
private String authorizeLetterCopy;
/**
* 身份证信息
*/
@SerializedName("id_card_info")
@SpecEncrypt
private IdCardInfo idCardInfo;
/**
* 其他类型证件信息
*/
@SerializedName("id_doc_info")
@SpecEncrypt
private IdDocInfo idDocInfo;
/**
* 经营者/法人是否为受益人
*/
@SerializedName("owner")
private Boolean owner;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class IdCardInfo implements Serializable {
private static final long serialVersionUID = -2897792705297641786L;
/**
* 身份证人像面照片
*/
@SerializedName("id_card_copy")
private String idCardCopy;
/**
* 身份证国徽面照片
*/
@SerializedName("id_card_national")
private String idCardNational;
/**
* 身份证姓名
*/
@SerializedName("id_card_name")
@SpecEncrypt
private String idCardName;
/**
* 身份证号码
*/
@SerializedName("id_card_number")
@SpecEncrypt
private String idCardNumber;
/**
* 身份证居住地址
*/
@SerializedName("id_card_address")
@SpecEncrypt
private String idCardAddress;
/**
* 身份证有效期开始时间
*/
@SerializedName("card_period_begin")
private String cardPeriodBegin;
/**
* 身份证有效期结束时间
*/
@SerializedName("card_period_end")
private String cardPeriodEnd;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class IdDocInfo implements Serializable {
private static final long serialVersionUID = 7335589815924447719L;
/**
* 证件正面照片
*/
@SerializedName("id_doc_copy")
private String idDocCopy;
/**
* 证件反面照片
*/
@SerializedName("id_doc_copy_back")
private String idDocCopyBack;
/**
* 证件姓名
*/
@SerializedName("id_doc_name")
@SpecEncrypt
private String idDocName;
/**
* 证件号码
*/
@SerializedName("id_doc_number")
@SpecEncrypt
private String idDocNumber;
/**
* 证件居住地址
*/
@SerializedName("id_doc_address")
@SpecEncrypt
private String idDocAddress;
/**
* 证件有效期开始时间
*/
@SerializedName("doc_period_begin")
private String docPeriodBegin;
/**
* 证件有效期结束时间
*/
@SerializedName("doc_period_end")
private String docPeriodEnd;
}
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class UboInfo implements Serializable {
private static final long serialVersionUID = 7918585690831975042L;
/**
* 证件类型
*/
@SerializedName("ubo_id_doc_type")
private IdTypeEnum uboIdDocType;
/**
* 证件正面照片
*/
@SerializedName("ubo_id_doc_copy")
private String uboIdDocCopy;
/**
* 证件反面照片
*/
@SerializedName("ubo_id_doc_copy_back")
private String uboIdDocCopyBack;
/**
* 证件姓名
*/
@SerializedName("ubo_id_doc_name")
@SpecEncrypt
private String uboIdDocName;
/**
* 证件号码
*/
@SerializedName("ubo_id_doc_number")
@SpecEncrypt
private String uboIdDocNumber;
/**
* 证件居住地址
*/
@SerializedName("ubo_id_doc_address")
@SpecEncrypt
private String uboIdDocAddress;
/**
* 证件有效期开始时间
*/
@SerializedName("ubo_period_begin")
private String uboPeriodBegin;
/**
* 证件有效期结束时间
*/
@SerializedName("ubo_period_end")
private String uboPeriodEnd;
}
}
/**
* 经营资料
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class BusinessInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 商户简称
*/
@SerializedName("merchant_shortname")
private String merchantShortname;
/**
* 客服电话
*/
@SerializedName("service_phone")
private String servicePhone;
/**
* 经营场景
*/
@SerializedName("sales_info")
private SalesInfo salesInfo;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class SalesInfo implements Serializable {
private static final long serialVersionUID = 6428044729204137659L;
/**
* 经营场景类型
*/
@SerializedName("sales_scenes_type")
private List salesScenesType;
/**
* 线下门店场景
*/
@SerializedName("biz_store_info")
private BizStoreInfo bizStoreInfo;
/**
* 公众号场景
*/
@SerializedName("mp_info")
private MpInfo mpInfo;
/**
* 小程序场景
*/
@SerializedName("mini_program_info")
private MiniProgramInfo miniProgramInfo;
/**
* APP场景
*/
@SerializedName("app_info")
private AppInfo appInfo;
/**
* 互联网网站场景
*/
@SerializedName("web_info")
private WebInfo webInfo;
/**
* 企业微信场景
*/
@SerializedName("wework_info")
private WeworkInfo weworkInfo;
/**
* 线下门店场景
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class BizStoreInfo implements Serializable {
private static final long serialVersionUID = 4397253725912709093L;
/**
* 门店名称
*/
@SerializedName("biz_store_name")
private String bizStoreName;
/**
* 门店省市编码
*/
@SerializedName("biz_address_code")
private String bizAddressCode;
/**
* 门店地址
*/
@SerializedName("biz_store_address")
private String bizStoreAddress;
/**
* 门店门头照片
*/
@SerializedName("store_entrance_pic")
private List storeEntrancePic;
/**
* 店内环境照片
*/
@SerializedName("indoor_pic")
private List indoorPic;
/**
* 线下场所对应的商家APPID
*/
@SerializedName("biz_sub_appid")
private String bizSubAppid;
}
/**
* 公众号场景
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class MpInfo implements Serializable {
private static final long serialVersionUID = 167582552189873597L;
/**
* 服务商公众号APPID
*/
@SerializedName("mp_appid")
private String mpAppid;
/**
* 商家公众号APPID
*/
@SerializedName("mp_sub_appid")
private String mpSubAppid;
/**
* 公众号页面截图
*/
@SerializedName("mp_pics")
private List mpPics;
}
/**
* 小程序场景
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class MiniProgramInfo implements Serializable {
private static final long serialVersionUID = -371749335686796436L;
/**
* 服务商小程序APPID
*/
@SerializedName("mini_program_appid")
private String miniProgramAppid;
/**
* 商家小程序APPID
*/
@SerializedName("mini_program_sub_appid")
private String miniProgramSubAppid;
/**
* 小程序截图
*/
@SerializedName("mini_program_pics")
private List miniProgramPics;
}
/**
* APP场景
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class AppInfo implements Serializable {
private static final long serialVersionUID = 3959643687528770473L;
/**
* 服务商应用APPID
*/
@SerializedName("app_appid")
private String appAppid;
/**
* 商家应用APPID
*/
@SerializedName("app_sub_appid")
private String appSubAppid;
/**
* APP截图
*/
@SerializedName("app_pics")
private List appPics;
}
/**
* 互联网网站场景
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class WebInfo implements Serializable {
private static final long serialVersionUID = -4183874827185822310L;
/**
* 互联网网站域名
*/
@SerializedName("domain")
private String domain;
/**
* 网站授权函
*/
@SerializedName("web_authorisation")
private String webAuthorisation;
/**
* 互联网网站对应的商家APPID
*/
@SerializedName("web_appid")
private String webAppid;
}
/**
* 企业微信场景
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class WeworkInfo implements Serializable {
private static final long serialVersionUID = 9075531305717309383L;
/**
* 商家企业微信CorpID
*/
@SerializedName("sub_corp_id")
private String subCorpId;
/**
* 企业微信页面截图
*/
@SerializedName("wework_pics")
private List weworkPics;
}
}
}
/**
* 结算规则
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class SettlementInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 入驻结算规则ID
*/
@SerializedName("settlement_id")
private String settlementId;
/**
* 所属行业
*/
@SerializedName("qualification_type")
private String qualificationType;
/**
* 特殊资质图片
*/
@SerializedName("qualifications")
private List qualifications;
/**
* 优惠费率活动ID
*/
@SerializedName("activities_id")
private String activitiesId;
/**
* 优惠费率活动值
*/
@SerializedName("activities_rate")
private String activitiesRate;
/**
* 非信用卡活动费率值
*/
@SerializedName("debit_activities_rate")
private String debitActivitiesRate;
/**
* 信用卡活动费率值
*/
@SerializedName("credit_activities_rate")
private String creditActivitiesRate;
/**
* 优惠费率活动补充材料
*/
@SerializedName("activities_additions")
private List activitiesAdditions;
}
/**
* 结算银行账户
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class BankAccountInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 账户类型
*/
@SerializedName("bank_account_type")
private BankAccountTypeEnum bankAccountType;
/**
* 开户名称
*/
@SerializedName("account_name")
@SpecEncrypt
private String accountName;
/**
* 开户银行
*/
@SerializedName("account_bank")
private String accountBank;
/**
* 开户银行省市编码
*/
@SerializedName("bank_address_code")
private String bankAddressCode;
/**
* 开户银行联行号
*/
@SerializedName("bank_branch_id")
private String bankBranchId;
/**
* 开户银行全称(含支行]
*/
@SerializedName("bank_name")
private String bankName;
/**
* 银行账号
*/
@SerializedName("account_number")
@SpecEncrypt
private String accountNumber;
}
/**
* 补充材料
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class AdditionInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 法人开户承诺函
*/
@SerializedName("legal_person_commitment")
private String legalPersonCommitment;
/**
* 法人开户意愿视频
*/
@SerializedName("legal_person_video")
private String legalPersonVideo;
/**
* 补充材料
*/
@SerializedName("business_addition_pics")
private List businessAdditionPics;
/**
* 补充说明
*/
@SerializedName("business_addition_msg")
private String businessAdditionMsg;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy