Add ensureStripeConfigured function and improve error handling in wallet routes

This commit is contained in:
2025-12-21 00:16:56 +01:00
parent 50a1631222
commit 20efdb5dc2

View File

@@ -8,8 +8,20 @@ const stripe = new Stripe(process.env.STRIPE_SECRET_KEY || '', {
apiVersion: '2024-06-20' 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) => { router.post('/api/wallet/deposit-intent', authMiddleware, async (req, res) => {
try { try {
if (!ensureStripeConfigured(res)) {
return;
}
const amount = Number(req.body.amount); const amount = Number(req.body.amount);
if (!Number.isFinite(amount) || amount < 50 || amount > 100) { if (!Number.isFinite(amount) || amount < 50 || amount > 100) {
return res.status(400).json({ error: 'A feltoltes 50 es 100 Ft kozott lehet.' }); 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 }); return res.json({ clientSecret: paymentIntent.client_secret, paymentIntentId: paymentIntent.id });
} catch (err) { } 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.' }); return res.status(500).json({ error: 'Nem sikerult letrehozni a fizetest.' });
} }
}); });
router.post('/api/wallet/confirm', authMiddleware, async (req, res) => { router.post('/api/wallet/confirm', authMiddleware, async (req, res) => {
try { try {
if (!ensureStripeConfigured(res)) {
return;
}
const paymentIntentId = req.body.paymentIntentId?.toString(); const paymentIntentId = req.body.paymentIntentId?.toString();
if (!paymentIntentId) { if (!paymentIntentId) {
return res.status(400).json({ error: 'Hianyzo 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; const balance = balanceRows[0]?.balance ?? 0;
return res.json({ status: 'succeeded', balance }); return res.json({ status: 'succeeded', balance });
} catch (err) { } 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.' }); return res.status(500).json({ error: 'Nem sikerult a befizetes ellenorzese.' });
} }
}); });