微信支付- dto222

This commit is contained in:
gong
2025-12-26 16:23:46 +08:00
parent e179a910ba
commit 0cdad226ea
8 changed files with 677 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
/**
@@ -10,4 +11,127 @@ import lombok.Data;
*/
@Data
public class WechatEntryContactReqDto {
/**
* 必填
* 超级管理员类型
* 主体为“个体工商户/企业/政府机关/事业单位/社会组织”可选择LEGAL经营者/法定代表人SUPER经办人 。(经办人:经商户授权办理微信支付业务的人员)。
* 可选取值
* LEGAL: 经营者/法定代表人
* SUPER: 经办人
*/
@JSONField(name = "contact_type")
private String contactType;
/**
* 必填
* 超级管理员姓名
* 1、长度为2-100个字符
* 2、前后不能有空格、制表符、换行符
* 3、不能仅含数字、特殊字符
* 4、仅能填写数字、英文字母、汉字及特殊字符。
* 该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "contact_name")
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: 台湾居民居住证
*/
@JSONField(name = "contact_id_type")
private String contactIdType;
/**
* 选填
* 超级管理员身份证件号码
* 1、当超级管理员类型是经办人时请上传超级管理员证件号码
* 2、可传身份证、来往内地通行证、来往大陆通行证、护照等证件号码号码规范如下
* 身份证限中国大陆居民17位数字+1位数字|X
* 护照限境外人士4-15位 数字|字母|连字符;
* 中国香港居民--来往内地通行证H/h开头+8或10位数字/字母;
* 中国澳门居民--来往内地通行证M/m开头+8或10位数字/字母;
* 中国台湾居民--来往大陆通行证8位数字或10位数字
* 外国人居留证15位 数字|字母;
* 台湾居民居住证/港澳居民居住证17位数字+1位数字|X
* 3、超级管理员签约时校验微信号绑定的银行卡实名信息是否与该证件号码一致
* 4、该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "contact_id_number")
private String contactIdNumber;
/**
* 选填
* 超级管理员证件正面照片
* 1、当超级管理员类型是经办人时请上传超级管理员证件的正面照片
* 2、若证件类型为身份证请上传人像面照片
* 3、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 4、请上传彩色照片或彩色扫描件或复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 5、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "contact_id_doc_copy")
private String contactIdDocCopy;
/**
* 选填
* 超级管理员证件反面照片
* 1、当超级管理员类型是经办人时请上传超级管理员证件的反面照片
* 2、若证件类型为护照无需上传反面照片
* 3、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 4、请上传彩色照片或彩色扫描件复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 5、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "contact_id_doc_copy_back")
private String contactIdDocCopyBack;
/**
* 选填
* 超级管理员证件有效期开始时间
* 1、当超级管理员类型是经办人时请上传证件有效期开始时间
* 2、请按照示例值填写日期格式应满足合法的YYYY-MM-DD格式
* 3、开始时间不能小于1900-01-01开始时间不能大于等于当前日期。
*/
@JSONField(name = "contact_period_begin")
private String contactPeriodBegin;
/**
* 选填
* 超级管理员证件有效期截止时间
* 1、当超级管理员类型是经办人时请上传证件有效期结束时间
* 2、请按照示例值填写日期格式应满足合法的YYYY-MM-DD格式若证件有效期为长期请填写长期
* 3、结束时间大于开始时间。
*/
@JSONField(name = "contact_period_end")
private String contactPeriodEnd;
/**
* 必填
* 联系手机
* 1、前后不能有空格、制表符、换行符
* 2、需满足以下任一条件
* 11位数字的手机号码
* 5-20位数字、连字符“-”、加号“+”;
* 3、用于接收微信支付的重要管理信息及日常操作验证码
* 4、该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "mobile_phone")
private String mobilePhone;
/**
* 必填
* 联系邮箱
* 1、用于接收微信支付的开户邮件及日常业务通知
* 2、需要带@,遵循邮箱格式校验 该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "contact_email")
private String contactEmail;
}

View File

@@ -1,10 +1,11 @@
package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.business.WechatEntryCertificateReqDto;
import com.czg.wechat.dto.req.entry.business.WechatEntryLicenseReqDto;
import com.czg.wechat.dto.req.entry.business.*;
import lombok.Data;
import java.util.List;
/**
* 进件 主体资料
* @author yjjie
@@ -52,4 +53,49 @@ public class WechatEntrySubjectReqDto {
*/
@JSONField(name = "certificate_info")
private WechatEntryCertificateReqDto certificateInfo;
/**
* 选填
* 单位证明函照片
* 1、主体类型为政府机关、事业单位选传
* 1若上传则审核通过后即可签约无需汇款验证
* 2若未上传则审核通过后需汇款验证。
* 2、主体为个体户、企业、其他组织等不需要上传本字段
* 3、请参照示例图打印单位证明函全部信息需打印不支持手写商户信息并加盖公章 <a href="https://kf.qq.com/faq/200114u2y2yQ200114uEz26z.html">...</a>
* 4、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "certificate_letter_copy")
private String certificateLetterCopy;
/**
* 选填
* 金融机构许可证信息 当主体是金融机构时,必填。
*/
@JSONField(name = "finance_institution_info")
private WechatEntryFinanceInstitutionReqDto financeInstitutionInfo;
/**
* 必填
* 经营者/法定代表人身份证件
* 1、个体户请上传经营者的身份证件
* 2、企业/社会组织:请上传法定代表人的身份证件;
* 3、政府机关/事业单位:请上传法定代表人/经办人的身份证件。
*/
@JSONField(name = "identity_info")
private WechatEntryIdentityReqDto identityInfo;
/**
* 选填
* 最终受益人信息列表(UBO)
* 1、主体类型个体户/社会组织/政府机关/事业单位时,无需填写
* 2、主体类型为企业时按照下述要求填写
* 1若经营者/法定代表人不是最终受益所有人则需提填写受益所有人信息最多上传4个。
* 2若经营者/法定代表人是最终受益所有人之一可在此填写其他受益所有人信息最多上传3个。
* 根据国家相关法律法规,需要提供公司受益所有人信息,受益所有人需符合至少以下条件之一:
* ▪直接或者间接拥有超过25%公司股权或者表决权的自然人。
* ▪️通过人事、财务等其他方式对公司进行控制的自然人。
* ▪️公司的高级管理人员,包括公司的经理、副经理、财务负责人、上市公司董事会秘书和公司章程规定的其他人员。
*/
@JSONField(name = "ubo_info_list")
private List<WechatEntryUboInfoReqDto> uboInfoList;
}

