From 538f17f60e5b1ebfe746ec11654d4fe65ae402f7 Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Sun, 5 Jul 2026 21:32:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(channel):=20=E5=85=B3=E5=8D=95=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=94=B9=E5=8F=96=E8=87=AA=E8=AE=A2=E5=8D=95,?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=A2=E6=88=B7=E7=AB=AF=E4=B8=8D=E4=BC=A0?= =?UTF-8?q?=E6=97=B6=E9=80=9A=E9=81=93=E4=BE=A7=E4=B8=BAnull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 微信/支付宝 PayService 原用 payParam.getExpiredTime()(客户端原始入参,可能为 null), 客户端不传 expiredTime(走默认30分钟)时子应用收不到关单时间。改用 order.getExpiredTime()(createOrder 已兜底默认30分钟), 与平台超时关单延时消息同源一致。 --- .../channel/alipay/service/payment/pay/AlipayPayService.java | 4 ++-- .../wechat/service/payment/isv/WechatIsvPayService.java | 3 ++- .../channel/wechat/service/payment/pay/WechatPayService.java | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/cn/daxpay/open/channel/alipay/service/payment/pay/AlipayPayService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/cn/daxpay/open/channel/alipay/service/payment/pay/AlipayPayService.java index 4bdde4b7b..ab7c34ecb 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/cn/daxpay/open/channel/alipay/service/payment/pay/AlipayPayService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/cn/daxpay/open/channel/alipay/service/payment/pay/AlipayPayService.java @@ -54,8 +54,8 @@ public class AlipayPayService { req.setOpenId(payParam.getOpenId()); // 通道通知地址: 始终使用平台生成的回调地址(支付宝→平台), 不使用 payParam.notifyUrl(语义为平台→商户) req.setNotifyUrl(this.buildNotifyUrl(order)); - // 关单时间透传, 子应用据此向支付宝设置 time_expire - req.setExpireTime(payParam.getExpiredTime()); + // 关单时间取自订单(createOrder 已对 null 兜底默认30分钟), 子应用据此向支付宝设置 time_expire + req.setExpireTime(order.getExpiredTime()); req.setCredential(credential); // 调用子应用 diff --git a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/isv/WechatIsvPayService.java b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/isv/WechatIsvPayService.java index 3c214a4b7..792b2faa4 100644 --- a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/isv/WechatIsvPayService.java +++ b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/isv/WechatIsvPayService.java @@ -55,7 +55,8 @@ public class WechatIsvPayService { req.setOpenId(payParam.getOpenId()); req.setAttach(payParam.getAttach()); req.setNotifyUrl(this.buildNotifyUrl(order)); - req.setExpireTime(payParam.getExpiredTime()); + // 关单时间取自订单(createOrder 已对 null 兜底默认30分钟), 不用 payParam 原始入参 + req.setExpireTime(order.getExpiredTime()); if (req.getMethod() == WechatPayMethod.H5) { req.setWapUrl(payParam.getReturnUrl()); req.setWapName(payParam.getTitle()); diff --git a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/pay/WechatPayService.java b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/pay/WechatPayService.java index 326c01ad3..528ca59e5 100644 --- a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/pay/WechatPayService.java +++ b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/payment/pay/WechatPayService.java @@ -55,7 +55,8 @@ public class WechatPayService { req.setAttach(payParam.getAttach()); // 通道通知地址: 始终使用平台生成的回调地址(微信→平台), 不使用 payParam.notifyUrl(语义为平台→商户) req.setNotifyUrl(this.buildNotifyUrl(order)); - req.setExpireTime(payParam.getExpiredTime()); + // 关单时间取自订单(createOrder 已对 null 兜底默认30分钟), 不用 payParam 原始入参 + req.setExpireTime(order.getExpiredTime()); // H5 场景信息(场景参数) if (req.getMethod() == WechatPayMethod.H5) { req.setWapUrl(payParam.getReturnUrl());