From cb2eeaf94b20300678dcd7a0771ad647f2968d29 Mon Sep 17 00:00:00 2001 From: xy <455640711@qq.com> Date: Wed, 14 Oct 2026 16:42:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(pay):=20=E4=BC=81=E4=B8=9A=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E5=88=B0=E9=93=B6=E8=A1=8C=E5=8D=A1=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=90=8E=E7=AB=8B=E5=8D=B3=E5=88=A0=E9=99=A4=E4=B8=B4=E6=97=B6?= =?UTF-8?q?=E5=85=AC=E9=92=A5=E6=96=87=E4=BB=B6=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=9C=9F=E9=97=B4=E4=B8=B4=E6=97=B6=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A0=86=E7=A7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/service/impl/EntPayServiceImpl.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java index db464936c7..0adc7b1d4a 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java @@ -89,17 +89,21 @@ public String getPublicKey() throws WxPayException { @Override public EntPayBankResult payBank(EntPayBankRequest request) throws WxPayException { File publicKeyFile = this.buildPublicKeyFile(); - request.setEncBankNo(this.encryptRSA(publicKeyFile, request.getEncBankNo())); - request.setEncTrueName(this.encryptRSA(publicKeyFile, request.getEncTrueName())); - publicKeyFile.deleteOnExit(); - - request.checkAndSign(this.payService.getConfig()); - - String url = this.payService.getPayBaseUrl() + "/mmpaysptrans/pay_bank"; - String responseContent = this.payService.post(url, request.toXML(), true); - EntPayBankResult result = BaseWxPayResult.fromXML(responseContent, EntPayBankResult.class); - result.checkResult(this.payService, request.getSignType(), true); - return result; + try { + request.setEncBankNo(this.encryptRSA(publicKeyFile, request.getEncBankNo())); + request.setEncTrueName(this.encryptRSA(publicKeyFile, request.getEncTrueName())); + + request.checkAndSign(this.payService.getConfig()); + + String url = this.payService.getPayBaseUrl() + "/mmpaysptrans/pay_bank"; + String responseContent = this.payService.post(url, request.toXML(), true); + EntPayBankResult result = BaseWxPayResult.fromXML(responseContent, EntPayBankResult.class); + result.checkResult(this.payService, request.getSignType(), true); + return result; + } finally { + // 使用完毕后立即删除临时公钥文件,避免运行期间临时文件堆积 + publicKeyFile.delete(); + } } @Override