From 20efdb5dc2b452cdf0ae4f544b29a233ad15e649 Mon Sep 17 00:00:00 2001 From: b3ni15 Date: Sun, 21 Dec 2025 00:16:56 +0100 Subject: [PATCH] Add ensureStripeConfigured function and improve error handling in wallet routes --- src/routes/wallet.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/routes/wallet.js b/src/routes/wallet.js index 5625fff..7e1e990 100644 --- a/src/routes/wallet.js +++ b/src/routes/wallet.js @@ -8,8 +8,20 @@ const stripe = new Stripe(process.env.STRIPE_SECRET_KEY || '', { apiVersion: '2024-06-20' }); +function ensureStripeConfigured(res) { + if (!process.env.STRIPE_SECRET_KEY) { + res.status(500).json({ error: 'Stripe nincs beallitva.' }); + return false; + } + return true; +} + router.post('/api/wallet/deposit-intent', authMiddleware, async (req, res) => { try { + if (!ensureStripeConfigured(res)) { + return; + } + const amount = Number(req.body.amount); if (!Number.isFinite(amount) || amount < 50 || amount > 100) { return res.status(400).json({ error: 'A feltoltes 50 es 100 Ft kozott lehet.' }); @@ -31,12 +43,20 @@ router.post('/api/wallet/deposit-intent', authMiddleware, async (req, res) => { return res.json({ clientSecret: paymentIntent.client_secret, paymentIntentId: paymentIntent.id }); } catch (err) { + console.error('Stripe fizetes hiba:', err); + if (process.env.NODE_ENV !== 'production') { + return res.status(500).json({ error: err.message || 'Nem sikerult letrehozni a fizetest.' }); + } return res.status(500).json({ error: 'Nem sikerult letrehozni a fizetest.' }); } }); router.post('/api/wallet/confirm', authMiddleware, async (req, res) => { try { + if (!ensureStripeConfigured(res)) { + return; + } + const paymentIntentId = req.body.paymentIntentId?.toString(); if (!paymentIntentId) { return res.status(400).json({ error: 'Hianyzo paymentIntentId.' }); @@ -68,6 +88,10 @@ router.post('/api/wallet/confirm', authMiddleware, async (req, res) => { const balance = balanceRows[0]?.balance ?? 0; return res.json({ status: 'succeeded', balance }); } catch (err) { + console.error('Stripe confirm hiba:', err); + if (process.env.NODE_ENV !== 'production') { + return res.status(500).json({ error: err.message || 'Nem sikerult a befizetes ellenorzese.' }); + } return res.status(500).json({ error: 'Nem sikerult a befizetes ellenorzese.' }); } });