From a020fc52c94ba65200f7f25d7b91b6cac3f09c17 Mon Sep 17 00:00:00 2001 From: erio Date: Sat, 11 Apr 2026 16:30:34 +0800 Subject: [PATCH] fix(payment): pass expires_at for Stripe countdown timer Stripe payment path was setting expiresAt to empty string, causing PaymentStatusPanel to fall back to hardcoded 30-minute default when the popup redirect switches to the waiting view. --- frontend/src/views/user/PaymentView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/user/PaymentView.vue b/frontend/src/views/user/PaymentView.vue index 411798db..5a958097 100644 --- a/frontend/src/views/user/PaymentView.vue +++ b/frontend/src/views/user/PaymentView.vue @@ -537,7 +537,7 @@ async function createOrder(orderAmount: number, orderType: string, planId?: numb if (result.client_secret) { // Stripe: show Payment Element inline (user picks method → confirms → redirect if needed) paymentState.value = { - orderId: result.order_id, qrCode: '', expiresAt: '', + orderId: result.order_id, qrCode: '', expiresAt: result.expires_at || '', paymentType: selectedMethod.value, payUrl: '', clientSecret: result.client_secret, payAmount: result.pay_amount, orderType,