From ee9b799721dc7d652bda8163a11c0134cce99e3d Mon Sep 17 00:00:00 2001 From: RainbowBird Date: Sat, 28 Mar 2026 04:00:14 +0800 Subject: [PATCH] fix(server/stripe): ensure valid fluxAmount check in checkout session processing --- apps/server/src/routes/stripe/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/routes/stripe/index.ts b/apps/server/src/routes/stripe/index.ts index 8f2af6e90..8f2bcf831 100644 --- a/apps/server/src/routes/stripe/index.ts +++ b/apps/server/src/routes/stripe/index.ts @@ -265,7 +265,7 @@ async function handleCheckoutSessionCompleted( // Idempotent flux credit: use fluxCredited flag inside a transaction // to prevent double-crediting on webhook replay const metadataFlux = session.metadata?.fluxAmount - if (session.mode === 'payment' && session.amount_total && metadataFlux) { + if (session.mode === 'payment' && session.amount_total != null && metadataFlux) { const fluxAmount = Number(metadataFlux) if (!Number.isFinite(fluxAmount) || fluxAmount <= 0) { logger.withFields({ userId, sessionId: session.id, metadataFlux }).warn('Invalid fluxAmount in session metadata, skipping credit')