From b35645ee67cb15d6984628ed2c4e69c4afce513c Mon Sep 17 00:00:00 2001 From: NotePlus <76406840@qq.com> Date: Sun, 11 Dec 2022 07:48:34 +0000 Subject: [PATCH] =?UTF-8?q?:new:=E3=80=90=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E3=80=91=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2=E7=89=B9?= =?UTF-8?q?=E7=BA=A6=E5=95=86=E6=88=B7=E8=AE=BE=E7=BD=AE=E7=9A=84=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E6=9C=8D=E5=8A=A1=E5=95=86=E5=88=86=E8=B4=A6=E7=9A=84?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=E6=AF=94=E4=BE=8B=E7=9A=84V3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...fitSharingMerchantMaxRatioQueryResult.java | 27 +++++++++++++++++++ .../wxpay/service/ProfitSharingV3Service.java | 20 +++++++++++++- .../impl/ProfitSharingV3ServiceImpl.java | 8 +++++- 3 files changed, 53 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..ec5ed92d5 --- /dev/null +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/profitsharingV3/ProfitSharingMerchantMaxRatioQueryResult.java @@ -0,0 +1,27 @@ +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 { + private static final long serialVersionUID = -6259241881199571683L; + + /** 子商户号 */ + @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());