Tests de facturation

Validez Stripe Checkout, les abonnements, les webhooks et le comportement SaaS de facturation avant le lancement.

Starter ProMise à jour 7 juin 2026
Starter ProTests de facturation

Valider la facturation avant le lancementLien vers la section

Les systèmes de facturation nécessitent plus que l'interface de paiement.

Starter Pro comprend des fondations de facturation adaptées à la production conçues pour valider:

  • Comportement de paiement
  • Webhook Synchronisation
  • cycle de vie de l'abonnement
  • accès au produit plan-conscient
  • navigation de facturation-consciente
  • protection de la route premium

Valider la monétisation avant le lancement.

Réduisez les problèmes d'incohérence de facturation, de dérive de webhook et d'accès à l'abonnement avant l'expédition.
Billing system

Paiement unique — Accès instantané après achat

Principe de base

Les redirections sont UX. Webhooks sont la vérité de facturation.

Pourquoi les tests de facturation sont importantsLien vers la section

Les systèmes de facturation sont des systèmes d'État distribués.

Une redirection réussie ne garantit pas un état d'abonnement synchronisé.

Le frontend peut avoir l'air correct alors que l'état du backend est toujours erroné :

  • Le checkout peut être complet
  • l'utilisateur peut revenir à l'application
  • L'abonnement ne peut pas être synchronisé
  • accès premium peut rester verrouillé
  • Le traitement du webhook peut échouer silencieusement
  • état de facturation peut dériver de Stripe

C'est pourquoi la facturation doit être testée comme un cycle de vie, pas comme un bouton.

billing-lifecycle.txt
Checkout
  ↓
Stripe
  ↓
Webhook verification
  ↓
Subscription sync
  ↓
Application billing state
  ↓
Plan-aware access
  ↓
Protected product routes

Aperçu de la production

Les bugs de facturation les plus dangereux apparaissent souvent après le paiement. Validez le chemin de synchronisation d'état, pas seulement la page de paiement.

Modèle mental de facturationLien vers la section

Checkout démarre le flux

Checkout creates payment intent and subscription intent. It does not prove your application state is already synchronized.

Checkout sessionSuccess URLCancel URL

Zones de validation de facturationLien vers la section

Stripe Checkout

Validez la création de session, les redirections réussies, annulez les redirections et le mappage client en toute sécurité.

Synchronisation Webhook

Confirmez que les événements Stripe synchronisent correctement l'abonnement, la facture et l'état du client.

Cycle de vie des abonnements

Valider les états de paiement actifs, d'essai, annulés, en souffrance et échoués.

Accès protégé

Validez l'accès aux produits premium, la navigation basée sur la facturation et le blocage côté serveur.

Stripe CLILien vers la section

Utilisez Stripe CLI pour transférer des événements Webhook locaux vers Starter Pro.

stripe-cli.sh
stripe listen --forward-to localhost:3000/api/webhooks/stripe

Puis configurez le secret webhook dans .env.local.

.env.local
STRIPE_WEBHOOK_SECRET=whsec_xxxxx

Règle de Webhook

Si le secret du webhook est erroné, la synchronisation de facturation devrait échouer en toute sécurité. Ne contournez pas la vérification de webhook pendant le développement.

Démarrez l'application localeLien vers la section

pnpm dev

Démarrer Stripe webhook forwardingLien vers la section

stripe listen --forward-to localhost:3000/api/webhooks/stripe

Démarrez le flux de mise à niveauLien vers la section

Déclenchez le paiement à partir de la tarification, de la facturation ou d'un CTA de mise à niveau.

Compléter le paiement en mode testLien vers la section

Utilisez une carte de test Stripe et revenez à l'application.

Confirmer la synchronisation webhookLien vers la section

Validez que l'état de l'abonnement a été synchronisé dans votre base de données et reflété dans les routes protégées.

Valider le comportement d'accèsLien vers la section

Vérifiez que les surfaces premium se comportent correctement après les changements d'état de l'abonnement.

Checkout

Flux de mise à niveau

Validez le cycle de vie complet de la mise à niveau et de la redirection.
  • Création de la session Checkout
  • Redirection réussie
  • Annuler la redirection
  • association des comptes aux clients Stripe
  • prix points d'entrée
Webhooks

Synchronisation des abonnements

Valider la vérité du webhook et la synchronisation du backend.
  • abonnement créé
  • abonnement mis à jour
  • Paiement réussi
  • paiement échoué
  • Traitement idempotent
Accès

Comportement adapté à l’offre

Validez que l'accès au produit suit l'état de facturation synchronisé.
  • Accès Premium Route
  • mise à niveau rediriger
  • État de la page de facturation
  • Contrôles côté serveur
État

Couverture du cycle de vie

Validez plus que le chemin heureux avant le lancement.
  • procès
  • actif
  • Passé dû
  • Annulé

Carte de test StripeLien vers la section

stripe-test-card.txt
4242 4242 4242 4242

Utiliser:

  • toute date d'expiration future
  • tout CVC
  • n'importe quel code postal

Erreurs de production courantesLien vers la section

Validation Redirigée uniquement

En supposant qu’une redirection réussie prouve que l’état de l’abonnement a été synchronisé.

Contrôles d'accès client uniquement

Protéger l'accès premium uniquement dans le frontend au lieu de la logique vérifiable par le serveur.

Modes Mixed Stripe

Utiliser des clés API de test avec des identifiants de produit ou de prix en direct, ou l'inverse.

Raccourcis Webhook

Sauter la vérification de signature de webhook ou ignorer le comportement de réessayer.

Préférez/évitezLien vers la section

Préférez

  • valider la facturation de bout en bout
  • Traiter les webhooks comme des vérités
  • État du cycle de vie de l'abonnement de test
  • protéger les routes premium côté serveur
  • Confirmer l'état de facturation dans la base de données

Éviter

  • Déverrouiller l'accès uniquement à partir des redirections
  • Tester uniquement la page de tarification
  • sauter la vérification de webhook
  • mélange de Stripe test et live IDs
  • hardcoding accès premium pendant les tests

Questions courantesLien vers la section