Add ensureStripeConfigured function and improve error handling in wallet routes
This commit is contained in:
@@ -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.' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user