Was du lernst
- Was Webhooks sind, warum Polling der falsche Instinkt ist und wie du Webhook-Signaturen verifizierst
- Idempotenz, Proration bei Upgrades mitten im Zyklus und Coupons versus Promotion Codes
- Embedded Checkout und die Webhook-Gotchas, die jeden Einsteiger erwischen
Überblick
In Teil 1 hast du eine Zahlung entgegengenommen. Aber hier ist die unbequeme Wahrheit: nachdem du einen Kunden zum Checkout umgeleitet hast, weiss deine App eigentlich nicht, was mit ihm passiert ist. Hat er gezahlt? Ist die Karte später fehlgeschlagen? Hat er nächsten Monat gekündigt? Zu raten ist, wie Leute das Produkt versehentlich gratis verschenken oder gekündigte Kunden weiter belasten. Die Antwort sind Webhooks: Stripe ruft deine App, wann immer etwas passiert, sodass deine App auf die Realität reagiert statt zu raten. Diese Lektion macht dein Billing vertrauenswürdig: verifizierte Webhooks, Idempotenz, Proration, Coupons, Embedded Checkout und die Gotchas, die jeden beim ersten Mal beissen.
Was du lernst
Du lernst, was ein Webhook ist und warum es der falsche Instinkt ist, Stripe zu pollen, wie du eine Webhook-Signatur verifizierst, sodass Angreifer keine Events fälschen können, wie Idempotenz dich davon abhält, ein dupliziertes Event doppelt zu verarbeiten, wie Proration eine Planänderung mitten im Zyklus fair handhabt, den Unterschied zwischen Coupons und Promotion Codes, wie Embedded Checkout funktioniert und die Webhook-Gotchas, die den klassischen "es funktionierte im Test, aber brach in Produktion"-Fehlschlag verursachen.
Voraussetzungen
Stripe Teil 1 und ein funktionierender Subscription-Checkout, plus ein Backend, das HTTP-Requests empfangen kann (deine Convex-Actions oder die Server-Routen deines Frameworks), denn ein Webhook ist einfach Stripe, das einen Request an dein Backend schickt. Die Secrets-Lektion auch, denn das Webhook-Signing-Secret ist ein weiterer Key, den es zu bewachen gilt.
Eine API ist eine Art, wie zwei Programme miteinander reden. Lerne, was eine API ist, wie sie funktioniert und warum sie für das Bauen mit KI zählt.
Eine .env-Datei speichert Secrets wie API Keys ausserhalb deines Codes, damit sie nie veröffentlicht werden. Lerne, was sie ist und wie du sie sicher hältst.
JSON, YAML und Markdown sind drei Klartext-Formate, denen du ständig begegnest. Lerne, wofür jedes da ist und wie du sie auf einen Blick liest.
Das Problem
Der naive Instinkt nach dem Checkout ist zu pollen: alle paar Sekunden Stripe fragen "haben sie schon gezahlt?". Das ist auf jeder Achse falsch. Es verschwendet Requests, es ist langsam, es verpasst Events, die später passieren (eine Verlängerung nächsten Monat, eine Karte, die in 30 Tagen fehlschlägt, eine Kündigung), und es skaliert nicht. Schlimmer, sich allein auf die Erfolgs-URL-Umleitung zu verlassen ist unzuverlässig - ein Kunde kann zahlen und dann den Tab schliessen, bevor die Umleitung feuert, und jetzt hat er gezahlt, aber deine App hat es nie aufgezeichnet. Das richtige Modell ist umgekehrt: frag nicht, lass dir sagen. Stripe pusht ein Event an dein Backend in dem Moment, in dem etwas passiert, und deine App reagiert. Das ist ein Webhook, und ihn richtig hinzubekommen ist, was Billing vertrauenswürdig macht.

Kommentare
Kommentare werden geladen.
Kommentar schreiben