Stripe-webhooken svarar 200 men inget händer
Webhooken tar emot eventet och svarar 200, men min databas uppdateras aldrig. Test- vs live-nycklar? Fel event-typ? Beloppet i ören?
Webhooken tar emot eventet och svarar 200, men min databas uppdateras aldrig. Test- vs live-nycklar? Fel event-typ? Beloppet i ören?
Första frågan: verifierar du webhook-signaturen med `stripe.webhooks.constructEvent(body, signature, secret)`? Om signaturen misslyckas och det kastas i en tyst catch-block returnerar du 200 men din handler-kod körs aldrig.
Kör `stripe listen --forward-to localhost:3000/api/webhook` med Stripe CLI och kolla exakt vilket event-typ som skickas. Vanligaste misstaget: du lyssnar på `payment_intent.succeeded` men Stripe skickar `checkout.session.completed` beroende på vilket flöde du använder.
Klassisk Next.js-fälla: du läser `req.body` men Next.js parsar den som JSON automatiskt. Stripe-signaturen kräver raw body bytes, inte parsad JSON. Lägg till `export const config = { api: { bodyParser: false } }` i din API-route och läs body manuellt.
Logga in för att hjälpa andra byggare.
Kört fast i något eget? Fråga communityn.
Beskriv vad du försöker göra och vad som gick fel — någon har troligen stött på samma sak.