From 98e131ae3f2e4c30930fbb35574e53924c7cc5a1 Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Sun, 5 Jul 2026 19:18:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(alipay):=20=E4=B8=BB=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E9=80=8F=E4=BC=A0=E5=85=B3=E5=8D=95=E6=97=B6=E9=97=B4=E7=BB=99?= =?UTF-8?q?=E5=AD=90=E5=BA=94=E7=94=A8=20+=20=E6=B8=85=E7=90=86=20NormalPa?= =?UTF-8?q?yParam=20=E5=86=97=E4=BD=99=20@JsonFormat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AlipayPayService 补 setExpireTime(payParam.getExpiredTime()), 与微信通道对齐; NormalPayParam 移除被全局 DaxpayOffsetDateTimeDeserializer 覆盖的 @JsonFormat 并补注释说明。 --- .../channel/alipay/service/payment/pay/AlipayPayService.java | 2 ++ .../open/payment/unipay/param/trade/pay/NormalPayParam.java | 4 ++-- 2 files changed, 4 insertions(+), 2 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 0e101df3a..4bdde4b7b 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,6 +54,8 @@ public class AlipayPayService { req.setOpenId(payParam.getOpenId()); // 通道通知地址: 始终使用平台生成的回调地址(支付宝→平台), 不使用 payParam.notifyUrl(语义为平台→商户) req.setNotifyUrl(this.buildNotifyUrl(order)); + // 关单时间透传, 子应用据此向支付宝设置 time_expire + req.setExpireTime(payParam.getExpiredTime()); req.setCredential(credential); // 调用子应用 diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/unipay/param/trade/pay/NormalPayParam.java b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/unipay/param/trade/pay/NormalPayParam.java index 41e4bcc4a..85317480a 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/unipay/param/trade/pay/NormalPayParam.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/unipay/param/trade/pay/NormalPayParam.java @@ -4,7 +4,6 @@ import cn.daxpay.open.platform.core.enums.pay.channel.ProductEnum; import cn.daxpay.open.platform.core.enums.pay.channel.PayMethodEnum; import cn.daxpay.open.payment.unipay.param.MerchantPaymentCommonParam; import jakarta.validation.Valid; -import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.*; @@ -119,8 +118,9 @@ public class NormalPayParam extends MerchantPaymentCommonParam { // ===== 时间 ===== /// 过期时间(北京时间,格式 yyyy-MM-dd HH:mm:ss,空则默认 30 分钟) + /// 注: 实际反序列化由全局 DaxpayOffsetDateTimeDeserializer 处理(按 Asia/Shanghai 解析后转 UTC), + /// 此处不标 @JsonFormat 以免误导(注解会被全局反序列化器覆盖) @Schema(description = "过期时间(北京时间,yyyy-MM-dd HH:mm:ss)") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private OffsetDateTime expiredTime; // ===== 终端信息(线下场景选填)=====