import Stripe from 'stripe'; const stripe = new Stripe(process.env.STRIPE_SECRET_KEY); export default async function handler(req, res) { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type'); if (req.method === 'OPTIONS') return res.status(200).end(); if (req.method !== 'POST') return res.status(405).json({ error: 'Method not allowed' }); try { const { useCase } = req.body; const UC_NAMES = { rupture: 'Rupture & Séparation', solitude: 'Solitude & Isolement', stress: 'Stress & Anxiété', carriere: 'Travail & Carrière' }; const session = await stripe.checkout.sessions.create({ payment_method_types: ['card'], line_items: [{ price_data: { currency: 'eur', product_data: { name: `MonShrink — ${UC_NAMES[useCase] || 'Séance guidée'}`, description: 'Séance de soutien psychologique guidée de 15 minutes. Paiement unique, sans abonnement.', }, unit_amount: 499, // 4,99€ en centimes }, quantity: 1, }], mode: 'payment', success_url: `${req.headers.origin}/seance?uc=${useCase}&session_id={CHECKOUT_SESSION_ID}`, cancel_url: `${req.headers.origin}/`, locale: 'fr', payment_intent_data: { metadata: { useCase } } }); return res.status(200).json({ url: session.url }); } catch (err) { console.error('Stripe error:', err); return res.status(500).json({ error: err.message }); } }