From ecc011269c6c7690fd43d1f29ccf83b3cad6db98 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Mon, 7 Jul 2025 17:39:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=86=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ycwl/basic/pay/adapter/WxMpPayAdapter.java | 9 ++++++++- .../java/com/ycwl/basic/pay/entity/WxMpPayConfig.java | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/ycwl/basic/pay/adapter/WxMpPayAdapter.java b/src/main/java/com/ycwl/basic/pay/adapter/WxMpPayAdapter.java index c58e0a1..6d7fd9d 100644 --- a/src/main/java/com/ycwl/basic/pay/adapter/WxMpPayAdapter.java +++ b/src/main/java/com/ycwl/basic/pay/adapter/WxMpPayAdapter.java @@ -15,6 +15,7 @@ import com.wechat.pay.java.service.payments.jsapi.model.Payer; import com.wechat.pay.java.service.payments.jsapi.model.PrepayRequest; import com.wechat.pay.java.service.payments.jsapi.model.PrepayResponse; import com.wechat.pay.java.service.payments.jsapi.model.QueryOrderByOutTradeNoRequest; +import com.wechat.pay.java.service.payments.jsapi.model.SettleInfo; import com.wechat.pay.java.service.payments.model.Transaction; import com.wechat.pay.java.service.refund.RefundService; import com.wechat.pay.java.service.refund.model.AmountReq; @@ -77,12 +78,15 @@ public class WxMpPayAdapter implements IPayAdapter { this.config.setWxPublicKey(_config.get("wxPublicKey")); this.config.setWxPublicKeyId(_config.get("wxPublicKeyId")); this.config.setApiV3Key(_config.get("apiV3Key")); + if (_config.containsKey("enableProfitSharing")) { + this.config.setEnableProfitSharing(_config.get("enableProfitSharing").equals("true")); + } } } private Config clientConfig; - private Config getConfig() { + public Config getConfig() { if (clientConfig == null) { if (StringUtils.isNotBlank(config.getWxPublicKeyId())) { clientConfig = new RSAPublicKeyConfig.Builder() @@ -126,6 +130,9 @@ public class WxMpPayAdapter implements IPayAdapter { Payer payer = new Payer(); payer.setOpenid(request.getUserIdentify()); prepayRequest.setPayer(payer); + SettleInfo settleInfo = new SettleInfo(); + settleInfo.setProfitSharing(config.isEnableProfitSharing()); + prepayRequest.setSettleInfo(settleInfo); PrepayResponse response = service.prepay(prepayRequest); resp.setSuccess(true); resp.setSkipPay(false); diff --git a/src/main/java/com/ycwl/basic/pay/entity/WxMpPayConfig.java b/src/main/java/com/ycwl/basic/pay/entity/WxMpPayConfig.java index 600fabc..5bb75c3 100644 --- a/src/main/java/com/ycwl/basic/pay/entity/WxMpPayConfig.java +++ b/src/main/java/com/ycwl/basic/pay/entity/WxMpPayConfig.java @@ -11,4 +11,5 @@ public class WxMpPayConfig { private String wxPublicKeyId; private String serialNumber; private String apiV3Key; + private boolean enableProfitSharing; }