diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPartnerSpecialMchApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPartnerSpecialMchApi.java index 28a6ca2..01957b2 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPartnerSpecialMchApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPartnerSpecialMchApi.java @@ -19,11 +19,7 @@ package cn.felord.payment.wechat.v3; import cn.felord.payment.wechat.enumeration.WeChatServer; import cn.felord.payment.wechat.enumeration.WechatPayV3Type; -import cn.felord.payment.wechat.v3.model.specmch.ApplymentParams; -import cn.felord.payment.wechat.v3.model.specmch.BankAccountInfo; -import cn.felord.payment.wechat.v3.model.specmch.ContactInfo; -import cn.felord.payment.wechat.v3.model.specmch.SubMchModifyParams; -import cn.felord.payment.wechat.v3.model.specmch.UboInfoListItem; +import cn.felord.payment.wechat.v3.model.specmch.*; import com.fasterxml.jackson.databind.node.ObjectNode; import org.springframework.http.HttpHeaders; import org.springframework.util.CollectionUtils; @@ -193,7 +189,22 @@ public class WechatPartnerSpecialMchApi extends AbstractApi { contactInfo.setMobilePhone(signatureProvider.encryptRequestMessage(contactInfo.getMobilePhone(), x509Certificate)); contactInfo.setContactEmail(signatureProvider.encryptRequestMessage(contactInfo.getContactEmail(), x509Certificate)); - List uboInfoList = applymentParams.getSubjectInfo().getUboInfoList(); + SubjectInfo subjectInfo = applymentParams.getSubjectInfo(); + IdentityInfo identityInfo = subjectInfo.getIdentityInfo(); + + IdCardInfo idCardInfo = identityInfo.getIdCardInfo(); + if (idCardInfo != null) { + idCardInfo.setIdCardName(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardName(), x509Certificate)); + idCardInfo.setIdCardNumber(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardNumber(), x509Certificate)); + idCardInfo.setIdCardAddress(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardAddress(), x509Certificate)); + } + IdDocInfo idDocInfo = identityInfo.getIdDocInfo(); + if (idDocInfo != null) { + idDocInfo.setIdDocName(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocName(), x509Certificate)); + idDocInfo.setIdDocNumber(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocNumber(), x509Certificate)); + idDocInfo.setIdDocAddress(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocAddress(), x509Certificate)); + } + List uboInfoList = subjectInfo.getUboInfoList(); if (!CollectionUtils.isEmpty(uboInfoList)) { uboInfoList.forEach(uboInfoListItem -> { uboInfoListItem.setUboIdDocName(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocName(), x509Certificate)); diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceIdDocInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceIdDocInfo.java index fbcb9b4..d7315f7 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceIdDocInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceIdDocInfo.java @@ -30,5 +30,5 @@ public class EcommerceIdDocInfo { private String idDocName; private String idDocNumber; private String idDocCopy; - private LocalDate docPeriodEnd; + private String docPeriodEnd; } diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfo.java index 1edbcc9..004dea4 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfo.java @@ -43,7 +43,7 @@ public class UboInfo { private String idCardName; private String idCardNumber; private LocalDate idCardPeriodBegin; - private LocalDate idCardPeriodEnd; + private String idCardPeriodEnd; } /** @@ -55,6 +55,6 @@ public class UboInfo { private String idDocName; private String idDocNumber; private LocalDate idDocPeriodBegin; - private LocalDate idDocPeriodEnd; + private String idDocPeriodEnd; } } \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessLicenseInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessLicenseInfo.java index ee671de..410d32a 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessLicenseInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessLicenseInfo.java @@ -12,5 +12,5 @@ public class BusinessLicenseInfo{ private String legalPerson; private String licenseAddress; private LocalDate periodBegin; - private LocalDate periodEnd; + private String periodEnd; } \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ContactInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ContactInfo.java index a816cd6..9051a38 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ContactInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ContactInfo.java @@ -15,7 +15,7 @@ public class ContactInfo{ private String contactIdDocCopy; private String contactIdDocCopyBack; private LocalDate contactPeriodBegin; - private LocalDate contactPeriodEnd; + private String contactPeriodEnd; private String businessAuthorizationLetter; private String openid; private String mobilePhone; diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdCardInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdCardInfo.java index 3d34dbf..fce77aa 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdCardInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdCardInfo.java @@ -12,5 +12,5 @@ public class IdCardInfo{ private String idCardNumber; private String idCardAddress; private LocalDate cardPeriodBegin; - private LocalDate cardPeriodEnd; + private String cardPeriodEnd; } \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdDocInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdDocInfo.java index 7b9d6f7..331ca09 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdDocInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdDocInfo.java @@ -33,5 +33,5 @@ public class IdDocInfo { private String idDocNumber; private String idDocAddress; private LocalDate docPeriodBegin; - private LocalDate docPeriodEnd; + private String docPeriodEnd; } diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/UboInfoListItem.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/UboInfoListItem.java index 40e6649..8f7d03f 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/UboInfoListItem.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/UboInfoListItem.java @@ -14,5 +14,5 @@ public class UboInfoListItem{ private String uboIdDocNumber; private String uboIdDocAddress; private LocalDate uboPeriodBegin; - private LocalDate uboPeriodEnd; + private String uboPeriodEnd; } \ No newline at end of file