Blog
Bezahlt, aber kein Pro: Wenn der Stripe-Webhook den Plan nicht freischaltet
Der Checkout läuft durch, Stripe meldet „Zahlung erfolgreich“, und dein erster zahlender Kunde landet trotzdem im Free-Plan. In der Vorschau hast du nur die Erfolgsseite gesehen, nicht das, was danach im Backend passiert.
Die üblichen Ursachen:
- Der Webhook zeigt noch auf die Preview-URL statt auf die Live-Domain.
- In Produktion steckt noch das Signing Secret aus dem Testmodus.
- Die App wartet auf checkout.session.completed, abonniert ist aber nur invoice.paid.
- Der Nutzer wird per E-Mail statt per Customer-ID gesucht.
Der Fünf-Minuten-Check: Im Stripe-Dashboard unter Webhooks die letzten Zustellungen öffnen. Steht dort 400 oder 404, liegt der Fehler in deiner App.
Noch sicherer: Lass einen echten Erstnutzer einmal komplett bezahlen.