Ce que tu apprends
- Ce que sont les webhooks, pourquoi le polling est le mauvais instinct et comment vérifier les signatures de webhook
- L'idempotence, la proration sur les upgrades en milieu de cycle et coupons versus promotion codes
- L'Embedded Checkout et les pièges de webhook qui attrapent chaque débutant
Vue d'ensemble
En partie 1, vous avez encaissé un paiement. Mais voici la vérité inconfortable : après avoir redirigé un client vers le checkout, votre app ne sait pas vraiment ce qui lui est arrivé. A-t-il payé ? La carte a-t-elle échoué plus tard ? A-t-il annulé le mois suivant ? Deviner, c'est ainsi que les gens offrent le produit gratuitement par accident ou continuent de facturer des clients annulés. La réponse, ce sont les webhooks : Stripe appelle votre app chaque fois qu'il se passe quelque chose, pour que votre app réagisse à la réalité au lieu de deviner. Cette leçon rend votre facturation digne de confiance : webhooks vérifiés, idempotence, proration, coupons, Embedded Checkout et les pièges qui mordent tout le monde la première fois.
Ce que vous allez apprendre
Vous allez apprendre ce qu'est un webhook et pourquoi poller Stripe est le mauvais instinct, comment vérifier une signature de webhook pour que les attaquants ne puissent pas falsifier des events, comment l'idempotence vous empêche de traiter un event dupliqué deux fois, comment la proration gère équitablement un changement de plan en milieu de cycle, la différence entre coupons et promotion codes, comment fonctionne l'Embedded Checkout et les pièges de webhook qui causent le classique échec « ça marchait en test mais a cassé en production ».
Prérequis
Stripe partie 1 et un subscription checkout fonctionnel, plus un backend qui peut recevoir des requêtes HTTP (vos actions Convex ou les routes serveur de votre framework), car un webhook n'est que Stripe qui envoie une requête à votre backend. La leçon sur les secrets aussi, car le webhook signing secret est une autre clé à garder.
Une API est une façon pour deux programmes de se parler. Apprenez ce qu'est une API, comment elle fonctionne et pourquoi elle compte pour construire avec l'IA.
Un fichier .env stocke des secrets comme les clés d'API en dehors de votre code, pour qu'ils ne soient jamais publiés. Apprenez ce que c'est et comment le garder sûr.
JSON, YAML et Markdown sont trois formats en texte brut que vous croisez sans cesse. Apprenez à quoi sert chacun et comment les lire d'un coup d'oeil.
Le problème
L'instinct naïf après le checkout est de poller : demander à Stripe toutes les quelques secondes « ont-ils payé déjà ? ». C'est faux sur tous les axes. Cela gaspille des requêtes, c'est lent, cela rate les events qui arrivent plus tard (un renouvellement le mois prochain, une carte qui échoue dans 30 jours, une annulation) et cela ne passe pas à l'échelle. Pire, se reposer uniquement sur la redirection de l'URL de succès est peu fiable - un client peut payer puis fermer l'onglet avant que la redirection ne se déclenche, et maintenant il a payé mais votre app ne l'a jamais enregistré. Le bon modèle est inversé : ne demandez pas, faites-vous dire. Stripe pousse un event à votre backend à l'instant où quelque chose arrive, et votre app réagit. C'est un webhook, et bien le faire est ce qui rend la facturation digne de confiance.

Commentaires
Chargement des commentaires.
Poster un commentaire