View File

@@ -1,5 +1,6 @@
package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
/**
@@ -13,5 +14,96 @@ public class WechatEntryCertificateReqDto {
/**
* 必填
* 登记证书照片
* 1、照片应正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 2、上传彩色照片、彩色扫描件复印件需加盖公章鲜章
* 3、水印仅限于微信支付业务相关
* 4、指引与示例可参考【指引文档】
* 5、请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "cert_copy")
private String certCopy;
/**
* 必填
* 登记证书类型
* 1、主体为“政府机关/事业单位/社会组织”时,请上传登记证书类型;
* 2、主体为“个体工商户/企业”时,不填;
* 当主体为事业单位时,选择此枚举值:
* CERTIFICATE_TYPE_2388事业单位法人证书
* 当主体为政府机关,选择此枚举值:
* CERTIFICATE_TYPE_2389统一社会信用代码证书
* 当主体为社会组织,选择以下枚举值之一:
* CERTIFICATE_TYPE_2389统一社会信用代码证书
* CERTIFICATE_TYPE_2394社会团体法人登记证书
* CERTIFICATE_TYPE_2395民办非企业单位登记证书
* CERTIFICATE_TYPE_2396基金会法人登记证书
* CERTIFICATE_TYPE_2520执业许可证/执业证
* CERTIFICATE_TYPE_2521基层群众性自治组织特别法人统一社会信用代码证
* CERTIFICATE_TYPE_2522农村集体经济组织登记证
* CERTIFICATE_TYPE_2399宗教活动场所登记证
* CERTIFICATE_TYPE_2400政府部门下发的其他有效证明文件
*/
@JSONField(name = "cert_type")
private String certType;
/**
* 必填
* 证书号 请输入与所选证书类型相匹配且符合国家标准规范的证书号其中除政府证明文件外需满足18位阿拉伯数字或大写英文字母不得包含英文字母I/O/Z/S/V
*/
@JSONField(name = "cert_number")
private String certNumber;
/**
* 必填
* 商户名称 请填写登记证书上的商户名称
* 1、长度为2-128个字符
* 2、前后不能有空格、制表符、换行符
* 3、不能仅含数字、特殊字符
* 4、仅能填写数字、英文字母、汉字及特殊字符
* 5、仅支持utf-8格式。
*/
@JSONField(name = "merchant_name")
private String merchantName;
/**
* 必填
* 注册地址 请填写登记证书的注册地址
* 1、长度为4-128个字符
* 2、前后不能有空格、制表符、换行符
* 3、不能仅含数字、特殊字符
* 4、仅能填写数字、英文字母、汉字及特殊字符
* 5、仅支持utf-8格式。
*/
@JSONField(name = "company_address")
private String companyAddress;
/**
* 必填
* 法定代表人 请填写登记证书上的法定代表人姓名
* 1、长度为2-100个字符
* 2、前后不能有空格、制表符、换行符
* 3、不能仅含特殊字符
* 4、仅能填写数字、英文字母、汉字及特殊字符。
*/
@JSONField(name = "legal_person")
private String legalPerson;
/**
* 选填
* 有效期限开始日期 建议填写营业执照的有效期限开始时间,若该字段未填写,系统将会查询国家工商信息填入。需注意若工商信息查询不到,则会被审核驳回。
* 1、日期格式应满足合法的YYYY-MM-DD格式
* 2、开始时间不能小于1900-01-01
* 3、开始时间不能大于等于当前日期。
*/
@JSONField(name = "period_begin")
private String periodBegin;
/**
* 选填
* 营业期限结束日期 建议填写营业执照的有效期限结束时间,若该字段未填写,系统将会查询国家工商信息填入。需注意若工商信息查询不到,则会被审核驳回。
* 1、日期格式应满足合法的YYYY-MM-DD格式或长期
* 2、结束时间需大于开始时间。
*/
@JSONField(name = "period_end")
private String periodEnd;
}

