From 5a46bbc0a449e14b25bec2fdf05a6a848930e5ba Mon Sep 17 00:00:00 2001 From: Fang Date: Sat, 18 Jun 2022 15:10:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=95=86=E5=95=86=E6=88=B7=E8=BF=9B=E4=BB=B6-=E7=89=B9?= =?UTF-8?q?=E7=BA=A6=E5=95=86=E6=88=B7=E8=BF=9B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 提交申请单API - 查询申请单状态API - 通过业务申请编号查询申请状态 - 通过申请单号查询申请状态 - 修改结算账号API - 查询结算账户API --- .../wechat/enumeration/ContactType.java | 38 ++++ .../wechat/enumeration/FinanceType.java | 48 ++++ .../payment/wechat/enumeration/IdDocType.java | 61 +++++ .../wechat/enumeration/SubjectType.java | 58 +++++ .../wechat/enumeration/WechatPayV3Type.java | 35 ++- .../payment/wechat/v3/WechatApiProvider.java | 11 + .../wechat/v3/WechatPartnerSpecialMchApi.java | 213 ++++++++++++++++++ .../v3/model/specmch/AccountCertInfo.java | 12 + .../wechat/v3/model/specmch/AdditionInfo.java | 31 +++ .../wechat/v3/model/specmch/AppInfo.java | 12 + .../v3/model/specmch/ApplymentParams.java | 13 ++ .../v3/model/specmch/BankAccountInfo.java | 15 ++ .../wechat/v3/model/specmch/BizStoreInfo.java | 15 ++ .../wechat/v3/model/specmch/BusinessInfo.java | 10 + .../v3/model/specmch/BusinessLicenseInfo.java | 16 ++ .../v3/model/specmch/CertificateInfo.java | 38 ++++ .../wechat/v3/model/specmch/ContactInfo.java | 23 ++ .../model/specmch/FinanceInstitutionInfo.java | 12 + .../wechat/v3/model/specmch/IdCardInfo.java | 16 ++ .../wechat/v3/model/specmch/IdDocInfo.java | 35 +++ .../wechat/v3/model/specmch/IdentityInfo.java | 15 ++ .../v3/model/specmch/MiniProgramInfo.java | 12 + .../wechat/v3/model/specmch/MpInfo.java | 12 + .../wechat/v3/model/specmch/SalesInfo.java | 16 ++ .../v3/model/specmch/SettlementInfo.java | 15 ++ .../v3/model/specmch/SubMchModifyParams.java | 35 +++ .../wechat/v3/model/specmch/SubjectInfo.java | 18 ++ .../v3/model/specmch/UboInfoListItem.java | 18 ++ .../wechat/v3/model/specmch/WebInfo.java | 10 + .../wechat/v3/model/specmch/WeworkInfo.java | 12 + 30 files changed, 874 insertions(+), 1 deletion(-) create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/ContactType.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/FinanceType.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/IdDocType.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/SubjectType.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPartnerSpecialMchApi.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AccountCertInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AdditionInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AppInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ApplymentParams.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BankAccountInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BizStoreInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessLicenseInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/CertificateInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ContactInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/FinanceInstitutionInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdCardInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdDocInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdentityInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MiniProgramInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MpInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SalesInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SettlementInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubMchModifyParams.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubjectInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/UboInfoListItem.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WebInfo.java create mode 100644 payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WeworkInfo.java diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/ContactType.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/ContactType.java new file mode 100644 index 0000000..0d42c2d --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/ContactType.java @@ -0,0 +1,38 @@ +/* + * Copyright 2019-2021 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; + +/** + * 超级管理员类型 + * + * @since + */ +public enum ContactType { + /** + * 经营者或者法人 + *

+ * 主体为个体工商户/企业/政府机关/事业单位/社会组织 + */ + LEGAL, + /** + * 经办人 + * + * 经商户授权办理微信支付业务的人员 + */ + SUPER +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/FinanceType.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/FinanceType.java new file mode 100644 index 0000000..6c03716 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/FinanceType.java @@ -0,0 +1,48 @@ +/* + * Copyright 2019-2021 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; + +/** + * 金融机构类型需与营业执照/登记证书上一致,可参考选择 金融机构指引。 + * + * @author felord.cn + * @since 1.0.14.RELEASE + */ +public enum FinanceType { + + /** + * 银行业, 适用于商业银行、政策性银行、农村合作银行、村镇银行、开发性金融机构等 + */ + BANK_AGENT, + /** + * 支付机构, 适用于非银行类支付机构 + */ + PAYMENT_AGENT, + /** + * 保险业, 适用于保险、保险中介、保险代理、保险经纪等保险类业务 + */ + INSURANCE, + /** + * 交易及结算类金融机构, 适用于交易所、登记结算类机构、银行卡清算机构、资金清算中心等 + */ + TRADE_AND_SETTLE, + /** + * 其他金融机构, 适用于财务公司、信托公司、金融资产管理公司、金融租赁公司、汽车金融公司、贷款公司、货币经纪公司、消费金融公司、证券业、金融控股公司、股票、期货、货币兑换、小额贷款公司、金融资产管理、担保公司、商业保理公司、典当行、融资租赁公司、财经咨询等其他金融业务 + */ + OTHER +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/IdDocType.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/IdDocType.java new file mode 100644 index 0000000..6cb809e --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/IdDocType.java @@ -0,0 +1,61 @@ +/* + * Copyright 2019-2021 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; + +/** + * 超级管理员证件类型 + *

+ * 当超级管理员类型是经办人时,请上传超级管理员证件类型。 + * + * @author felord.cn + * @since 1.0.14.RELEASE + */ +public enum IdDocType { + /** + * 中国大陆居民-身份证 + */ + 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 +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/SubjectType.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/SubjectType.java new file mode 100644 index 0000000..f319c83 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/SubjectType.java @@ -0,0 +1,58 @@ +/* + * Copyright 2019-2021 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; + +/** + * 营业执照/登记证书、经营者/法人的证件的主体类型 + * + * @author felord.cn + * @see 主体类型指引 + * @since 1.0.14.RELEASE + */ +public enum SubjectType { + /** + * 个体户 + *

+ * 营业执照上的主体类型一般为个体户、个体工商户、个体经营; + */ + SUBJECT_TYPE_INDIVIDUAL, + /** + * 企业 + *

+ * 营业执照上的主体类型一般为有限公司、有限责任公司; + */ + SUBJECT_TYPE_ENTERPRISE, + /** + * 政府机关 + *

+ * 包括各级、各类政府机关,如机关党委、税务、民政、人社、工商、商务、市监等; + */ + SUBJECT_TYPE_GOVERNMENT, + /** + * 事业单位 + *

+ * 包括国内各类事业单位,如:医疗、教育、学校等单位; + */ + SUBJECT_TYPE_INSTITUTIONS, + /** + * 社会组织 + *

+ * 包括社会团体、民办非企业、基金会、基层群众性自治组织、农村集体经济组织等组织 + */ + SUBJECT_TYPE_OTHERS +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/WechatPayV3Type.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/WechatPayV3Type.java index 51315d7..ffdcb04 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/WechatPayV3Type.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/enumeration/WechatPayV3Type.java @@ -668,7 +668,40 @@ public enum WechatPayV3Type { * * @since 1.0.13.RELEASE */ - PROFITSHARING_BILLS(HttpMethod.GET, "%s/v3/profitsharing/bills"); + PROFITSHARING_BILLS(HttpMethod.GET, "%s/v3/profitsharing/bills"), + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /** + * 服务商-商户进件-特约商户进件-提交申请单API. + * + * @since 1.0.14.RELEASE + */ + SPEC_MCH_APPLY_PARTNER(HttpMethod.POST, "%s/v3/applyment4sub/applyment/"), + /** + * 服务商-商户进件-特约商户进件-通过业务申请编号查询申请状态API. + * + * @since 1.0.14.RELEASE + */ + SPEC_MCH_APPLY_QUERY_BUSINESS_CODE(HttpMethod.GET, "%s/v3/applyment4sub/applyment/business_code/{business_code}"), + /** + * 服务商-商户进件-特约商户进件-通过申请单号查询申请状态API. + * + * @since 1.0.14.RELEASE + */ + SPEC_MCH_APPLY_QUERY_APPLYMENT_ID(HttpMethod.GET, "%s/v3/applyment4sub/applyment/applyment_id/{applyment_id}"), + /** + * 服务商-商户进件-特约商户进件-修改结算账号API. + * + * @since 1.0.14.RELEASE + */ + SPEC_MCH_SUB_MODIFY(HttpMethod.POST, "%s/v3/apply4sub/sub_merchants/{sub_mchid}/modify-settlement"), + /** + * 服务商-商户进件-特约商户进件-查询结算账户API. + * + * @since 1.0.14.RELEASE + */ + SPEC_MCH_SUB_SETTLEMENT(HttpMethod.GET, "%s/v3/apply4sub/sub_merchants/{sub_mchid}/settlement"); + + /** * The Pattern. * diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatApiProvider.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatApiProvider.java index 8cc52df..2772a59 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatApiProvider.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatApiProvider.java @@ -223,4 +223,15 @@ public class WechatApiProvider { public WechatPartnerProfitsharingApi partnerProfitsharingApi(String tenantId) { return new WechatPartnerProfitsharingApi(wechatPayClient, tenantId); } + + /** + * 微信V3服务商-商户进件-特约商户进件 + * + * @param tenantId the tenant id + * @return wechat partner special mch api + */ + public WechatPartnerSpecialMchApi partnerSpecialMchApi(String tenantId){ + return new WechatPartnerSpecialMchApi(wechatPayClient, tenantId); + } + } 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 new file mode 100644 index 0000000..6b0ef7a --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPartnerSpecialMchApi.java @@ -0,0 +1,213 @@ +/* + * Copyright 2019-2021 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; + +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 com.fasterxml.jackson.databind.node.ObjectNode; +import org.springframework.http.HttpHeaders; +import org.springframework.util.CollectionUtils; +import org.springframework.web.util.UriComponentsBuilder; + +import java.net.URI; +import java.security.cert.X509Certificate; +import java.util.List; + +/** + * 微信V3服务商-商户进件-特约商户进件 + *

+ * 参见产品介绍 + * + * @author felord.cn + * @since 1.0.14.RELEASE + */ +public class WechatPartnerSpecialMchApi extends AbstractApi { + /** + * Instantiates a new Abstract api. + * + * @param wechatPayClient the wechat pay client + * @param tenantId the tenant id + */ + public WechatPartnerSpecialMchApi(WechatPayClient wechatPayClient, String tenantId) { + super(wechatPayClient, tenantId); + } + + /** + * 提交申请单API + *

+ * 服务商(银行、支付机构、电商平台不可用)使用该接口提交商家资料,帮助商家入驻成为微信支付的特约商户。 + * 流程指引请看 特约商户进件流程 + * + * @param params the params + * @return the wechat response entity + */ + public WechatResponseEntity apply(ApplymentParams params) { + WechatResponseEntity wechatResponseEntity = new WechatResponseEntity<>(); + this.client().withType(WechatPayV3Type.SPEC_MCH_APPLY_PARTNER, params) + .function((wechatPayV3Type, applymentParams) -> { + SignatureProvider signatureProvider = this.client().signatureProvider(); + X509WechatCertificateInfo certificate = signatureProvider.getCertificate(this.wechatMetaBean().getTenantId()); + final X509Certificate x509Certificate = certificate.getX509Certificate(); + ApplymentParams applyRequestParams = this.convert(applymentParams, signatureProvider, x509Certificate); + URI uri = UriComponentsBuilder.fromHttpUrl(wechatPayV3Type.uri(WeChatServer.CHINA)) + .build() + .toUri(); + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.add("Wechatpay-Serial", certificate.getWechatPaySerial()); + return Post(uri, applyRequestParams, httpHeaders); + }) + .consumer(wechatResponseEntity::convert) + .request(); + return wechatResponseEntity; + } + + /** + * 通过业务申请编号查询申请状态 + * + * @param businessCode the business code + * @return the wechat response entity + */ + public WechatResponseEntity queryByBusinessCode(String businessCode) { + WechatResponseEntity wechatResponseEntity = new WechatResponseEntity<>(); + this.client().withType(WechatPayV3Type.SPEC_MCH_APPLY_QUERY_BUSINESS_CODE, businessCode) + .function((type, id) -> { + URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA)) + .build() + .expand(id) + .toUri(); + return Get(uri); + }) + .consumer(wechatResponseEntity::convert) + .request(); + return wechatResponseEntity; + } + + /** + * 通过申请单号查询申请状态 + * + * @param applymentId the applyment id + * @return the wechat response entity + */ + public WechatResponseEntity queryByApplymentId(String applymentId) { + WechatResponseEntity wechatResponseEntity = new WechatResponseEntity<>(); + this.client().withType(WechatPayV3Type.SPEC_MCH_APPLY_QUERY_APPLYMENT_ID, applymentId) + .function((type, id) -> { + URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA)) + .build() + .expand(id) + .toUri(); + return Get(uri); + }) + .consumer(wechatResponseEntity::convert) + .request(); + return wechatResponseEntity; + } + + /** + * 修改结算账号API + *

+ * 服务商/电商平台(不包括支付机构、银行),可使用本接口,修改其进件且已签约特约商户/二级商户的结算银行账户。 + * + * @param params the params + * @return the wechat response entity + */ + public WechatResponseEntity modify(SubMchModifyParams params) { + WechatResponseEntity wechatResponseEntity = new WechatResponseEntity<>(); + this.client().withType(WechatPayV3Type.SPEC_MCH_SUB_MODIFY, params) + .function((type, subMchModifyParams) -> { + SignatureProvider signatureProvider = this.client().signatureProvider(); + X509WechatCertificateInfo certificate = signatureProvider.getCertificate(this.wechatMetaBean().getTenantId()); + final X509Certificate x509Certificate = certificate.getX509Certificate(); + URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA)) + .build() + .expand(subMchModifyParams.getSubMchid()) + .toUri(); + + subMchModifyParams.setSubMchid(null); + subMchModifyParams.setAccountNumber(signatureProvider.encryptRequestMessage(subMchModifyParams.getAccountNumber(), x509Certificate)); + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.add("Wechatpay-Serial", certificate.getWechatPaySerial()); + return Post(uri, subMchModifyParams, httpHeaders); + }) + .consumer(wechatResponseEntity::convert) + .request(); + return wechatResponseEntity; + } + + /** + * 查询结算账户API + *

+ * 服务商/电商平台(不包括支付机构、银行),可使用本接口,查询其进件且已签约特约商户/二级商户的结算账户信息(敏感信息掩码)。 + * 该接口可用于核实是否成功修改结算账户信息、及查询系统汇款验证结果。 + * + * @param subMchid the sub mchid + * @return the wechat response entity + */ + public WechatResponseEntity querySettlement(String subMchid) { + WechatResponseEntity wechatResponseEntity = new WechatResponseEntity<>(); + this.client().withType(WechatPayV3Type.SPEC_MCH_SUB_SETTLEMENT, subMchid) + .function((type, id) -> { + URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA)) + .build() + .expand(id) + .toUri(); + return Get(uri); + }) + .consumer(wechatResponseEntity::convert) + .request(); + return wechatResponseEntity; + } + + private ApplymentParams convert(ApplymentParams applymentParams, SignatureProvider signatureProvider, final X509Certificate x509Certificate) { + + ContactInfo contactInfo = applymentParams.getContactInfo(); + contactInfo.setContactName(signatureProvider.encryptRequestMessage(contactInfo.getContactName(), x509Certificate)); + String contactIdNumber = contactInfo.getContactIdNumber(); + if (contactIdNumber != null) { + contactInfo.setContactIdNumber(signatureProvider.encryptRequestMessage(contactIdNumber, x509Certificate)); + } + String openid = contactInfo.getOpenid(); + if (openid != null) { + contactInfo.setOpenid(signatureProvider.encryptRequestMessage(openid, x509Certificate)); + } + contactInfo.setMobilePhone(signatureProvider.encryptRequestMessage(contactInfo.getMobilePhone(), x509Certificate)); + contactInfo.setContactEmail(signatureProvider.encryptRequestMessage(contactInfo.getContactEmail(), x509Certificate)); + + List uboInfoList = applymentParams.getSubjectInfo().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)); + }); + } + + BankAccountInfo bankAccountInfo = applymentParams.getBankAccountInfo(); + + bankAccountInfo.setAccountName(signatureProvider.encryptRequestMessage(bankAccountInfo.getAccountName(), x509Certificate)); + bankAccountInfo.setAccountNumber(signatureProvider.encryptRequestMessage(bankAccountInfo.getAccountNumber(), x509Certificate)); + + return applymentParams; + } + +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AccountCertInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AccountCertInfo.java new file mode 100644 index 0000000..e3a8246 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AccountCertInfo.java @@ -0,0 +1,12 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class AccountCertInfo{ + private String settlementCertPic; + private String relationCertPic; + private List otherCertPics; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AdditionInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AdditionInfo.java new file mode 100644 index 0000000..3070ebe --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AdditionInfo.java @@ -0,0 +1,31 @@ +/* + * Copyright 2019-2021 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.specmch; + +import java.util.List; + +/** + * @author felord.cn + * @since 1.0.14.RELEASE + */ +public class AdditionInfo { + private String legalPersonCommitment; + private String legalPersonVideo; + private List businessAdditionPics; + private String businessAdditionMsg; +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AppInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AppInfo.java new file mode 100644 index 0000000..d77dd05 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/AppInfo.java @@ -0,0 +1,12 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class AppInfo{ + private String appAppid; + private String appSubAppid; + private List appPics; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ApplymentParams.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ApplymentParams.java new file mode 100644 index 0000000..84305b3 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ApplymentParams.java @@ -0,0 +1,13 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +@Data +public class ApplymentParams { + private String businessCode; + private ContactInfo contactInfo; + private SubjectInfo subjectInfo; + private BusinessInfo businessInfo; + private SettlementInfo settlementInfo; + private BankAccountInfo bankAccountInfo; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BankAccountInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BankAccountInfo.java new file mode 100644 index 0000000..79e1faf --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BankAccountInfo.java @@ -0,0 +1,15 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +@Data +public class BankAccountInfo{ + private String bankAccountType; + private String accountName; + private String accountBank; + private String bankAddressCode; + private String bankBranchId; + private String bankName; + private String accountNumber; + private AccountCertInfo accountCertInfo; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BizStoreInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BizStoreInfo.java new file mode 100644 index 0000000..8cdeef1 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BizStoreInfo.java @@ -0,0 +1,15 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class BizStoreInfo{ + private String bizStoreName; + private String bizAddressCode; + private String bizStoreAddress; + private List storeEntrancePic; + private List indoorPic; + private String bizSubAppid; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessInfo.java new file mode 100644 index 0000000..d57aa43 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessInfo.java @@ -0,0 +1,10 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +@Data +public class BusinessInfo{ + private String merchantShortname; + private String servicePhone; + private SalesInfo salesInfo; +} \ 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 new file mode 100644 index 0000000..ee671de --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/BusinessLicenseInfo.java @@ -0,0 +1,16 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class BusinessLicenseInfo{ + private String licenseCopy; + private String licenseNumber; + private String merchantName; + private String legalPerson; + private String licenseAddress; + private LocalDate periodBegin; + private LocalDate periodEnd; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/CertificateInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/CertificateInfo.java new file mode 100644 index 0000000..5fbe72e --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/CertificateInfo.java @@ -0,0 +1,38 @@ +/* + * Copyright 2019-2021 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.specmch; + +import lombok.Data; + +import java.time.LocalDate; + +/** + * @author felord.cn + * @since 1.0.14.RELEASE + */ +@Data +public class CertificateInfo { + private String certCopy; + private String certType; + private String certNumber; + private String merchantName; + private String companyAddress; + private String legalPerson; + private LocalDate periodBegin; + private LocalDate periodEnd; +} 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 new file mode 100644 index 0000000..a816cd6 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/ContactInfo.java @@ -0,0 +1,23 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import cn.felord.payment.wechat.enumeration.IdDocType; +import cn.felord.payment.wechat.enumeration.ContactType; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class ContactInfo{ + private ContactType contactType; + private String contactName; + private IdDocType contactIdDocType; + private String contactIdNumber; + private String contactIdDocCopy; + private String contactIdDocCopyBack; + private LocalDate contactPeriodBegin; + private LocalDate contactPeriodEnd; + private String businessAuthorizationLetter; + private String openid; + 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/specmch/FinanceInstitutionInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/FinanceInstitutionInfo.java new file mode 100644 index 0000000..222cdbf --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/FinanceInstitutionInfo.java @@ -0,0 +1,12 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import cn.felord.payment.wechat.enumeration.FinanceType; +import lombok.Data; + +import java.util.List; + +@Data +public class FinanceInstitutionInfo{ + private List financeLicensePics; + private FinanceType financeType; +} \ No newline at end of file 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 new file mode 100644 index 0000000..3d34dbf --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdCardInfo.java @@ -0,0 +1,16 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class IdCardInfo{ + private String idCardCopy; + private String idCardNational; + private String idCardName; + private String idCardNumber; + private String idCardAddress; + private LocalDate cardPeriodBegin; + private LocalDate 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 new file mode 100644 index 0000000..07fd051 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdDocInfo.java @@ -0,0 +1,35 @@ +/* + * Copyright 2019-2021 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.specmch; + +import lombok.Data; + +/** + * @author felord.cn + * @since 1.0.14.RELEASE + */ +@Data +public class IdDocInfo { + private String idDocCopy; + private String idDocCopyBack; + private String idDocName; + private String idDocNumber; + private String idDocAddress; + private String docPeriodBegin; + private String docPeriodEnd; +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdentityInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdentityInfo.java new file mode 100644 index 0000000..ac28c6a --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/IdentityInfo.java @@ -0,0 +1,15 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import cn.felord.payment.wechat.enumeration.IdDocType; +import cn.felord.payment.wechat.enumeration.ContactType; +import lombok.Data; + +@Data +public class IdentityInfo{ + private ContactType idHolderType; + private IdDocType idDocType; + private String authorizeLetterCopy; + private IdCardInfo idCardInfo; + private IdDocInfo idDocInfo; + private Boolean owner; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MiniProgramInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MiniProgramInfo.java new file mode 100644 index 0000000..d1d02c9 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MiniProgramInfo.java @@ -0,0 +1,12 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class MiniProgramInfo{ + private String miniProgramAppid; + private String miniProgramSubAppid; + private List miniProgramPics; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MpInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MpInfo.java new file mode 100644 index 0000000..75ece58 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/MpInfo.java @@ -0,0 +1,12 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class MpInfo{ + private String mpAppid; + private String mpSubAppid; + private List mpPics; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SalesInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SalesInfo.java new file mode 100644 index 0000000..51bfe59 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SalesInfo.java @@ -0,0 +1,16 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class SalesInfo{ + private List salesScenesType; + private BizStoreInfo bizStoreInfo; + private MpInfo mpInfo; + private MiniProgramInfo miniProgramInfo; + private AppInfo appInfo; + private WebInfo webInfo; + private WeworkInfo weworkInfo; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SettlementInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SettlementInfo.java new file mode 100644 index 0000000..2c7879d --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SettlementInfo.java @@ -0,0 +1,15 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class SettlementInfo{ + private String settlementId; + private String qualificationType; + private List qualifications; + private String activitiesId; + private String activitiesRate; + private List activitiesAdditions; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubMchModifyParams.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubMchModifyParams.java new file mode 100644 index 0000000..0bde731 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubMchModifyParams.java @@ -0,0 +1,35 @@ +/* + * Copyright 2019-2021 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.specmch; + +import lombok.Data; + +/** + * @author felord.cn + * @since 1.0.14.RELEASE + */ +@Data +public class SubMchModifyParams { + private String subMchid; + private String accountType; + private String accountBank; + private String bankAddressCode; + private String bankName; + private String bankBranchId; + private String accountNumber; +} diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubjectInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubjectInfo.java new file mode 100644 index 0000000..da36312 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/SubjectInfo.java @@ -0,0 +1,18 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import cn.felord.payment.wechat.enumeration.SubjectType; +import lombok.Data; + +import java.util.List; + +@Data +public class SubjectInfo{ + private SubjectType subjectType; + private Boolean financeInstitution; + private BusinessLicenseInfo businessLicenseInfo; + private CertificateInfo certificateInfo; + private String certificateLetterCopy; + private FinanceInstitutionInfo financeInstitutionInfo; + private IdentityInfo identityInfo; + private List uboInfoList; +} \ No newline at end of file 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 new file mode 100644 index 0000000..40e6649 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/UboInfoListItem.java @@ -0,0 +1,18 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +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 uboPeriodBegin; + private LocalDate uboPeriodEnd; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WebInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WebInfo.java new file mode 100644 index 0000000..beb7c0e --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WebInfo.java @@ -0,0 +1,10 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +@Data +public class WebInfo{ + private String domain; + private String webAuthorisation; + private String webAppid; +} \ No newline at end of file diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WeworkInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WeworkInfo.java new file mode 100644 index 0000000..9b61fd7 --- /dev/null +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/specmch/WeworkInfo.java @@ -0,0 +1,12 @@ +package cn.felord.payment.wechat.v3.model.specmch; + +import lombok.Data; + +import java.util.List; + +@Data +public class WeworkInfo{ + private String corpId; + private String subCorpId; + private List weworkPics; +} \ No newline at end of file