微信支付- dto 注释

This commit is contained in:
gong
2025-12-26 16:53:57 +08:00
parent 0cdad226ea
commit 2046ad2486
22 changed files with 167 additions and 117 deletions

View File

@@ -1,7 +1,9 @@
package com.czg.wechat;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONWriter;
import com.czg.wechat.dto.config.WechatPayConfigDto;
import com.czg.wechat.dto.req.entry.WechatEntryReqDto;
import com.wechat.pay.java.service.file.FileUploadService;
import com.wechat.pay.java.service.file.model.FileUploadResponse;
import lombok.extern.slf4j.Slf4j;
@@ -151,7 +153,10 @@ public class WechatEntryManager {
.setPublicKeyId("PUB_KEY_ID_0116437794082025111000382377001000")
.setDomain("https://api.mch.weixin.qq.com");
String string = uploadImage(dto, "https://czg-qr-order.oss-cn-beijing.aliyuncs.com/indexs/shuangbackground.png");
log.info("图片上传成功:{}", string);
// String string = uploadImage(dto, "https://czg-qr-order.oss-cn-beijing.aliyuncs.com/indexs/shuangbackground.png");
// log.info("图片上传成功:{}", string);
WechatEntryReqDto reqDto = new WechatEntryReqDto();
System.out.println(JSONObject.toJSONString(reqDto, JSONWriter.Feature.IgnoreEmpty));
}
}

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -12,10 +13,11 @@ import java.util.List;
* @date 2025/12/26 13:43
*/
@Data
@Accessors(chain = true)
public class WechatEntryAdditionReqDto {
/**
* 选填
* 选填
* 法定代表人开户承诺函
* 模板下载地址 <a href="https://kf.qq.com/faq/191018yUFjEj191018Vfmaei.html">...</a>
* 通过图片上传完成后 MediaID
@@ -24,7 +26,7 @@ public class WechatEntryAdditionReqDto {
private String legalPersonCommitment;
/**
* 选填
* 选填
* 法定代表人开户意愿视频
* 通过视频上传完成后 MediaID
*/
@@ -32,7 +34,7 @@ public class WechatEntryAdditionReqDto {
private String legalPersonVideo;
/**
* 选填
* 选填
* 补充材料
* 最多可上传5张照片
* 通过图片上传完成后 MediaID
@@ -41,7 +43,7 @@ public class WechatEntryAdditionReqDto {
private List<String> businessAdditionPics;
/**
* 选填
* 选填
* 补充说明 512字以内
*/
@JSONField(name = "business_addition_msg")

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 微信进件-银行账号
@@ -10,10 +11,11 @@ import lombok.Data;
* @date 2025/12/26 13:42
*/
@Data
@Accessors(chain = true)
public class WechatEntryBankAccountReqDto {
/**
* 必填
* 必填
* 账户类型
* 1、若主体为企业/政府机关/事业单位/社会组织,可填写:对公银行账户;
* 2、若主体为个体户可选择填写对公银行账户或经营者个人银行卡
@@ -23,7 +25,7 @@ public class WechatEntryBankAccountReqDto {
private String bankAccountType;
/**
* 必填
* 必填
* 开户名称
* 1、选择“经营者个人银行卡”时开户名称必须与“经营者证件姓名”一致
* 2、选择“对公银行账户”时开户名称必须与营业执照上的“商户名称”一致
@@ -34,7 +36,7 @@ public class WechatEntryBankAccountReqDto {
private String accountName;
/**
* 必填
* 必填
* 开户银行
* 对私银行调用查询支持个人业务的银行列表API
* 对公银行调用查询支持对公业务的银行列表API
@@ -43,7 +45,7 @@ public class WechatEntryBankAccountReqDto {
private String accountBank;
/**
* 选填
* 选填
* 开户银行银行号
* 1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行开户银行全称含支行和开户银行联行号二选一
* 2、详细需调用查询支行列表API查看查询结果。 <a href="https://pay.weixin.qq.com/doc/v3/partner/4012697673">...</a>
@@ -52,7 +54,7 @@ public class WechatEntryBankAccountReqDto {
private String bankBranchId;
/**
* 选填
* 选填
* 开户银行全称(含支行)
* 1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行开户银行全称含支行和开户银行联行号二选一
* 2、详细需调用查询支行列表API查看查询结果。 <a href="https://pay.weixin.qq.com/doc/v3/partner/4012697673">...</a>
@@ -61,7 +63,7 @@ public class WechatEntryBankAccountReqDto {
private String bankName;
/**
* 必填
* 必填
* 开户银行账号
* 1、选择“经营者个人银行卡”时开户账号为经营者个人银行卡号
* 2、选择“对公银行账户”时开户账号为对公银行账号

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 进件 联系人信息
@@ -10,10 +11,11 @@ import lombok.Data;
* @date 2025/12/26 13:38
*/
@Data
@Accessors(chain = true)
public class WechatEntryContactReqDto {
/**
* 必填
* 必填
* 超级管理员类型
* 主体为“个体工商户/企业/政府机关/事业单位/社会组织”可选择LEGAL经营者/法定代表人SUPER经办人 。(经办人:经商户授权办理微信支付业务的人员)。
* 可选取值
@@ -24,7 +26,7 @@ public class WechatEntryContactReqDto {
private String contactType;
/**
* 必填
* 必填
* 超级管理员姓名
* 1、长度为2-100个字符
* 2、前后不能有空格、制表符、换行符
@@ -36,7 +38,7 @@ public class WechatEntryContactReqDto {
private String contactName;
/**
* 选填
* 选填
* 超级管理员证件类型 当超级管理员类型是经办人时,请上传超级管理员证件类型。
* 可选取值
* IDENTIFICATION_TYPE_IDCARD: 中国大陆居民-身份证
@@ -52,7 +54,7 @@ public class WechatEntryContactReqDto {
private String contactIdType;
/**
* 选填
* 选填
* 超级管理员身份证件号码
* 1、当超级管理员类型是经办人时请上传超级管理员证件号码
* 2、可传身份证、来往内地通行证、来往大陆通行证、护照等证件号码号码规范如下
@@ -70,7 +72,7 @@ public class WechatEntryContactReqDto {
private String contactIdNumber;
/**
* 选填
* 选填
* 超级管理员证件正面照片
* 1、当超级管理员类型是经办人时请上传超级管理员证件的正面照片
* 2、若证件类型为身份证请上传人像面照片
@@ -82,7 +84,7 @@ public class WechatEntryContactReqDto {
private String contactIdDocCopy;
/**
* 选填
* 选填
* 超级管理员证件反面照片
* 1、当超级管理员类型是经办人时请上传超级管理员证件的反面照片
* 2、若证件类型为护照无需上传反面照片
@@ -94,7 +96,7 @@ public class WechatEntryContactReqDto {
private String contactIdDocCopyBack;
/**
* 选填
* 选填
* 超级管理员证件有效期开始时间
* 1、当超级管理员类型是经办人时请上传证件有效期开始时间
* 2、请按照示例值填写日期格式应满足合法的YYYY-MM-DD格式
@@ -104,7 +106,7 @@ public class WechatEntryContactReqDto {
private String contactPeriodBegin;
/**
* 选填
* 选填
* 超级管理员证件有效期截止时间
* 1、当超级管理员类型是经办人时请上传证件有效期结束时间
* 2、请按照示例值填写日期格式应满足合法的YYYY-MM-DD格式若证件有效期为长期请填写长期
@@ -114,7 +116,7 @@ public class WechatEntryContactReqDto {
private String contactPeriodEnd;
/**
* 必填
* 必填
* 联系手机
* 1、前后不能有空格、制表符、换行符
* 2、需满足以下任一条件
@@ -127,7 +129,7 @@ public class WechatEntryContactReqDto {
private String mobilePhone;
/**
* 必填
* 必填
* 联系邮箱
* 1、用于接收微信支付的开户邮件及日常业务通知
* 2、需要带@,遵循邮箱格式校验 该字段需要使用微信支付公钥加密推荐请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引也可以使用微信支付平台证书公钥加密参考获取平台证书序列号、平台证书加密敏感信息指引。

View File

@@ -3,6 +3,7 @@ package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.business.WechatEntryBusinessReqDto;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 微信进件请求参数
@@ -11,28 +12,32 @@ import lombok.Data;
* @date 2025/12/26 13:36
*/
@Data
@Accessors(chain = true)
public class WechatEntryReqDto {
/**
* 【必填】
* 业务申请编号
*/
@JSONField(name = "business_code")
private String businessCode;
/**
* 【必填】
* 超级管理员信息
*/
@JSONField(name = "contact_info")
private WechatEntryContactReqDto contactInfo;
/**
* 【必填】
* 主体资料
*/
@JSONField(name = "subject_info")
private WechatEntrySubjectReqDto subjectInfo;
/**
* 必填
* 必填
* 经营资料
* 商家的经营业务信息、售卖商品/提供服务场景信息
*/
@@ -40,7 +45,7 @@ public class WechatEntryReqDto {
private WechatEntryBusinessReqDto businessInfo;
/**
* 必填
* 必填
* 结算规则
* 请填写商家的结算费率规则、特殊资质等信息
*/
@@ -48,14 +53,14 @@ public class WechatEntryReqDto {
private WechatEntrySettleReqDto settlementInfo;
/**
* 必填
* 必填
* 结算银行账户
*/
@JSONField(name = "bank_account_info")
private WechatEntryBankAccountReqDto bankAccountInfo;
/**
* 选填
* 选填
* 补充材料
* 根据实际审核情况,会额外要求商家提供指定的补充资料
*/

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -11,10 +12,11 @@ import java.util.List;
* @date 2025/12/26 13:38
*/
@Data
@Accessors(chain = true)
public class WechatEntrySettleReqDto {
/**
* 必填
* 必填
* 入驻结算规则ID
* 请选择结算规则ID详细参见费率结算规则对照表
* <a href="https://kf.qq.com/faq/220228IJb2UV220228uEjU3Q.html">...</a>
@@ -23,7 +25,7 @@ public class WechatEntrySettleReqDto {
private String settlementId;
/**
* 必填
* 必填
* 所属行业
* <a href="https://kf.qq.com/faq/220228IJb2UV220228uEjU3Q.html">...</a>
*/
@@ -31,7 +33,7 @@ public class WechatEntrySettleReqDto {
private String qualificationType;
/**
* 选填
* 选填
* 特殊资质图片
* 1、仅当商户选择了必需提交特殊资质的行业时需要提供该项资料若商户选择了无需特殊资质的行业或未选择行业时无需提交该项资料详情查看《费率结算规则对照表》
* 2、最多可上传5张照片请填写通过图片上传API预先上传图片生成好的MediaID。
@@ -40,16 +42,16 @@ public class WechatEntrySettleReqDto {
private List<String> qualifications;
/**
* 选填
* 选填
* 优惠费率活动ID
* 如果商户有意向报名优惠费率活动,该字段必填。详细参见《优惠费率活动对照表》
* 如果商户有意向报名优惠费率活动,该字段必填。详细参见《优惠费率活动对照表》
* <a href="https://pay.weixin.qq.com/doc/v3/partner/4012082816">...</a>
*/
@JSONField(name = "activities_id")
private String activitiesId;
/**
* 选填
* 选填
* 优惠费率活动值
* 根据优惠费率活动规则由合作伙伴自定义填写支持两个小数点需在优惠费率活动ID指定费率范围内
* 12023年7月17日-9月17日各合作伙伴平台可选择只传入“活动费率值”或分别传入“信用卡优惠活动费率值” 与 “非信用卡优惠活动费率值”,只传入“活动费率值”的情况下,平台将协助将申请单中的 “优惠活动费率值” 回填入新增的 “信用卡优惠活动费率值” 与 “非信用卡优惠活动费率值”中
@@ -59,7 +61,7 @@ public class WechatEntrySettleReqDto {
private String activitiesRate;
/**
* 选填
* 选填
* 优惠费率活动补充材料
* 1、根据所选优惠费率活动提供相关材料详细参见《优惠费率活动对照表》<a href="https://pay.weixin.qq.com/doc/v3/partner/4012082816">...</a>
* 2、最多可上传5张照片请填写通过图片上传API预先上传图片生成好的MediaID。
@@ -68,20 +70,20 @@ public class WechatEntrySettleReqDto {
private List<String> activitiesAdditions;
/**
* 选填
* 选填
* 非信用卡活动费率值
* 用户支付方式为借记卡时收取的手续费费率:
* 1、若填写了优惠费率活动ID则该字段必填
* 1、若填写了优惠费率活动ID则该字段必填
* 2、仅能填入2位以内小数且在优惠费率活动ID指定费率范围内。
*/
@JSONField(name = "debit_activities_rate")
private String debitActivitiesRate;
/**
* 选填
* 选填
* 信用卡活动费率值
* 用户支付方式为信用卡时收取的手续费费率:
* 1、若填写了优惠费率活动ID则该字段必填
* 1、若填写了优惠费率活动ID则该字段必填
* 2、仅能填入2位以内小数且在优惠费率活动ID指定费率范围内。
*/
@JSONField(name = "credit_activities_rate")

View File

@@ -3,6 +3,7 @@ package com.czg.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.business.*;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -12,10 +13,11 @@ import java.util.List;
* @date 2025/12/26 13:40
*/
@Data
@Accessors(chain = true)
public class WechatEntrySubjectReqDto {
/**
* 必填
* 必填
* 主体类型 主体类型需与营业执照/登记证书上一致,可参考选择主体指引。<a href="https://kf.qq.com/faq/180910IBZVnQ180910naQ77b.html">...</a>
* 可选取值
* SUBJECT_TYPE_INDIVIDUAL: (个体户)营业执照上的主体类型一般为个体户、个体工商户、个体经营
@@ -28,9 +30,9 @@ public class WechatEntrySubjectReqDto {
private String subjectType;
/**
* 选填
* 选填
* 是否是金融机构
* 【是否是金融机构】 选填,请根据申请主体的实际情况填写,可参考选择金融机构指引:
* 【是否是金融机构】 选填,请根据申请主体的实际情况填写,可参考选择金融机构指引:
* 1、若商户主体是金融机构则填写true
* 2、若商户主体不是金融机构则填写false。
* 若未传入将默认填写false。
@@ -39,23 +41,23 @@ public class WechatEntrySubjectReqDto {
private Boolean financeInstitution;
/**
* 必填
* 营业执照 当前不允许小微注册,所以必填
* 1、主体为个体户/企业,必填;
* 必填
* 营业执照 当前不允许小微注册,所以必填
* 1、主体为个体户/企业,必填
* 2、请上传“营业执照”需年检章齐全当年注册除外
*/
@JSONField(name = "business_license_info")
private WechatEntryLicenseReqDto businessLicenseInfo;
/**
* 选填
* 登记证书 主体为政府机关/事业单位/其他组织时,必填。
* 选填
* 登记证书 主体为政府机关/事业单位/其他组织时,必填
*/
@JSONField(name = "certificate_info")
private WechatEntryCertificateReqDto certificateInfo;
/**
* 选填
* 选填
* 单位证明函照片
* 1、主体类型为政府机关、事业单位选传
* 1若上传则审核通过后即可签约无需汇款验证
@@ -68,14 +70,14 @@ public class WechatEntrySubjectReqDto {
private String certificateLetterCopy;
/**
* 选填
* 金融机构许可证信息 当主体是金融机构时,必填。
* 选填
* 金融机构许可证信息 当主体是金融机构时,必填
*/
@JSONField(name = "finance_institution_info")
private WechatEntryFinanceInstitutionReqDto financeInstitutionInfo;
/**
* 必填
* 必填
* 经营者/法定代表人身份证件
* 1、个体户请上传经营者的身份证件
* 2、企业/社会组织:请上传法定代表人的身份证件;
@@ -85,7 +87,7 @@ public class WechatEntrySubjectReqDto {
private WechatEntryIdentityReqDto identityInfo;
/**
* 选填
* 选填
* 最终受益人信息列表(UBO)
* 1、主体类型个体户/社会组织/政府机关/事业单位时,无需填写
* 2、主体类型为企业时按照下述要求填写

View File

@@ -3,6 +3,7 @@ package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.business.sales.WechatEntrySalesInfoReqDto;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 微信进件 商户信息 经营资料
@@ -11,10 +12,11 @@ import lombok.Data;
* @date 2025/12/26 13:41
*/
@Data
@Accessors(chain = true)
public class WechatEntryBusinessReqDto {
/**
* 必填
* 必填
* 商户简称 在支付完成页向买家展示,需与微信经营类目相关
* 1、请输入1-64个字符
* 2、前后不能有空格、制表符、换行符
@@ -29,7 +31,7 @@ public class WechatEntryBusinessReqDto {
private String merchantShortname;
/**
* 必填
* 必填
* 客服电话 将在交易记录中向买家展示,请确保电话畅通以便平台回拨确认
* 1、前后不能有空格、制表符、换行符
* 2、需满足以下任一条件
@@ -40,7 +42,7 @@ public class WechatEntryBusinessReqDto {
private String servicePhone;
/**
* 必填
* 必填
* 经营场景
*/
@JSONField(name = "sales_info")

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 登记证书
@@ -9,10 +10,11 @@ import lombok.Data;
* @date 2025/12/26 15:07
*/
@Data
@Accessors(chain = true)
public class WechatEntryCertificateReqDto {
/**
* 必填
* 必填
* 登记证书照片
* 1、照片应正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 2、上传彩色照片、彩色扫描件复印件需加盖公章鲜章
@@ -24,7 +26,7 @@ public class WechatEntryCertificateReqDto {
private String certCopy;
/**
* 必填
* 必填
* 登记证书类型
* 1、主体为“政府机关/事业单位/社会组织”时,请上传登记证书类型;
* 2、主体为“个体工商户/企业”时,不填;
@@ -47,14 +49,14 @@ public class WechatEntryCertificateReqDto {
private String certType;
/**
* 必填
* 必填
* 证书号 请输入与所选证书类型相匹配且符合国家标准规范的证书号其中除政府证明文件外需满足18位阿拉伯数字或大写英文字母不得包含英文字母I/O/Z/S/V
*/
@JSONField(name = "cert_number")
private String certNumber;
/**
* 必填
* 必填
* 商户名称 请填写登记证书上的商户名称
* 1、长度为2-128个字符
* 2、前后不能有空格、制表符、换行符
@@ -66,7 +68,7 @@ public class WechatEntryCertificateReqDto {
private String merchantName;
/**
* 必填
* 必填
* 注册地址 请填写登记证书的注册地址
* 1、长度为4-128个字符
* 2、前后不能有空格、制表符、换行符
@@ -78,7 +80,7 @@ public class WechatEntryCertificateReqDto {
private String companyAddress;
/**
* 必填
* 必填
* 法定代表人 请填写登记证书上的法定代表人姓名
* 1、长度为2-100个字符
* 2、前后不能有空格、制表符、换行符
@@ -89,7 +91,7 @@ public class WechatEntryCertificateReqDto {
private String legalPerson;
/**
* 选填
* 选填
* 有效期限开始日期 建议填写营业执照的有效期限开始时间,若该字段未填写,系统将会查询国家工商信息填入。需注意若工商信息查询不到,则会被审核驳回。
* 1、日期格式应满足合法的YYYY-MM-DD格式
* 2、开始时间不能小于1900-01-01
@@ -99,7 +101,7 @@ public class WechatEntryCertificateReqDto {
private String periodBegin;
/**
* 选填
* 选填
* 营业期限结束日期 建议填写营业执照的有效期限结束时间,若该字段未填写,系统将会查询国家工商信息填入。需注意若工商信息查询不到,则会被审核驳回。
* 1、日期格式应满足合法的YYYY-MM-DD格式或长期
* 2、结束时间需大于开始时间。

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -11,10 +12,11 @@ import java.util.List;
* @date 2025/12/26 15:21
*/
@Data
@Accessors(chain = true)
public class WechatEntryFinanceInstitutionReqDto {
/**
* 必填
* 必填
* 金融机构类型 金融机构类型需与营业执照/登记证书上一致,可参考选择金融机构指引。
* BANK_AGENT银行业, 适用于商业银行、政策性银行、农村合作银行、村镇银行、开发性金融机构等
* PAYMENT_AGENT支付机构, 适用于非银行类支付机构

View File

@@ -4,6 +4,7 @@ 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;
import lombok.experimental.Accessors;
/**
* 经营者/法定代表人身份证件
@@ -11,10 +12,11 @@ import lombok.Data;
* @date 2025/12/26 15:24
*/
@Data
@Accessors(chain = true)
public class WechatEntryIdentityReqDto {
/**
* 选填
* 选填
* 证件持有人类型
* 1、主体类型为政府机关/事业单位时选传:
* 1若上传的是法定代表人证件则不需要上传该字段。
@@ -27,7 +29,7 @@ public class WechatEntryIdentityReqDto {
private String idHolderType;
/**
* 选填
* 选填
* 证件类型
* 1、当证件持有人类型为法定代表人时填写。其他情况无需上传
* 2、个体户/企业/事业单位/社会组织:可选择任一证件类型,政府机关仅支持中国大陆居民-身份证类型。
@@ -45,7 +47,7 @@ public class WechatEntryIdentityReqDto {
private String idDocType;
/**
* 选填
* 选填
* 法定代表人说明函
* 1、当证件持有人类型为经办人时必须上传。其他情况无需上传
* 2、若因特殊情况无法提供法定代表人证件时请参照示例图打印法定代表人说明函全部信息需打印不支持手写商户信息并加盖公章 <a href="https://kf.qq.com/faq/220127aUzAju220127UfiuQr.html">...</a>
@@ -55,14 +57,14 @@ public class WechatEntryIdentityReqDto {
private String authorizeLetterCopy;
/**
* 选填
* 选填
* 身份证信息 当证件持有人类型为经营者/法定代表人且证件类型为“身份证”时填写。
*/
@JSONField(name = "id_card_info")
private WechatEntryIdCardReqDto idCardInfo;
/**
* 选填
* 选填
* 其他类型证件信息 当证件持有人类型为经营者/法定代表人且证件类型不为“身份证”时填写。
*/
@JSONField(name = "id_doc_info")

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 营业执照信息
@@ -9,10 +10,11 @@ import lombok.Data;
* @date 2025/12/26 14:59
*/
@Data
@Accessors(chain = true)
public class WechatEntryLicenseReqDto {
/**
* 必填
* 必填
* 营业执照照片
* 1、照片应正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
* 2、上传彩色照片、彩色扫描件复印件需加盖公章鲜章
@@ -24,14 +26,14 @@ public class WechatEntryLicenseReqDto {
private String licenseCopy;
/**
* 必填
* 必填
* 注册号/统一社会信用代码
*/
@JSONField(name = "license_number")
private String licenseNumber;
/**
* 必填
* 必填
* 商户名称
* 1、长度为2-128个字符
* 2、前后不能有空格、制表符、换行符
@@ -45,7 +47,7 @@ public class WechatEntryLicenseReqDto {
private String merchantName;
/**
* 必填
* 必填
* 个体户经营者/法定代表人姓名 请填写营业执照的经营者/法定代表人姓名
* 1、长度为2-100个字符
* 2、前后不能有空格、制表符、换行符
@@ -56,7 +58,7 @@ public class WechatEntryLicenseReqDto {
private String legalPerson;
/**
* 选填
* 选填
* 注册地址 建议填写营业执照的注册地址,若该字段未填写,系统将会查询国家工商信息填入。需注意若工商信息查询不到,则会被审核驳回。
* 1、长度为4-128个字符
* 2、前后不能有空格、制表符、换行符
@@ -68,7 +70,7 @@ public class WechatEntryLicenseReqDto {
private String licenseAddress;
/**
* 选填
* 选填
* 有效期限开始日期 建议填写营业执照的有效期限开始时间,若该字段未填写,系统将会查询国家工商信息填入。需注意若工商信息查询不到,则会被审核驳回。
* 1、日期格式应满足合法的YYYY-MM-DD格式
* 2、开始时间不能小于1900-01-01
@@ -78,7 +80,7 @@ public class WechatEntryLicenseReqDto {
private String periodBegin;
/**
* 选填
* 选填
* 营业期限结束日期 建议填写营业执照的有效期限结束时间,若该字段未填写,系统将会查询国家工商信息填入。需注意若工商信息查询不到,则会被审核驳回。
* 1、日期格式应满足合法的YYYY-MM-DD格式或长期
* 2、结束时间需大于开始时间。

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 最终受益人信息
@@ -9,10 +10,11 @@ import lombok.Data;
* @date 2025/12/26 15:50
*/
@Data
@Accessors(chain = true)
public class WechatEntryUboInfoReqDto {
/**
* 必填
* 必填
* 证件类型 请填写受益人的证件类型。枚举值:
* 可选取值
* IDENTIFICATION_TYPE_IDCARD: 中国大陆居民-身份证
@@ -40,7 +42,7 @@ public class WechatEntryUboInfoReqDto {
private String uboIdDocCopy;
/**
* 选填
* 选填
* 证件反面照片
* 1、请上传受益人证件的反面照片
* 2、若证件类型为身份证请上传国徽面照片

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -11,10 +12,11 @@ import java.util.List;
* @date 2025/12/26 14:26
*/
@Data
@Accessors(chain = true)
public class WechatEntryAppInfoReqDto {
/**
* 必填
* 必填
* App截图
* 1、请提供APP首页截图、尾页截图、应用内截图、支付页截图各1张
* 2、请填写通过图片上传API预先上传图片生成好的MediaID。
@@ -23,9 +25,9 @@ public class WechatEntryAppInfoReqDto {
private List<String> appPics;
/**
* 选填
* 选填
* 商家应用AppID
* 1、服务商应用AppID与商家应用AppID二选一必填
* 1、服务商应用AppID与商家应用AppID二选一必填
* 2、可填写与商家主体一致且已认证的应用AppID需是已认证的App
* 3、审核通过后系统将发起特约商家商户号与该AppID的绑定即配置为sub_appid服务商随后可在发起支付时选择传入该AppID以完成支付并获取sub_openid用于数据统计营销等业务场景。
*/
@@ -33,9 +35,9 @@ public class WechatEntryAppInfoReqDto {
private String appSubAppid;
/**
* 选填
* 选填
* 服务商应用AppID
* 1、服务商应用AppID与商家应用AppID二选一必填
* 1、服务商应用AppID与商家应用AppID二选一必填
* 2、可填写当前服务商商户号已绑定的应用AppID。
*/
@JSONField(name = "app_appid")

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -11,10 +12,11 @@ import java.util.List;
* @date 2025/12/26 14:23
*/
@Data
@Accessors(chain = true)
public class WechatEntryMiniProgramReqDto {
/**
* 选填
* 选填
* 服务商小程序AppID
* 1、服务商小程序AppID与商家小程序AppID二选一必填
* 2、可填写当前服务商商户号已绑定的小程序AppID。
@@ -23,7 +25,7 @@ public class WechatEntryMiniProgramReqDto {
private String miniProgramAppid;
/**
* 选填
* 选填
* 商家小程序AppID
* 1、服务商小程序AppID与商家小程序AppID二选一必填
* 2、请填写已认证的小程序AppID
@@ -35,7 +37,7 @@ public class WechatEntryMiniProgramReqDto {
private String miniProgramSubAppid;
/**
* 选填
* 选填
* 小程序截图
* 1、请提供展示商品/服务的页面截图/设计稿最多5张若小程序未建设完善或未上线 请务必提供;
* 2、请填写通过图片上传API预先上传图片生成好的MediaID。

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -11,10 +12,11 @@ import java.util.List;
* @date 2025/12/26 14:20
*/
@Data
@Accessors(chain = true)
public class WechatEntryMpInfoReqDto {
/**
* 必填
* 必填
* 服务号或公众号页面截图
* 1、请提供展示商品/服务的页面截图/设计稿最多5张若服务号或公众号未建设完善或未上线请务必提供
* 2、请填写通过图片上传API预先上传图片生成好的MediaID。
@@ -23,9 +25,9 @@ public class WechatEntryMpInfoReqDto {
private List<String> mpPics;
/**
* 选填
* 选填
* 商家服务号或公众号AppID
* 1、服务商服务号或公众号AppID、商家服务号或公众号AppID二选一必填
* 1、服务商服务号或公众号AppID、商家服务号或公众号AppID二选一必填
* 2、可填写与商家主体一致且已认证的服务号或公众号AppID需是已认证的服务号、政府或媒体类型的公众号
* 3、审核通过后系统将发起特约商家商户号与该AppID的绑定即配置为sub_appid服务商随后可在发起支付时选择传入该appid以完成支付并获取sub_openid用于数据统计营销等业务场景。
*/
@@ -33,9 +35,9 @@ public class WechatEntryMpInfoReqDto {
private String mpSubAppid;
/**
* 选填
* 选填
* 服务商服务号或公众号AppID
* 1、服务商服务号或公众号AppID、商家服务号或公众号AppID二选一必填
* 1、服务商服务号或公众号AppID、商家服务号或公众号AppID二选一必填
* 2、可填写当前服务商商户号已绑定的服务号或公众号AppID。
*/
@JSONField(name = "mp_appid")

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -11,10 +12,11 @@ import java.util.List;
* @date 2025/12/26 14:07
*/
@Data
@Accessors(chain = true)
public class WechatEntrySalesInfoReqDto {
/**
* 必填
* 必填
* 经营场景类型
* 1、请勾选实际售卖商品/提供服务场景(至少一项),以便为你开通需要的支付权限;
* 2、建议只勾选目前必须的场景以便尽快通过入驻审核其他支付权限可在入驻后再根据实际需要发起申请
@@ -30,25 +32,25 @@ public class WechatEntrySalesInfoReqDto {
private List<String> salesScenesType;
/**
* 选填
* 选填
* 线下场所场景
* 1、审核通过后服务商可帮商户发起付款码支付、JSAPI支付
* 2、当"经营场景类型"选择"SALES_SCENES_STORE",该场景资料必填。
* 2、当"经营场景类型"选择"SALES_SCENES_STORE",该场景资料必填
*/
@JSONField(name = "biz_store_info")
private WechatEntryStoreInfoReqDto bizStoreInfo;
/**
* 选填
* 选填
* 服务号或公众号场景
* 1、审核通过后服务商可帮商家发起JSAPI支付
* 2、当"经营场景类型"选择"SALES_SCENES_MP",该场景资料必填。
* 2、当"经营场景类型"选择"SALES_SCENES_MP",该场景资料必填
*/
@JSONField(name = "mp_info")
private WechatEntryMpInfoReqDto mpInfo;
/**
* 选填
* 选填
* 小程序场景
* 1、审核通过后服务商可帮商家发起JSAPI支付
* 2、当"经营场景类型"选择"SALES_SCENES_MINI_PROGRAM",该场景资料必填。
@@ -57,7 +59,7 @@ public class WechatEntrySalesInfoReqDto {
private WechatEntryMiniProgramReqDto miniProgramInfo;
/**
* 选填
* 选填
* App场景
* 1、审核通过后服务商可帮商家发起App支付
* 2、当"经营场景类型"选择"SALES_SCENES_APP",该场景资料必填。
@@ -66,7 +68,7 @@ public class WechatEntrySalesInfoReqDto {
private WechatEntryAppInfoReqDto appInfo;
/**
* 选填
* 选填
* 互联网网站场景
* 1、审核通过后服务商可帮商家发起JSAPI支付
* 2、当"经营场景类型"选择"SALES_SCENES_WEB",该场景资料必填。
@@ -75,7 +77,7 @@ public class WechatEntrySalesInfoReqDto {
private WechatEntryWebInfoReqDto webInfo;
/**
* 选填
* 选填
* 企业微信场景
* 1、审核通过后服务商可帮商家发起JSAPI支付
* 2、当"经营场景类型"选择"SALES_SCENES_WEWORK",该场景资料必填。

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@@ -11,10 +12,11 @@ import java.util.List;
* @date 2025/12/26 14:10
*/
@Data
@Accessors(chain = true)
public class WechatEntryStoreInfoReqDto {
/**
* 必填
* 必填
* 线下场所名称 请填写门店名称
* 1、长度为1-50个字符
* 2、前后不能有空格、制表符、换行符
@@ -26,7 +28,7 @@ public class WechatEntryStoreInfoReqDto {
private String bizStoreName;
/**
* 必填
* 必填
* 线下场所省市编码
* 1、只能由数字组成
* 2、详细参见微信支付提供的省市对照表。 <a href="https://pay.weixin.qq.com/doc/v3/partner/4012082815">...</a>
@@ -35,7 +37,7 @@ public class WechatEntryStoreInfoReqDto {
private String bizAddressCode;
/**
* 必填
* 必填
* 线下场所地址 请填写详细的经营场所信息,如有多个场所,选择一个主要场所填写即可。
* 1、长度为4-512个字符
* 2、前后不能有空格、制表符、换行符
@@ -47,7 +49,7 @@ public class WechatEntryStoreInfoReqDto {
private String bizStoreAddress;
/**
* 必填
* 必填
* 线下场所门头照片
* 1、请上传门头正面照片要求门店招牌、门框完整、清晰、可辨识若为停车场等无固定门头照片的经营场所可上传岗亭/出入闸口。具体参考【指引文档】;
* 2、请填写通过图片上传API预先上传图片生成好的MediaID。
@@ -56,7 +58,7 @@ public class WechatEntryStoreInfoReqDto {
private List<String> storeEntrancePic;
/**
* 必填
* 必填
* 线下场所内部照片
* 1、请上传门店内部环境照片可辨识经营内容。若为停车场等无固定门头的经营场所可上传停车场内部照片。具体参考【指引文档】
* 2、请填写通过图片上传API预先上传图片生成好的MediaID。
@@ -65,7 +67,7 @@ public class WechatEntryStoreInfoReqDto {
private List<String> indoorPic;
/**
* 选填
* 选填
* 线下场所对应的商家AppID
* 1、可填写与商家主体一致且已认证的服务号或公众号、小程序、APP的AppID其中服务号或公众号AppID需是已认证的服务号、政府或媒体类型的公众号
* 2、审核通过后系统将额外为商家开通付款码支付、JSAPI支付的自有交易权限并完成商家商户号与该AppID的绑定。

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 进件-经营资料-经营场景-互联网网站场景
@@ -9,10 +10,11 @@ import lombok.Data;
* @date 2025/12/26 14:29
*/
@Data
@Accessors(chain = true)
public class WechatEntryWebInfoReqDto {
/**
* 必填
* 必填
* 互联网网站域名
* 1、如为PC端商城、智能终端等场景可上传官网链接
* 2、网站域名需ICP备案若备案主体与申请主体不同请上传加盖公章的网站授权函。
@@ -21,7 +23,7 @@ public class WechatEntryWebInfoReqDto {
private String domain;
/**
* 必填
* 必填
* 网站授权函
* 1、若备案主体与申请主体不同请务必上传加盖公章的网站授权函.doc <a href="https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/attachment/bb55b16e3825a5952a531d55fba0f382/%E7%BD%91%E7%AB%99%E6%8E%88%E6%9D%83%E5%87%BD.doc">...</a>
* 2、请填写通过图片上传API预先上传图片生成好的MediaID。
@@ -30,7 +32,7 @@ public class WechatEntryWebInfoReqDto {
private String webAuthorisation;
/**
* 选填
* 选填
* 互联网网站对应的商家AppID
* 1、可填写已认证的服务号或公众号、小程序、APP的AppID其中服务号或公众号AppID需是已认证的服务号、政府或媒体类型的公众号
* 2、完成进件后系统发起特约商户号与该AppID的绑定即配置为sub_appid可在发起支付时传入

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 进件-经营资料-经营场景-企业微信场景
@@ -9,10 +10,11 @@ import lombok.Data;
* @date 2025/12/26 14:32
*/
@Data
@Accessors(chain = true)
public class WechatEntryWeworkInfoReqDto {
/**
* 必填
* 必填
* 商家企业微信CorpID
* 1、可填写与商家主体一致且已认证的企业微信CorpID
* 2、审核通过后系统将为商家开通企业微信专区的自有交易权限并完成商家商户号与该AppID的绑定商家可自行发起交易。

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.id;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 身份证信息
@@ -9,10 +10,11 @@ import lombok.Data;
* @date 2025/12/26 15:29
*/
@Data
@Accessors(chain = true)
public class WechatEntryIdCardReqDto {
/**
* 必填
* 必填
* 身份证人像面照片
* 1、请上传个体户经营者/法定代表人的身份证人像面照片;
* 2、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
@@ -23,7 +25,7 @@ public class WechatEntryIdCardReqDto {
private String idCardCopy;
/**
* 必填
* 必填
* 身份证国徽面照片
* 、请上传个体户经营者/法定代表人的身份证国徽面照片;
* 2、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
@@ -34,7 +36,7 @@ public class WechatEntryIdCardReqDto {
private String idCardNational;
/**
* 必填
* 必填
* 身份证姓名
* 1、请填写个体户经营者/法定代表人对应身份证的姓名;
* 2、长度为2-100个字符
@@ -58,7 +60,7 @@ public class WechatEntryIdCardReqDto {
private String idCardNumber;
/**
* 选填
* 选填
* 身份证居住地址
* 1、主体类型为企业时需要填写。其他主体类型无需上传
* 2、请按照身份证住址填写如广东省深圳市南山区xx路xx号xx室

View File

@@ -2,6 +2,7 @@ package com.czg.wechat.dto.req.entry.id;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 其他类型证件信息
@@ -9,10 +10,11 @@ import lombok.Data;
* @date 2025/12/26 15:42
*/
@Data
@Accessors(chain = true)
public class WechatEntryIdDocInfoReqDto {
/**
* 必填
* 必填
* 证件正面照片
* 1、证件类型不为“身份证”时上传证件正面照片
* 2、正面拍摄、清晰、四角完整、无反光或遮挡不得翻拍、截图、镜像、PS
@@ -23,7 +25,7 @@ public class WechatEntryIdDocInfoReqDto {
private String idDocCopy;
/**
* 选填
* 选填
* 证件反面照片
* 1、若证件类型为往来通行证、外国人居留证、港澳居民居住证、台湾居民居住证时上传证件反面照片
* 2、若证件类型为护照无需上传反面照片
@@ -35,7 +37,7 @@ public class WechatEntryIdDocInfoReqDto {
private String idDocCopyBack;
/**
* 必填
* 必填
* 证件姓名
* 1、请填写经营者/法定代表人的证件姓名;
* 2、长度为2-100个字符
@@ -48,7 +50,7 @@ public class WechatEntryIdDocInfoReqDto {
private String idDocName;
/**
* 必填
* 必填
* 证件号码
* 1、请填写经营者/法定代表人的证件号码:
* 护照限境外人士4-15位 数字|字母|连字符;
@@ -63,7 +65,7 @@ public class WechatEntryIdDocInfoReqDto {
private String idDocNumber;
/**
* 选填
* 选填
* 证件居住地址
* 1、主体类型为企业时需要填写。其他主体类型无需上传
* 2、请按照身份证住址填写如广东省深圳市南山区xx路xx号xx室