From 62eaf468fb61181eb4c57505d406979b76e18e89 Mon Sep 17 00:00:00 2001 From: xucun Date: Wed, 11 Jun 2025 19:02:01 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/wechat/v3/SignatureProvider.java | 14 ++++++-------- .../payment/wechat/v3/WeChatPublicKeyInfo.java | 2 -- .../payment/wechat/v3/WechatDirectPayApi.java | 6 ++++++ .../felord/payment/wechat/v3/WechatPayClient.java | 2 -- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java index 9b1c573..98c3058 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/SignatureProvider.java @@ -186,10 +186,7 @@ public class SignatureProvider { * @return the boolean */ public boolean responseSignVerify(ResponseSignVerifyParams params) { - - log.debug("responseSignVerify: {}", params); log.debug("wechatpaySerial: {}", params.getWechatpaySerial()); - boolean verifyResult= params.getWechatpaySerial().startsWith(PUBLIC_KYE_ID_PREFIX)? responseSignVerifyWithWeChatPublicKeyInfo(params): responseSignVerifyWithX509WechatCertificate(params); @@ -197,10 +194,12 @@ public class SignatureProvider { return verifyResult; } + /*** + *通过平台证书进行验签 + */ private boolean responseSignVerifyWithX509WechatCertificate(ResponseSignVerifyParams params){ log.debug("responseSignVerifyWithX509WechatCertificate: {}", params); String wechatpaySerial = params.getWechatpaySerial(); - X509WechatCertificateInfo certificate = CERTIFICATE_SET.stream() .filter(cert -> Objects.equals(wechatpaySerial, cert.getWechatPaySerial())) .findAny() @@ -223,13 +222,12 @@ public class SignatureProvider { } } + /*** + *通过微信支付公钥进行验签 + */ private boolean responseSignVerifyWithWeChatPublicKeyInfo(ResponseSignVerifyParams params){ log.debug("responseSignVerifyWithWeChatPublicKeyInfo: {}", params); - String wechatpaySerial = params.getWechatpaySerial(); - - log.debug("wechatpaySerial: {}", wechatpaySerial); - if (wechatpaySerial.startsWith(PUBLIC_KYE_ID_PREFIX)){ WeChatPublicKeyInfo info = PUBLIC_KEY_SET.stream() .filter(key -> Objects.equals(wechatpaySerial, key.getPublicKeyId())) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WeChatPublicKeyInfo.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WeChatPublicKeyInfo.java index 128038d..73b347e 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WeChatPublicKeyInfo.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WeChatPublicKeyInfo.java @@ -14,11 +14,9 @@ public class WeChatPublicKeyInfo { private String tenantId; public WeChatPublicKeyInfo(RSAPublicKey publicKey, String publicKeyId, String tenantId) { - this.publicKeyId = publicKeyId; this.tenantId = tenantId; this.publicKey = publicKey; - } public WeChatPublicKeyInfo() { diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatDirectPayApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatDirectPayApi.java index fb53076..2c4cbdc 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatDirectPayApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatDirectPayApi.java @@ -56,6 +56,12 @@ public class WechatDirectPayApi extends AbstractApi { super(wechatPayClient, tenantId); } + /** + * 付款码支付API + * + * @param payParams the pay params + * @return the wechat response entity + */ public WechatResponseEntity codePay(PayParams payParams) { WechatResponseEntity wechatResponseEntity = new WechatResponseEntity<>(); this.client().withType(WechatPayV3Type.CODE, payParams) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayClient.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayClient.java index 1bc3f90..61212d6 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayClient.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayClient.java @@ -224,8 +224,6 @@ public class WechatPayClient { String tenantId = Objects.requireNonNull(headers.get("Pay-TenantId")).get(0); String authorization = signatureProvider.requestSign(tenantId, httpMethod.name(), canonicalUrl, body); - - HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.addAll(headers); httpHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));