From e412760a8e3e823c9b2fad9ed9526a242c9553e8 Mon Sep 17 00:00:00 2001 From: zjiecode Date: Tue, 4 Oct 2022 14:37:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=90=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E8=BD=AC=E8=B4=A6API=E3=80=91=EF=BC=8C?= =?UTF-8?q?=E8=BD=AC=E8=B4=A6=E5=A7=93=E5=90=8D=E4=B8=BA=E7=A9=BA=E6=98=AF?= =?UTF-8?q?=E5=8F=91=E7=94=9FNPE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当付款金额低于0.3元的时候,微信不支持实名验证,因此不能传userName。 不传userName,此处为发生NPE。 --- .../cn/felord/payment/wechat/v3/WechatBatchTransferApi.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatBatchTransferApi.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatBatchTransferApi.java index 886c165..982d9ee 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatBatchTransferApi.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatBatchTransferApi.java @@ -82,8 +82,10 @@ public class WechatBatchTransferApi extends AbstractApi { List encrypted = transferDetailList.stream() .peek(transferDetailListItem -> { String userName = transferDetailListItem.getUserName(); - String encryptedUserName = signatureProvider.encryptRequestMessage(userName, x509Certificate); - transferDetailListItem.setUserName(encryptedUserName); + if(StringUtils.hasText(userName)){ + String encryptedUserName = signatureProvider.encryptRequestMessage(userName, x509Certificate); + transferDetailListItem.setUserName(encryptedUserName); + } String userIdCard = transferDetailListItem.getUserIdCard(); if (StringUtils.hasText(userIdCard)) { String encryptedUserIdCard = signatureProvider.encryptRequestMessage(userIdCard, x509Certificate);