From 5f190c74450726d3aced7215d0cb9614ab45d49d Mon Sep 17 00:00:00 2001 From: noteplus <76406840@qq.com> Date: Fri, 9 Dec 2022 22:21:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?:new:=E3=80=90=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E3=80=91V3=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=9F=A5=E8=AF=A2=E6=9C=80=E5=A4=A7=E5=88=86=E8=B4=A6?= =?UTF-8?q?=E6=AF=94=E4=BE=8B(=E6=9F=A5=E8=AF=A2=E7=89=B9=E7=BA=A6?= =?UTF-8?q?=E5=95=86=E6=88=B7=E8=AE=BE=E7=BD=AE=E7=9A=84=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=95=86=E5=88=86=E8=B4=A6=E7=9A=84=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E6=AF=94=E4=BE=8B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...fitSharingMerchantMaxRatioQueryResult.java | 26 +++++++++++++++++++ .../wxpay/service/ProfitSharingV3Service.java | 20 +++++++++++++- .../impl/ProfitSharingV3ServiceImpl.java | 8 +++++- 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java new file mode 100644 index 000000000..a6979a990 --- /dev/null +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java @@ -0,0 +1,26 @@ +package com.github.binarywang.wxpay.bean.profitsharingV3; + +import java.io.Serializable; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; + +/** + * 微信V3接口-查询特约商户设置的允许服务商分账的最大比例结果类 + * + * @author 狂龙骄子 + * @since 4.4.0 + * @date 2022-12-09 + */ +@Data +public class ProfitSharingMerchantMaxRatioQueryResult implements Serializable { + + /** 子商户号 */ + @SerializedName("sub_mchid") + private String subMchId; + + /** 子商户允许服务商分账的最大比例,单位万分比,比如 2000表示20% */ + @SerializedName("max_ratio") + private Integer maxRatio; + +} diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/ProfitSharingV3Service.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/ProfitSharingV3Service.java index 7150d6f30..c884ba602 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/ProfitSharingV3Service.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/ProfitSharingV3Service.java @@ -8,9 +8,27 @@ import com.github.binarywang.wxpay.exception.WxPayException; * 微信支付V3-资金应用-分账 * * @author pg 2021-6-23 - * created on 2021-6-23 + * @date 2021-6-23 */ public interface ProfitSharingV3Service { + /** + *
+ * 查询最大分账比例 + * + * 可调用此接口查询特约商户设置的允许服务商分账的最大比例 + * 文档详见: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_7.shtml + * 接口链接: https://api.mch.weixin.qq.com/v3/profitsharing/merchant-configs/{sub_mchid} + *+ * + * @param subMchId 子商户号(微信支付分配的子商户号,即分账的出资商户号) + * @return {@link ProfitSharingMerchantMaxRatioQueryResult} 特约商户设置的允许服务商分账的最大比例结果 + * @throws WxPayException the wx pay exception + * @see 服务商平台>>API字典>>资金应用>>分账>>查询最大分账比例 + * @since 4.4.0 + * @date 2022-12-09 + */ + ProfitSharingMerchantMaxRatioQueryResult getProfitSharingMerchantMaxRatio(String subMchId) throws WxPayException; + /** *
* 请求分账API diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/ProfitSharingV3ServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/ProfitSharingV3ServiceImpl.java index 92d724177..d43facd24 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/ProfitSharingV3ServiceImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/ProfitSharingV3ServiceImpl.java @@ -2,7 +2,6 @@ package com.github.binarywang.wxpay.service.impl; import com.github.binarywang.wxpay.bean.ecommerce.SignatureHeader; import com.github.binarywang.wxpay.bean.profitsharingV3.*; -import com.github.binarywang.wxpay.config.WxPayConfig; import com.github.binarywang.wxpay.exception.WxPayException; import com.github.binarywang.wxpay.service.ProfitSharingV3Service; import com.github.binarywang.wxpay.service.WxPayService; @@ -31,6 +30,13 @@ public class ProfitSharingV3ServiceImpl implements ProfitSharingV3Service { private static final Gson GSON = new GsonBuilder().create(); private final WxPayService payService; + @Override + public ProfitSharingMerchantMaxRatioQueryResult getProfitSharingMerchantMaxRatio(String subMchId) throws WxPayException { + String url = String.format("%s/v3/profitsharing/merchant-configs/%s", this.payService.getPayBaseUrl(), subMchId); + String result = this.payService.getV3(url); + return GSON.fromJson(result, ProfitSharingMerchantMaxRatioQueryResult.class); + } + @Override public ProfitSharingResult profitSharing(ProfitSharingRequest request) throws WxPayException { String url = String.format("%s/v3/profitsharing/orders", this.payService.getPayBaseUrl()); -- Gitee From eeb28575e5688a8be8b69b2e105479ed8d692dd3 Mon Sep 17 00:00:00 2001 From: NotePlus <76406840@qq.com> Date: Sat, 10 Dec 2022 02:19:29 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0serialVersionUID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: NotePlus <76406840@qq.com> --- .../ProfitSharingMerchantMaxRatioQueryResult.java | 1 + 1 file changed, 1 insertion(+) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java index a6979a990..ec5ed92d5 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java @@ -14,6 +14,7 @@ import lombok.Data; */ @Data public class ProfitSharingMerchantMaxRatioQueryResult implements Serializable { + private static final long serialVersionUID = -6259241881199571683L; /** 子商户号 */ @SerializedName("sub_mchid") -- Gitee