From 399f3648c0615c2746aee0edcc19e4adf7257207 Mon Sep 17 00:00:00 2001 From: ihao <13112651622@163.com> Date: Mon, 22 Sep 2025 16:57:50 +0000 Subject: [PATCH] =?UTF-8?q?:art:=E3=80=90=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E3=80=91=E5=85=AC=E4=BC=97=E5=8F=B7=E7=AD=BE=E7=BA=A6?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E6=89=A7=E8=A1=8C=E7=AD=BE=E5=90=8D=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=9D=9E=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=88=A4=E6=96=AD=EF=BC=9B=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E4=BF=A1h5=E7=BA=AF=E7=AD=BE=E7=BA=A6=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=9D=9E=E5=BF=85=E5=A1=AB=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/service/impl/WxEntrustPapServiceImpl.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java index b70a7dee3..05e6f0474 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java @@ -27,15 +27,21 @@ public class WxEntrustPapServiceImpl implements WxEntrustPapService { @Override public String mpSign(WxMpEntrustRequest wxMpEntrustRequest) throws WxPayException { + wxMpEntrustRequest.checkAndSign(payService.getConfig()); StringBuilder signStrTemp = new StringBuilder(payService.getPayBaseUrl() + "/papay/entrustweb"); signStrTemp.append("?appid=").append(wxMpEntrustRequest.getAppid()); signStrTemp.append("&contract_code=").append(wxMpEntrustRequest.getContractCode()); signStrTemp.append("&contract_display_account=").append(URLEncoder.encode(wxMpEntrustRequest.getContractDisplayAccount())); signStrTemp.append("&mch_id=").append(wxMpEntrustRequest.getMchId()).append("¬ify_url=").append(URLEncoder.encode(wxMpEntrustRequest.getNotifyUrl())); - signStrTemp.append("&plan_id=").append(wxMpEntrustRequest.getPlanId()).append("&outerid=").append(URLEncoder.encode(wxMpEntrustRequest.getOuterId())); + signStrTemp.append("&plan_id=").append(wxMpEntrustRequest.getPlanId()); signStrTemp.append("&request_serial=").append(wxMpEntrustRequest.getRequestSerial()).append("×tamp=").append(wxMpEntrustRequest.getTimestamp()); - signStrTemp.append("&version=").append(wxMpEntrustRequest.getVersion()).append("&return_web=").append(wxMpEntrustRequest.getReturnWeb()).append("&sign=").append(wxMpEntrustRequest.getSign()); - + if (StringUtils.isNotEmpty(wxMpEntrustRequest.getReturnWeb())) { + signStrTemp.append("&return_web=").append(wxMpEntrustRequest.getReturnWeb()); + } + if (StringUtils.isNotEmpty(wxMpEntrustRequest.getOuterId())) { + signStrTemp.append("&outerid=").append(URLEncoder.encode(wxMpEntrustRequest.getOuterId())); + } + signStrTemp.append("&version=").append(wxMpEntrustRequest.getVersion()).append("&sign=").append(wxMpEntrustRequest.getSign()); return signStrTemp.toString(); }