From c42f6d9d5ea23574e96c743e6cbe6fe7eda3f350 Mon Sep 17 00:00:00 2001 From: xiafang Date: Tue, 27 Jun 2023 14:00:52 +0800 Subject: [PATCH 01/11] =?UTF-8?q?-=20=E7=94=B5=E5=95=86=E4=BA=8C=E7=BA=A7?= =?UTF-8?q?=E5=95=86=E6=88=B7=E8=BF=9B=E4=BB=B6=E8=A1=A5=E5=85=85=E6=9C=80?= =?UTF-8?q?=E7=BB=88=E5=8F=97=E7=9B=8A=E4=BA=BA=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecommerce/EcommerceApplymentParams.java | 4 +++ .../v3/model/ecommerce/UboInfoListItem.java | 35 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java index 8edad97..a9d085f 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java @@ -20,6 +20,9 @@ import cn.felord.payment.wechat.enumeration.ContactType; import cn.felord.payment.wechat.enumeration.IdDocType; import cn.felord.payment.wechat.v3.model.specmch.FinanceInstitutionInfo; import lombok.Data; + +import java.util.List; + /** * 二级商户进件申请API请求参数 * @@ -41,6 +44,7 @@ public class EcommerceApplymentParams{ private Boolean owner; private UboInfo uboInfo; private Boolean needAccountInfo; + private List uboInfoList; private EcommerceAccountInfo accountInfo; private EcommerceContactInfo contactInfo; private SalesSceneInfo salesSceneInfo; diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java new file mode 100644 index 0000000..07fd099 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java @@ -0,0 +1,35 @@ +/* + * Copyright 2019-2022 felord.cn + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * Website: + * https://felord.cn + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package cn.felord.payment.wechat.v3.model.ecommerce; + +import cn.felord.payment.wechat.enumeration.IdDocType; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class UboInfoListItem { + private IdDocType uboIdDocType; + private String uboIdDocCopy; + private String uboIdDocCopyBack; + private String uboIdDocName; + private String uboIdDocNumber; + private String uboIdDocAddress; + private LocalDate uboIdDocPeriodBegin; + private LocalDate uboIdDocPeriodEnd; +} \ No newline at end of file From 9645d20b33091e5c9958c2663720af0002878e4e Mon Sep 17 00:00:00 2001 From: xiafang Date: Sat, 1 Jul 2023 09:25:12 +0800 Subject: [PATCH 02/11] =?UTF-8?q?enhance:=20=E7=94=B5=E5=95=86=E6=94=B6?= =?UTF-8?q?=E4=BB=98=E9=80=9A=E4=BA=8C=E7=BA=A7=E5=95=86=E6=88=B7=E8=BF=9B?= =?UTF-8?q?=E4=BB=B6=E7=94=B3=E8=AF=B7=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wechat/enumeration/BusinessCertType.java | 71 +++++++++++++++++++ .../wechat/v3/ecommerce/ApplymentApi.java | 36 ++++------ .../ecommerce/EcommerceApplymentParams.java | 2 - .../EcommerceBusinessLicenseInfo.java | 2 + .../model/ecommerce/EcommerceContactInfo.java | 7 ++ .../v3/model/ecommerce/UboInfoListItem.java | 2 +- 6 files changed, 93 insertions(+), 27 deletions(-) create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java new file mode 100644 index 0000000..ff4e0c1 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java @@ -0,0 +1,71 @@ +/* + * Copyright 2019-2022 felord.cn + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * Website: + * https://felord.cn + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package cn.felord.payment.wechat.enumeration; + +/** + * The enum Business cert type. + * + * @author dax + * @since 2023 /7/1 8:34 + */ +public enum BusinessCertType { + /** + * 事业单位法人证书 + */ + CERTIFICATE_TYPE_2388, + + /** + * 统一社会信用代码证书 + */ + CERTIFICATE_TYPE_2389, + + /** + * 社会团体法人登记证书 + */ + CERTIFICATE_TYPE_2394, + /** + * 民办非企业单位登记证书 + */ + CERTIFICATE_TYPE_2395, + + /** + * 基金会法人登记证书 + */ + CERTIFICATE_TYPE_2396, + /** + * 宗教活动场所登记证 + */ + CERTIFICATE_TYPE_2399, + + /** + * 政府部门下发的其他有效证明文件 + */ + CERTIFICATE_TYPE_2400, + /** + * 执业许可证/执业证 + */ + CERTIFICATE_TYPE_2520, + /** + * 基层群众性自治组织特别法人统一社会信用代码证 + */ + CERTIFICATE_TYPE_2521, + /** + * 农村集体经济组织登记证 + */ + CERTIFICATE_TYPE_2522 +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java index 2b46e31..f37ba92 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java @@ -19,26 +19,18 @@ package cn.felord.payment.wechat.v3.ecommerce; import cn.felord.payment.wechat.enumeration.WeChatServer; import cn.felord.payment.wechat.enumeration.WechatPayV3Type; -import cn.felord.payment.wechat.v3.AbstractApi; -import cn.felord.payment.wechat.v3.SignatureProvider; -import cn.felord.payment.wechat.v3.WechatPartnerSpecialMchApi; -import cn.felord.payment.wechat.v3.WechatPayClient; -import cn.felord.payment.wechat.v3.WechatResponseEntity; -import cn.felord.payment.wechat.v3.X509WechatCertificateInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceAccountInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceApplymentParams; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceContactInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceIdCardInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceIdDocInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.UboInfo; +import cn.felord.payment.wechat.v3.*; +import cn.felord.payment.wechat.v3.model.ecommerce.*; import cn.felord.payment.wechat.v3.model.specmch.SubMchModifyParams; import com.fasterxml.jackson.databind.node.ObjectNode; import org.springframework.http.HttpHeaders; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.util.UriComponentsBuilder; import java.net.URI; import java.security.cert.X509Certificate; +import java.util.List; /** * 电商收付通-商户进件 @@ -157,18 +149,13 @@ public class ApplymentApi extends AbstractApi { idDocInfo.setIdDocAddress(signatureProvider.encryptRequestMessage(idDocAddress, x509Certificate)); } } - UboInfo uboInfo = applymentParams.getUboInfo(); - if (uboInfo != null) { - UboInfo.IdCardInfo cardInfo = uboInfo.getIdCardInfo(); - if (cardInfo != null) { - cardInfo.setIdCardName(signatureProvider.encryptRequestMessage(cardInfo.getIdCardName(), x509Certificate)); - cardInfo.setIdCardNumber(signatureProvider.encryptRequestMessage(cardInfo.getIdCardNumber(), x509Certificate)); - } - UboInfo.IdDocInfo docInfo = uboInfo.getIdDocInfo(); - if (docInfo != null) { - docInfo.setIdDocName(signatureProvider.encryptRequestMessage(docInfo.getIdDocName(), x509Certificate)); - docInfo.setIdDocNumber(signatureProvider.encryptRequestMessage(docInfo.getIdDocNumber(), x509Certificate)); - } + List uboInfoList = applymentParams.getUboInfoList(); + if (!CollectionUtils.isEmpty(uboInfoList)) { + uboInfoList.forEach(uboInfoListItem -> { + uboInfoListItem.setUboIdDocName(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocName(), x509Certificate)); + uboInfoListItem.setUboIdDocNumber(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocNumber(), x509Certificate)); + uboInfoListItem.setUboIdDocAddress(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocAddress(), x509Certificate)); + }); } EcommerceAccountInfo accountInfo = applymentParams.getAccountInfo(); if (accountInfo != null) { @@ -178,6 +165,7 @@ public class ApplymentApi extends AbstractApi { EcommerceContactInfo contactInfo = applymentParams.getContactInfo(); contactInfo.setContactName(signatureProvider.encryptRequestMessage(contactInfo.getContactName(), x509Certificate)); contactInfo.setContactIdCardNumber(signatureProvider.encryptRequestMessage(contactInfo.getContactIdCardNumber(), x509Certificate)); + contactInfo.setMobilePhone(signatureProvider.encryptRequestMessage(contactInfo.getMobilePhone(), x509Certificate)); String contactEmail = contactInfo.getContactEmail(); if (contactEmail != null) { contactInfo.setContactEmail(signatureProvider.encryptRequestMessage(contactEmail, x509Certificate)); diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java index a9d085f..023467a 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java @@ -42,8 +42,6 @@ public class EcommerceApplymentParams{ private EcommerceIdCardInfo idCardInfo; private EcommerceIdDocInfo idDocInfo; private Boolean owner; - private UboInfo uboInfo; - private Boolean needAccountInfo; private List uboInfoList; private EcommerceAccountInfo accountInfo; private EcommerceContactInfo contactInfo; diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java index acf0b99..081292b 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java @@ -17,6 +17,7 @@ package cn.felord.payment.wechat.v3.model.ecommerce; +import cn.felord.payment.wechat.enumeration.BusinessCertType; import lombok.Data; /** @@ -25,6 +26,7 @@ import lombok.Data; */ @Data public class EcommerceBusinessLicenseInfo { + private BusinessCertType certType; private String businessLicenseCopy; private String businessLicenseNumber; private String merchantName; diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java index 8457f99..53fd232 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java @@ -19,11 +19,18 @@ package cn.felord.payment.wechat.v3.model.ecommerce; import lombok.Data; +import java.time.LocalDate; + @Data public class EcommerceContactInfo { private String contactType; private String contactName; private String contactIdCardNumber; + private String contactIdDocCopy; + private String contactIdDocCopyBack; + private LocalDate contactIdDocPeriodBegin; + private String contactIdDocPeriodEnd; + private String businessAuthorizationLetter; private String mobilePhone; private String contactEmail; } \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java index 07fd099..04fe0b2 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java @@ -31,5 +31,5 @@ public class UboInfoListItem { private String uboIdDocNumber; private String uboIdDocAddress; private LocalDate uboIdDocPeriodBegin; - private LocalDate uboIdDocPeriodEnd; + private String uboIdDocPeriodEnd; } \ No newline at end of file From 8168097427623054d9518dd3c6b2260b69823adf Mon Sep 17 00:00:00 2001 From: xiafang Date: Sat, 1 Jul 2023 09:25:12 +0800 Subject: [PATCH 03/11] =?UTF-8?q?enhance:=20=E7=94=B5=E5=95=86=E6=94=B6?= =?UTF-8?q?=E4=BB=98=E9=80=9A=E4=BA=8C=E7=BA=A7=E5=95=86=E6=88=B7=E8=BF=9B?= =?UTF-8?q?=E4=BB=B6=E7=94=B3=E8=AF=B7=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #108 --- .../wechat/enumeration/BusinessCertType.java | 71 +++++++++++++++++++ .../wechat/v3/ecommerce/ApplymentApi.java | 36 ++++------ .../ecommerce/EcommerceApplymentParams.java | 2 - .../EcommerceBusinessLicenseInfo.java | 2 + .../model/ecommerce/EcommerceContactInfo.java | 7 ++ .../v3/model/ecommerce/UboInfoListItem.java | 2 +- 6 files changed, 93 insertions(+), 27 deletions(-) create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java new file mode 100644 index 0000000..ff4e0c1 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/BusinessCertType.java @@ -0,0 +1,71 @@ +/* + * Copyright 2019-2022 felord.cn + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * Website: + * https://felord.cn + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package cn.felord.payment.wechat.enumeration; + +/** + * The enum Business cert type. + * + * @author dax + * @since 2023 /7/1 8:34 + */ +public enum BusinessCertType { + /** + * 事业单位法人证书 + */ + CERTIFICATE_TYPE_2388, + + /** + * 统一社会信用代码证书 + */ + CERTIFICATE_TYPE_2389, + + /** + * 社会团体法人登记证书 + */ + CERTIFICATE_TYPE_2394, + /** + * 民办非企业单位登记证书 + */ + CERTIFICATE_TYPE_2395, + + /** + * 基金会法人登记证书 + */ + CERTIFICATE_TYPE_2396, + /** + * 宗教活动场所登记证 + */ + CERTIFICATE_TYPE_2399, + + /** + * 政府部门下发的其他有效证明文件 + */ + CERTIFICATE_TYPE_2400, + /** + * 执业许可证/执业证 + */ + CERTIFICATE_TYPE_2520, + /** + * 基层群众性自治组织特别法人统一社会信用代码证 + */ + CERTIFICATE_TYPE_2521, + /** + * 农村集体经济组织登记证 + */ + CERTIFICATE_TYPE_2522 +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java index 2b46e31..f37ba92 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java @@ -19,26 +19,18 @@ package cn.felord.payment.wechat.v3.ecommerce; import cn.felord.payment.wechat.enumeration.WeChatServer; import cn.felord.payment.wechat.enumeration.WechatPayV3Type; -import cn.felord.payment.wechat.v3.AbstractApi; -import cn.felord.payment.wechat.v3.SignatureProvider; -import cn.felord.payment.wechat.v3.WechatPartnerSpecialMchApi; -import cn.felord.payment.wechat.v3.WechatPayClient; -import cn.felord.payment.wechat.v3.WechatResponseEntity; -import cn.felord.payment.wechat.v3.X509WechatCertificateInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceAccountInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceApplymentParams; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceContactInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceIdCardInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceIdDocInfo; -import cn.felord.payment.wechat.v3.model.ecommerce.UboInfo; +import cn.felord.payment.wechat.v3.*; +import cn.felord.payment.wechat.v3.model.ecommerce.*; import cn.felord.payment.wechat.v3.model.specmch.SubMchModifyParams; import com.fasterxml.jackson.databind.node.ObjectNode; import org.springframework.http.HttpHeaders; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.util.UriComponentsBuilder; import java.net.URI; import java.security.cert.X509Certificate; +import java.util.List; /** * 电商收付通-商户进件 @@ -157,18 +149,13 @@ public class ApplymentApi extends AbstractApi { idDocInfo.setIdDocAddress(signatureProvider.encryptRequestMessage(idDocAddress, x509Certificate)); } } - UboInfo uboInfo = applymentParams.getUboInfo(); - if (uboInfo != null) { - UboInfo.IdCardInfo cardInfo = uboInfo.getIdCardInfo(); - if (cardInfo != null) { - cardInfo.setIdCardName(signatureProvider.encryptRequestMessage(cardInfo.getIdCardName(), x509Certificate)); - cardInfo.setIdCardNumber(signatureProvider.encryptRequestMessage(cardInfo.getIdCardNumber(), x509Certificate)); - } - UboInfo.IdDocInfo docInfo = uboInfo.getIdDocInfo(); - if (docInfo != null) { - docInfo.setIdDocName(signatureProvider.encryptRequestMessage(docInfo.getIdDocName(), x509Certificate)); - docInfo.setIdDocNumber(signatureProvider.encryptRequestMessage(docInfo.getIdDocNumber(), x509Certificate)); - } + List uboInfoList = applymentParams.getUboInfoList(); + if (!CollectionUtils.isEmpty(uboInfoList)) { + uboInfoList.forEach(uboInfoListItem -> { + uboInfoListItem.setUboIdDocName(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocName(), x509Certificate)); + uboInfoListItem.setUboIdDocNumber(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocNumber(), x509Certificate)); + uboInfoListItem.setUboIdDocAddress(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocAddress(), x509Certificate)); + }); } EcommerceAccountInfo accountInfo = applymentParams.getAccountInfo(); if (accountInfo != null) { @@ -178,6 +165,7 @@ public class ApplymentApi extends AbstractApi { EcommerceContactInfo contactInfo = applymentParams.getContactInfo(); contactInfo.setContactName(signatureProvider.encryptRequestMessage(contactInfo.getContactName(), x509Certificate)); contactInfo.setContactIdCardNumber(signatureProvider.encryptRequestMessage(contactInfo.getContactIdCardNumber(), x509Certificate)); + contactInfo.setMobilePhone(signatureProvider.encryptRequestMessage(contactInfo.getMobilePhone(), x509Certificate)); String contactEmail = contactInfo.getContactEmail(); if (contactEmail != null) { contactInfo.setContactEmail(signatureProvider.encryptRequestMessage(contactEmail, x509Certificate)); diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java index a9d085f..023467a 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java @@ -42,8 +42,6 @@ public class EcommerceApplymentParams{ private EcommerceIdCardInfo idCardInfo; private EcommerceIdDocInfo idDocInfo; private Boolean owner; - private UboInfo uboInfo; - private Boolean needAccountInfo; private List uboInfoList; private EcommerceAccountInfo accountInfo; private EcommerceContactInfo contactInfo; diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java index acf0b99..081292b 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceBusinessLicenseInfo.java @@ -17,6 +17,7 @@ package cn.felord.payment.wechat.v3.model.ecommerce; +import cn.felord.payment.wechat.enumeration.BusinessCertType; import lombok.Data; /** @@ -25,6 +26,7 @@ import lombok.Data; */ @Data public class EcommerceBusinessLicenseInfo { + private BusinessCertType certType; private String businessLicenseCopy; private String businessLicenseNumber; private String merchantName; diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java index 8457f99..53fd232 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java @@ -19,11 +19,18 @@ package cn.felord.payment.wechat.v3.model.ecommerce; import lombok.Data; +import java.time.LocalDate; + @Data public class EcommerceContactInfo { private String contactType; private String contactName; private String contactIdCardNumber; + private String contactIdDocCopy; + private String contactIdDocCopyBack; + private LocalDate contactIdDocPeriodBegin; + private String contactIdDocPeriodEnd; + private String businessAuthorizationLetter; private String mobilePhone; private String contactEmail; } \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java index 07fd099..04fe0b2 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/UboInfoListItem.java @@ -31,5 +31,5 @@ public class UboInfoListItem { private String uboIdDocNumber; private String uboIdDocAddress; private LocalDate uboIdDocPeriodBegin; - private LocalDate uboIdDocPeriodEnd; + private String uboIdDocPeriodEnd; } \ No newline at end of file From 4e27958ace4c6b4fb61d4fda5688a0a87c7957c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jul 2023 15:41:12 +0000 Subject: [PATCH 04/11] build(deps): bump bcprov-jdk15to18 from 1.69 to 1.74 Bumps [bcprov-jdk15to18](https://github.com/bcgit/bc-java) from 1.69 to 1.74. - [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html) - [Commits](https://github.com/bcgit/bc-java/commits) --- updated-dependencies: - dependency-name: org.bouncycastle:bcprov-jdk15to18 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 448adcb..823fabd 100644 --- a/pom.xml +++ b/pom.xml @@ -90,7 +90,7 @@ 1.8 2.7.7 4.31.7.ALL - 1.69 + 1.74 From f4615b02b319c5dfeacaf7edf82d87a87ab9c718 Mon Sep 17 00:00:00 2001 From: xiafang Date: Tue, 28 Nov 2023 13:30:26 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/felord/payment/wechat/v3/AbstractApi.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/AbstractApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/AbstractApi.java index 44da479..26a6a50 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/AbstractApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/AbstractApi.java @@ -31,6 +31,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; import org.springframework.core.io.Resource; import org.springframework.http.ContentDisposition; import org.springframework.http.HttpHeaders; @@ -44,6 +47,8 @@ import org.springframework.web.util.UriComponentsBuilder; import java.net.URI; import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.Objects; import java.util.Optional; @@ -92,12 +97,16 @@ public abstract class AbstractApi { * @param mapper the mapper */ private void applyObjectMapper(ObjectMapper mapper) { + JavaTimeModule javaTimeModule = new JavaTimeModule(); + javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ISO_LOCAL_DATE)); + javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); + javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ISO_LOCAL_TIME)); mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) // empty string error .configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true) .setSerializationInclusion(JsonInclude.Include.NON_NULL) - .registerModule(new JavaTimeModule()); + .registerModule(javaTimeModule); } From 56bf43f04f3cece086787cf673de298dbd8d4bda Mon Sep 17 00:00:00 2001 From: xiafang Date: Tue, 28 Nov 2023 13:50:53 +0800 Subject: [PATCH 06/11] #109 --- .../wechat/v3/ecommerce/ApplymentApi.java | 35 +++++++++++++------ .../ecommerce/EcommerceApplymentParams.java | 6 ++-- .../model/ecommerce/EcommerceContactInfo.java | 2 ++ 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java index f37ba92..5c03e0f 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/ecommerce/ApplymentApi.java @@ -19,18 +19,26 @@ package cn.felord.payment.wechat.v3.ecommerce; import cn.felord.payment.wechat.enumeration.WeChatServer; import cn.felord.payment.wechat.enumeration.WechatPayV3Type; -import cn.felord.payment.wechat.v3.*; -import cn.felord.payment.wechat.v3.model.ecommerce.*; +import cn.felord.payment.wechat.v3.AbstractApi; +import cn.felord.payment.wechat.v3.SignatureProvider; +import cn.felord.payment.wechat.v3.WechatPartnerSpecialMchApi; +import cn.felord.payment.wechat.v3.WechatPayClient; +import cn.felord.payment.wechat.v3.WechatResponseEntity; +import cn.felord.payment.wechat.v3.X509WechatCertificateInfo; +import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceAccountInfo; +import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceApplymentParams; +import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceContactInfo; +import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceIdCardInfo; +import cn.felord.payment.wechat.v3.model.ecommerce.EcommerceIdDocInfo; +import cn.felord.payment.wechat.v3.model.ecommerce.UboInfo; import cn.felord.payment.wechat.v3.model.specmch.SubMchModifyParams; import com.fasterxml.jackson.databind.node.ObjectNode; import org.springframework.http.HttpHeaders; -import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.util.UriComponentsBuilder; import java.net.URI; import java.security.cert.X509Certificate; -import java.util.List; /** * 电商收付通-商户进件 @@ -149,13 +157,18 @@ public class ApplymentApi extends AbstractApi { idDocInfo.setIdDocAddress(signatureProvider.encryptRequestMessage(idDocAddress, x509Certificate)); } } - List uboInfoList = applymentParams.getUboInfoList(); - if (!CollectionUtils.isEmpty(uboInfoList)) { - uboInfoList.forEach(uboInfoListItem -> { - uboInfoListItem.setUboIdDocName(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocName(), x509Certificate)); - uboInfoListItem.setUboIdDocNumber(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocNumber(), x509Certificate)); - uboInfoListItem.setUboIdDocAddress(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocAddress(), x509Certificate)); - }); + UboInfo uboInfo = applymentParams.getUboInfo(); + if (uboInfo != null) { + UboInfo.IdCardInfo cardInfo = uboInfo.getIdCardInfo(); + if (cardInfo != null) { + cardInfo.setIdCardName(signatureProvider.encryptRequestMessage(cardInfo.getIdCardName(), x509Certificate)); + cardInfo.setIdCardNumber(signatureProvider.encryptRequestMessage(cardInfo.getIdCardNumber(), x509Certificate)); + } + UboInfo.IdDocInfo docInfo = uboInfo.getIdDocInfo(); + if (docInfo != null) { + docInfo.setIdDocName(signatureProvider.encryptRequestMessage(docInfo.getIdDocName(), x509Certificate)); + docInfo.setIdDocNumber(signatureProvider.encryptRequestMessage(docInfo.getIdDocNumber(), x509Certificate)); + } } EcommerceAccountInfo accountInfo = applymentParams.getAccountInfo(); if (accountInfo != null) { diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java index 023467a..8edad97 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceApplymentParams.java @@ -20,9 +20,6 @@ import cn.felord.payment.wechat.enumeration.ContactType; import cn.felord.payment.wechat.enumeration.IdDocType; import cn.felord.payment.wechat.v3.model.specmch.FinanceInstitutionInfo; import lombok.Data; - -import java.util.List; - /** * 二级商户进件申请API请求参数 * @@ -42,7 +39,8 @@ public class EcommerceApplymentParams{ private EcommerceIdCardInfo idCardInfo; private EcommerceIdDocInfo idDocInfo; private Boolean owner; - private List uboInfoList; + private UboInfo uboInfo; + private Boolean needAccountInfo; private EcommerceAccountInfo accountInfo; private EcommerceContactInfo contactInfo; private SalesSceneInfo salesSceneInfo; diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java index 53fd232..c0de222 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/ecommerce/EcommerceContactInfo.java @@ -17,6 +17,7 @@ package cn.felord.payment.wechat.v3.model.ecommerce; +import cn.felord.payment.wechat.enumeration.IdDocType; import lombok.Data; import java.time.LocalDate; @@ -25,6 +26,7 @@ import java.time.LocalDate; public class EcommerceContactInfo { private String contactType; private String contactName; + private IdDocType contactIdDocType; private String contactIdCardNumber; private String contactIdDocCopy; private String contactIdDocCopyBack; From 57e794280f1c52206755737621638e7f6fc1c74a Mon Sep 17 00:00:00 2001 From: xiafang Date: Tue, 28 Nov 2023 14:08:34 +0800 Subject: [PATCH 07/11] =?UTF-8?q?fix:=20=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=88=86=E5=81=9C=E8=BD=A6GET=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E8=BD=A6=E7=89=8C=E5=8F=B7=E7=9C=81=E4=BB=BD=E6=B1=89=E5=AD=97?= =?UTF-8?q?encode=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #113 --- .../cn/felord/payment/wechat/v3/WechatPayScoreParkingApi.java | 1 + 1 file changed, 1 insertion(+) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayScoreParkingApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayScoreParkingApi.java index 4bc3396..16f35ae 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayScoreParkingApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayScoreParkingApi.java @@ -76,6 +76,7 @@ public class WechatPayScoreParkingApi extends AbstractApi { URI uri = UriComponentsBuilder.fromHttpUrl(wechatPayV3Type.uri(WeChatServer.CHINA)) .queryParams(queryParams) + .encode() .build() .toUri(); return Get(uri); From d068734422035ef3f92be716d01bb41c377bcfec Mon Sep 17 00:00:00 2001 From: xiafang Date: Mon, 15 Jan 2024 15:53:52 +0800 Subject: [PATCH 08/11] =?UTF-8?q?enhance:=20=E4=BC=98=E5=8C=96=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/wechat/v3/SignatureProvider.java | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java index c683574..b949cd6 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java @@ -184,15 +184,15 @@ public class SignatureProvider { .orElseThrow(() -> new PayException("cannot obtain the certificate")); }); - try { - final String signatureStr = createSign(params.getWechatpayTimestamp(), params.getWechatpayNonce(), params.getBody()); - Signature signer = Signature.getInstance("SHA256withRSA", BC_PROVIDER); - signer.initVerify(certificate.getX509Certificate()); - signer.update(signatureStr.getBytes(StandardCharsets.UTF_8)); - return signer.verify(Base64Utils.decodeFromString(params.getWechatpaySignature())); - }catch (Exception e){ - throw new PayException("An exception occurred during the response verification, the cause: "+e.getMessage()); - } + try { + final String signatureStr = createSign(params.getWechatpayTimestamp(), params.getWechatpayNonce(), params.getBody()); + Signature signer = Signature.getInstance("SHA256withRSA", BC_PROVIDER); + signer.initVerify(certificate.getX509Certificate()); + signer.update(signatureStr.getBytes(StandardCharsets.UTF_8)); + return signer.verify(Base64Utils.decodeFromString(params.getWechatpaySignature())); + } catch (Exception e) { + throw new PayException("An exception occurred during the response verification, the cause: " + e.getMessage()); + } } @@ -230,12 +230,9 @@ public class SignatureProvider { throw new PayException("cant obtain the response body"); } ArrayNode certificates = bodyObjectNode.withArray("data"); - if (certificates.isArray() && certificates.size() > 0) { - CERTIFICATE_SET.forEach(x509WechatCertificateInfo -> { - if (Objects.equals(tenantId, x509WechatCertificateInfo.getTenantId())) { - CERTIFICATE_SET.remove(x509WechatCertificateInfo); - } - }); + if (certificates.isArray() && !certificates.isEmpty()) { + CERTIFICATE_SET.removeIf(x509WechatCertificateInfo -> + Objects.equals(tenantId, x509WechatCertificateInfo.getTenantId())); final CertificateFactory certificateFactory = CertificateFactory.getInstance("X509", BC_PROVIDER); certificates.forEach(objectNode -> { JsonNode encryptCertificate = objectNode.get("encrypt_certificate"); From 6e2b6decf44412b30a0b8403def3eb2d170810fe Mon Sep 17 00:00:00 2001 From: xiafang Date: Mon, 29 Apr 2024 12:50:12 +0800 Subject: [PATCH 09/11] =?UTF-8?q?enhance:=20=E5=8F=91=E8=B5=B7=E5=95=86?= =?UTF-8?q?=E5=AE=B6=E8=BD=AC=E8=B4=A6=E5=A2=9E=E5=8A=A0=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #123 --- .../v3/model/batchtransfer/CreateBatchTransferParams.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/batchtransfer/CreateBatchTransferParams.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/batchtransfer/CreateBatchTransferParams.java index 40f0327..6c82d6d 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/batchtransfer/CreateBatchTransferParams.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/batchtransfer/CreateBatchTransferParams.java @@ -61,6 +61,11 @@ public class CreateBatchTransferParams { * 指定该笔转账使用的转账场景ID */ private String transferSceneId; + /** + * 回调通知 + * @since 1.0.20 + */ + private String notifyUrl; /** * 转账明细. @@ -96,4 +101,4 @@ public class CreateBatchTransferParams { */ private String userIdCard; } -} \ No newline at end of file +} From 56995088d1739f7905bc4e7eed3baf526073086d Mon Sep 17 00:00:00 2001 From: xiafang Date: Mon, 29 Apr 2024 13:30:39 +0800 Subject: [PATCH 10/11] =?UTF-8?q?enhance:=20=E5=8F=91=E6=94=BE=E4=BB=A3?= =?UTF-8?q?=E9=87=91=E5=88=B8=E4=B8=AD=E5=88=B6=E5=88=B8=E5=95=86=E6=88=B7?= =?UTF-8?q?=E5=8F=B7=E7=94=A8=E6=88=B7=E5=8F=AF=E8=87=AA=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #122 --- .../cn/felord/payment/wechat/v3/WechatMarketingFavorApi.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMarketingFavorApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMarketingFavorApi.java index b97ea48..68f2b07 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMarketingFavorApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMarketingFavorApi.java @@ -158,7 +158,9 @@ public class WechatMarketingFavorApi extends AbstractApi { WechatPayProperties.V3 v3 = this.wechatMetaBean().getV3(); params.setAppid(v3.getAppId()); - params.setStockCreatorMchid(v3.getMchId()); + if (StringUtils.hasText(params.getStockCreatorMchid())){ + params.setStockCreatorMchid(v3.getMchId()); + } URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA)) .build() .expand(params.getOpenid()) From 5b8850b9806a51a1a0ab36666398f3151eb5de13 Mon Sep 17 00:00:00 2001 From: xiafang Date: Mon, 29 Apr 2024 13:41:07 +0800 Subject: [PATCH 11/11] enhance: 1.0.20 --- README.md | 2 +- docs/README.md | 4 ++-- docs/quick_start.md | 4 ++-- payment-spring-boot-autoconfigure/pom.xml | 6 +++--- payment-spring-boot-starter/pom.xml | 6 +++--- pom.xml | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 77bbf69..f9c5b84 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Starter,支持微信优惠券,代金券、商家券、智慧商圈、商家 cn.felord payment-spring-boot-starter - 1.0.19.RELEASE + 1.0.20.RELEASE ``` diff --git a/docs/README.md b/docs/README.md index fcedd7a..df92a5c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -35,7 +35,7 @@ cn.felord payment-spring-boot-starter - 1.0.19.RELEASE + 1.0.20.RELEASE ``` ## 采用技术 @@ -51,4 +51,4 @@ ## **免责声明** -**本项目涉及到资金交易开发,开发者需要经严格测试后方能用于生产环境,本项目不对使用者的行为负责。** \ No newline at end of file +**本项目涉及到资金交易开发,开发者需要经严格测试后方能用于生产环境,本项目不对使用者的行为负责。** diff --git a/docs/quick_start.md b/docs/quick_start.md index e9d853d..768dff4 100644 --- a/docs/quick_start.md +++ b/docs/quick_start.md @@ -4,7 +4,7 @@ cn.felord payment-spring-boot-starter - 1.0.19.RELEASE + 1.0.20.RELEASE ``` > 基于 **Spring Boot 2.x** @@ -174,4 +174,4 @@ public class PayConfig { System.out.println("execute = " + execute.getBody()); } -``` \ No newline at end of file +``` diff --git a/payment-spring-boot-autoconfigure/pom.xml b/payment-spring-boot-autoconfigure/pom.xml index 89ed791..86214da 100644 --- a/payment-spring-boot-autoconfigure/pom.xml +++ b/payment-spring-boot-autoconfigure/pom.xml @@ -22,11 +22,11 @@ cn.felord payment-spring-boot - 1.0.19.RELEASE + 1.0.20.RELEASE payment-spring-boot-autoconfigure - 1.0.19.RELEASE + 1.0.20.RELEASE jar 4.0.0 @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/payment-spring-boot-starter/pom.xml b/payment-spring-boot-starter/pom.xml index f593105..52620ab 100644 --- a/payment-spring-boot-starter/pom.xml +++ b/payment-spring-boot-starter/pom.xml @@ -22,11 +22,11 @@ cn.felord payment-spring-boot - 1.0.19.RELEASE + 1.0.20.RELEASE payment-spring-boot-starter - 1.0.19.RELEASE + 1.0.20.RELEASE jar 4.0.0 @@ -62,4 +62,4 @@ - \ No newline at end of file + diff --git a/pom.xml b/pom.xml index 823fabd..6c5cd3b 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> cn.felord payment-spring-boot - 1.0.19.RELEASE + 1.0.20.RELEASE pom 4.0.0 @@ -212,4 +212,4 @@ - \ No newline at end of file +