View File

@@ -0,0 +1,40 @@
package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import java.util.List;
/**
* 金融机构许可证信息
* @author yjjie
* @date 2025/12/26 15:21
*/
@Data
public class WechatEntryFinanceInstitutionReqDto {
/**
* 必填
* 金融机构类型 金融机构类型需与营业执照/登记证书上一致,可参考选择金融机构指引。
* BANK_AGENT银行业, 适用于商业银行、政策性银行、农村合作银行、村镇银行、开发性金融机构等
* PAYMENT_AGENT支付机构, 适用于非银行类支付机构
* INSURANCE保险业, 适用于保险、保险中介、保险代理、保险经纪等保险类业务
* TRADE_AND_SETTLE交易及结算类金融机构, 适用于交易所、登记结算类机构、银行卡清算机构、资金清算中心等
* OTHER其他金融机构, 适用于财务公司、信托公司、金融资产管理公司、金融租赁公司、汽车金融公司、贷款公司、货币经纪公司、消费金融公司、证券业、金融控股公司、股票、期货、货币兑换、小额贷款公司、金融资产管理、担保公司、商业保理公司、典当行、融资租赁公司、财经咨询等其他金融业务
*/
@JSONField(name = "finance_type")
private String financeType;
/**
* 必填
* 金融机构许可证图片
* 1、照片应正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 2、上传彩色照片、彩色扫描件复印件需加盖公章鲜章
* 3、水印仅限于微信支付业务相关
* 4、根据所属金融机构类型的许可证要求提供详情查看金融机构指引 <a href="https://kf.qq.com/faq/220215IrMRZ3220215n6buiU.html">...</a>
* 5、请提供为“申请商家主体”所属的许可证可授权使用总公司/分公司的特殊资质;
* 6、最多可上传5张照片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "finance_license_pics")
private List<String> financeLicensePics;
}

View File

@@ -0,0 +1,70 @@
package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.id.WechatEntryIdCardReqDto;
import com.czg.wechat.dto.req.entry.id.WechatEntryIdDocInfoReqDto;
import lombok.Data;
/**
* 经营者/法定代表人身份证件
* @author yjjie
* @date 2025/12/26 15:24
*/
@Data
public class WechatEntryIdentityReqDto {
/**
* 选填
* 证件持有人类型
* 1、主体类型为政府机关/事业单位时选传:
* 1若上传的是法定代表人证件则不需要上传该字段。
* 2若因政策保密等原因无法提供法定代表人证件时可上传经办人。 (经办人:经商户授权办理微信支付业务的人员,授权范围包括但不限于签约,入驻过程需完成账户验证)。
* 2、主体类型为小微/个人卖家/企业/个体户/社会组织时,默认为经营者/法定代表人,不需要上传该字段。
* LEGAL: 经营者/法定代表人
* SUPER: 经办人
*/
@JSONField(name = "id_holder_type")
private String idHolderType;
/**
* 选填
* 证件类型
* 1、当证件持有人类型为法定代表人时填写。其他情况无需上传
* 2、个体户/企业/事业单位/社会组织:可选择任一证件类型,政府机关仅支持中国大陆居民-身份证类型。
* 可选取值
* 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: 台湾居民居住证
*/
@JSONField(name = "id_doc_type")
private String idDocType;
/**
* 选填
* 法定代表人说明函
* 1、当证件持有人类型为经办人时必须上传。其他情况无需上传
* 2、若因特殊情况无法提供法定代表人证件时请参照示例图打印法定代表人说明函全部信息需打印不支持手写商户信息并加盖公章 <a href="https://kf.qq.com/faq/220127aUzAju220127UfiuQr.html">...</a>
* 3、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "authorize_letter_copy")
private String authorizeLetterCopy;
/**
* 选填
* 身份证信息 当证件持有人类型为经营者/法定代表人且证件类型为“身份证”时填写。
*/
@JSONField(name = "id_card_info")
private WechatEntryIdCardReqDto idCardInfo;
/**
* 选填
* 其他类型证件信息 当证件持有人类型为经营者/法定代表人且证件类型不为“身份证”时填写。
*/
@JSONField(name = "id_doc_info")
private WechatEntryIdDocInfoReqDto idDocInfo;
}

View File

@@ -0,0 +1,111 @@
package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
/**
* 最终受益人信息
* @author yjjie
* @date 2025/12/26 15:50
*/
@Data
public class WechatEntryUboInfoReqDto {
/**
* 必填
* 证件类型 请填写受益人的证件类型。枚举值:
* 可选取值
* 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: 台湾居民居住证
*/
@JSONField(name = "ubo_id_doc_type")
private String uboIdDocType;
/**
* 必填
* 证件正面照片
* 1、请上传受益人证件的正面照片
* 2、若证件类型为身份证请上传人像面照片
* 3、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 4、请上传彩色照片or彩色扫描件复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 5、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "ubo_id_doc_copy")
private String uboIdDocCopy;
/**
* 选填
* 证件反面照片
* 1、请上传受益人证件的反面照片
* 2、若证件类型为身份证请上传国徽面照片
* 3、若证件类型为护照无需上传反面照片
* 4、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 5、请上传彩色照片or彩色扫描件复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 6、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "ubo_id_doc_copy_back")
private String uboIdDocCopyBack;
/**
* 必填
* 证件姓名
* 1、长度为2-100个字符
* 2、前后不能有空格、制表符、换行符
* 3、不能仅含数字、特殊字符
* 4、仅能填写数字、英文字母、汉字及特殊字符
* 5、该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "ubo_id_doc_name")
private String uboIdDocName;
/**
* 必填
* 证件号码
* 1、证件号码为证件正反面中一致的号码
* 2、证件号码为18位或15位或港澳居民来往内地通行证为9位
* 3、证件号码为英文字母X或x或港澳居民来往内地通行证为英文字母X或x
* 4、证件号码为英文字母x或X或港澳居民来往内地通行证为英文字母x或X
* 5、该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥
*/
@JSONField(name = "ubo_id_doc_number")
private String uboIdDocNumber;
/**
* 必填
* 证件居住地址
* 1、请按照身份证住址填写如广东省深圳市南山区xx路xx号xx室
* 2、长度为4-128个字符
* 3、前后不能有空格、制表符、换行符
* 4、不能仅含数字、特殊字符
* 5、仅能填写数字、英文字母、汉字及特殊字符
* 6、仅支持utf-8格式
* 7、 该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "ubo_id_doc_address")
private String uboIdDocAddress;
/**
* 必填
* 证件有效期开始时间
* 1、日期格式应满足合法的YYYY-MM-DD格式
* 2、开始时间不能小于1900-01-01
* 3、开始时间不能大于等于当前日期。
*/
@JSONField(name = "ubo_period_begin")
private String uboPeriodBegin;
/**
* 必填
* 证件有效期结束时间
* 1、日期格式应满足合法的YYYY-MM-DD格式或长期
* 2、结束时间需大于开始时间。
*/
@JSONField(name = "ubo_period_end")
private String uboPeriodEnd;
}

View File

@@ -0,0 +1,94 @@
package com.czg.wechat.dto.req.entry.id;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
/**
* 身份证信息
* @author yjjie
* @date 2025/12/26 15:29
*/
@Data
public class WechatEntryIdCardReqDto {
/**
* 必填
* 身份证人像面照片
* 1、请上传个体户经营者/法定代表人的身份证人像面照片;
* 2、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 3、请上传彩色照片or彩色扫描件复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 4、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "id_card_copy")
private String idCardCopy;
/**
* 必填
* 身份证国徽面照片
* 、请上传个体户经营者/法定代表人的身份证国徽面照片;
* 2、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 3、请上传彩色照片or彩色扫描件复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 4、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "id_card_national")
private String idCardNational;
/**
* 必填
* 身份证姓名
* 1、请填写个体户经营者/法定代表人对应身份证的姓名;
* 2、长度为2-100个字符
* 3、前后不能有空格、制表符、换行符
* 4、不能仅含数字、特殊字符
* 5、仅能填写数字、英文字母、汉字及特殊字符
* 6、该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
* <a href="https://pay.weixin.qq.com/doc/v3/partner/4013059044">加密</a>
*/
@JSONField(name = "id_card_name")
private String idCardName;
/**
* 必填
* 身份证号码
* 1、请填写个体户经营者/法定代表人对应身份证的号码;
* 2、17位数字+1位数字|X 该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
* <a href="https://pay.weixin.qq.com/doc/v3/partner/4013059044">加密</a>
*/
@JSONField(name = "id_card_number")
private String idCardNumber;
/**
* 选填
* 身份证居住地址
* 1、主体类型为企业时需要填写。其他主体类型无需上传
* 2、请按照身份证住址填写如广东省深圳市南山区xx路xx号xx室
* 3、长度为4-128个字符
* 4、前后不能有空格、制表符、换行符
* 5、不能仅含数字、特殊字符
* 6、仅能填写数字、英文字母、汉字及特殊字符
* 7、仅支持utf-8格式
* 8、 该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
* <a href="https://pay.weixin.qq.com/doc/v3/partner/4013059044">加密</a>
*/
@JSONField(name = "id_card_address")
private String idCardAddress;
/**
* 必填
* 身份证有效期开始时间
* 1、请填写身份证有效期开始时间格式为yyyy-MM-dd
* 2、开始时间不能小于1900-01-01
* 3、开始时间不能大于等于当前日期。
*/
@JSONField(name = "card_period_begin")
private String cardPeriodBegin;
/**
* 必填
* 身份证有效期截止时间
* 1、日期格式应满足合法的YYYY-MM-DD格式或长期
* 2、结束时间需大于开始时间。
*/
@JSONField(name = "card_period_end")
private String cardPeriodEnd;
}

View File

@@ -0,0 +1,98 @@
package com.czg.wechat.dto.req.entry.id;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
/**
* 其他类型证件信息
* @author yjjie
* @date 2025/12/26 15:42
*/
@Data
public class WechatEntryIdDocInfoReqDto {
/**
* 必填
* 证件正面照片
* 1、证件类型不为“身份证”时上传证件正面照片
* 2、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 3、请上传彩色照片or彩色扫描件复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 4、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "id_doc_copy")
private String idDocCopy;
/**
* 选填
* 证件反面照片
* 1、若证件类型为往来通行证、外国人居留证、港澳居民居住证、台湾居民居住证时上传证件反面照片
* 2、若证件类型为护照无需上传反面照片
* 3、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 4、请上传彩色照片or彩色扫描件复印件需加盖公章鲜章可添加“微信支付”相关水印如微信支付认证见【指引文档】
* 5、可上传1张图片请填写通过图片上传API预先上传图片生成好的MediaID。
*/
@JSONField(name = "id_doc_copy_back")
private String idDocCopyBack;
/**
* 必填
* 证件姓名
* 1、请填写经营者/法定代表人的证件姓名;
* 2、长度为2-100个字符
* 3、前后不能有空格、制表符、换行符
* 4、不能仅含数字、特殊字符
* 5、仅能填写数字、英文字母、汉字及特殊字符
* 6、该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "id_doc_name")
private String idDocName;
/**
* 必填
* 证件号码
* 1、请填写经营者/法定代表人的证件号码:
* 护照限境外人士4-15位 数字|字母|连字符;
* 中国香港居民--来往内地通行证H/h开头+8或10位数字/字母;
* 中国澳门居民--来往内地通行证M/m开头+8或10位数字/字母;
* 中国台湾居民--来往大陆通行证8位数字或10位数字
* 外国人居留证15位 数字|字母;
* 台湾居民居住证/港澳居民居住证17位数字+1位数字|X
* 2、该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "id_doc_number")
private String idDocNumber;
/**
* 选填
* 证件居住地址
* 1、主体类型为企业时需要填写。其他主体类型无需上传
* 2、请按照身份证住址填写如广东省深圳市南山区xx路xx号xx室
* 3、长度为4-128个字符
* 4、前后不能有空格、制表符、换行符
* 5、不能仅含数字、特殊字符
* 6、仅能填写数字、英文字母、汉字及特殊字符
* 7、仅支持utf-8格式
* 8、 该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。
*/
@JSONField(name = "id_doc_address")
private String idDocAddress;
/**
* 必填
* 证件有效期开始时间
* 1、日期格式应满足合法的YYYY-MM-DD格式
* 2、开始时间不能小于1900-01-01
* 3、开始时间不能大于等于当前日期。
*/
@JSONField(name = "doc_period_begin")
private String docPeriodBegin;
/**
* 必填
* 证件有效期结束时间
* 1、日期格式应满足合法的YYYY-MM-DD格式或长期
* 2、结束时间需大于开始时间。
*/
@JSONField(name = "doc_period_end")
private String docPeriodEnd;
}