Facturation (PRO)
Configurez Stripe Checkout, les abonnements, les factures et les droits d’accès de votre SaaS avec Starter Pro.
Une facturation pour commercialiser votre produitLien vers la section
Starter Free fournit les écrans de tarification et de facturation.
Starter Pro fournit les fondations d’une intégration Stripe réelle :
- Stripe Checkout
- portail de facturation en libre-service
- association des comptes aux clients Stripe
- cycle de vie de l'abonnement
- synchronisation par webhooks
- suivi des factures
- droits d’accès selon l’offre
Ces fondations couvrent le fonctionnement de la facturation au-delà de la page de tarifs.
Elles permettent à votre SaaS d’accepter des paiements et de gérer les accès qui en dépendent.
Connectez les tarifs aux paiements.
Paiement unique — Accès instantané après achat
Principe
La facturation comprend le statut des paiements, le lien entre un compte et son client Stripe, la synchronisation par webhooks et les droits d’accès au produit.
Les besoins couvertsLien vers la section
Intégrer Stripe ne se limite pas à ajouter un bouton de paiement.
Une intégration de facturation SaaS doit couvrir :
- création de sessions de paiement
- association entre utilisateur et client Stripe
- gestion du statut des abonnements
- vérification des webhooks
- suivi des factures
- accès au portail de facturation
- Comportement du produit selon l’offre
- gestion des échecs de paiement
- comportement d'annulation
Starter Pro structure ces responsabilités pour vous permettre de les adapter à votre produit sans repartir de zéro.
Fondations inclusesLien vers la section
Stripe Checkout
Synchronisation par webhooks
Factures et abonnements
Accès selon l’offre
Cycle de vie de la facturationLien vers la section
L’utilisateur choisit une offreLien vers la section
L’utilisateur demande une mise à niveau depuis les tarifs, la facturation ou une fonctionnalité réservée à une offre supérieure.
/pricing
/billing
/protected-featureLe backend crée la session CheckoutLien vers la section
Le navigateur demande une session à votre serveur. Celui-ci crée la session Checkout avec les clés Stripe conservées côté serveur.
const session = await stripe.checkout.sessions.create({
customer: stripeCustomerId,
mode: "subscription",
line_items: [{ price: priceId, quantity: 1 }],
success_url: `${appUrl}/billing?success=true`,
cancel_url: `${appUrl}/pricing?canceled=true`,
});Stripe confirme le paiementLien vers la section
Stripe traite le paiement, crée l’abonnement et gère la facturation du client.
Une redirection vers la page de confirmation ne suffit pas à prouver que le paiement a réussi.
Le webhook synchronise l’applicationLien vers la section
Les webhooks permettent au serveur de confirmer les événements survenus chez Stripe, puis de mettre à jour la base de données.
checkout.session.completed
customer.subscription.created
customer.subscription.updated
customer.subscription.deleted
invoice.payment_succeeded
invoice.payment_failedL'application reflète l'état de facturationLien vers la section
Les droits d’accès, la page de facturation et l’historique des factures doivent s’appuyer sur l’état synchronisé côté serveur.
Règle de production
Les redirections guident l’utilisateur. Les webhooks permettent de confirmer et de synchroniser les événements de facturation.
Flux de facturationLien vers la section
Checkout ouvre le parcours de paiement
- le bouton de souscription demande une session au serveur
- Stripe Checkout gère le paiement
- les URL de confirmation et d’annulation ramènent l’utilisateur dans l’application
- le webhook confirme le statut réel du paiement
Le portail accompagne les clients existants
- mise à jour des moyens de paiement
- accès aux factures
- gestion des abonnements
- annulation de l’abonnement
- changement d’offre
Les webhooks synchronisent les événements
- Gestion des événements Stripe
- État de l'abonnement
- État de la facture
- traitement idempotent des événements
Des droits d’accès selon l’offre
- Restreindre les fonctionnalités selon l’offre
- vérification du statut de l'abonnement
- gestion des impayés et des annulations
- écrans tenant compte du statut de facturation
Starter Free et Starter ProLien vers la section
| Capacité | Starter Free | Starter Pro |
|---|---|---|
| Page de tarifs | Inclus | Inclus |
| Interface de facturation | Simulée | Connectée au serveur |
| Stripe Checkout | Non inclus | Inclus |
| Portail de facturation | Interface uniquement | Inclus |
| Association des comptes aux clients Stripe | Non inclus | Fondation incluse |
| Cycle de vie des abonnements | Simulée | Synchronisation réelle |
| Webhooks | Non inclus | Fondation incluse |
| Suivi des factures | Simulée | Suivi prévu |
| Accès selon l’offre | Conceptuel | Fondation incluse |
| Préparation à la monétisation | Démo uniquement | Orienté vers la production |
Une distinction simple
Starter Free simule la monétisation. Starter Pro vous donne la couche de facturation nécessaire pour facturer les clients.
ArchitectureLien vers la section
Responsabilités du modèle de donnéesLien vers la section
Votre application doit pouvoir représenter le client Stripe, son abonnement et le statut de ses paiements.
Les principales responsabilités sont les suivantes :
| Zone | Objet |
|---|---|
| Client | Associe les comptes de l’application aux clients Stripe |
| Produit | Représente les produits SaaS vendables |
| Prix | Représente les prix Stripe et les offres commerciales |
| Abonnement | Suivi de l'état actuel de l'abonnement |
| Facture | Stocke les références de facture et l'état de paiement |
| WebhookEvent | Traite les événements Stripe pour plus de fiabilité |
Pourquoi cela compte
Stripe traite les paiements. Votre application doit conserver un état synchronisé pour appliquer les droits d’accès et afficher des informations de facturation cohérentes.
Contrôler l’accès selon l’offreLien vers la section
Les informations de facturation permettent d’appliquer les règles d’accès du produit.
Starter Pro fournit les bases pour mettre en œuvre :
- des accès gratuits et payants
- des fonctionnalités activées selon l’offre
- vérification du statut de l'abonnement
- des paramètres tenant compte de la facturation
- invites de mise à niveau
- comportement d'annulation
- des messages en cas d’échec de paiement
export function canAccessProFeature(subscriptionStatus: string) {
return subscriptionStatus === "active" || subscriptionStatus === "trialing";
}Centralisez les règles de chaque offre et vérifiez-les côté serveur.
Règles de sécuritéLien vers la section
Utilisez ces règles lors de l'adaptation de la couche de facturation.
Préférez
- créer des sessions Stripe sur le serveur
- vérifier la signature des webhooks
- s’appuyer sur les événements Stripe vérifiés pour synchroniser la facturation
- maintenir le statut de l’abonnement à jour
- vérifier l'accès côté serveur pour les fonctionnalités sensibles
Éviter
- Appeler les API secrètes de Stripe depuis le navigateur
- accorder un accès sur la seule base d’une redirection
- ignorer la vérification des webhooks
- disperser les contrôles d’offre dans les composants d’interface
- Utiliser des messages d'erreur de facturation vagues
Choisir votre point de départLien vers la section
Passer à Starter Pro pour connecter les paiements
- vous souhaitez facturer les utilisateurs
- Stripe Checkout doit fonctionner
- l'état de l'abonnement contrôle l'accès
- historique de facturation
- synchronisation de l’état par webhooks
- validation de la facturation avant le lancement
Rester sur Free pour explorer les parcours
- vous explorez les écrans de tarification
- la facturation reste simulée
- vous n’encaissez pas encore de paiements
- votre produit n'est pas prêt à être monétisé
Connectez la facturation au bon moment
Starter Free vous aide à façonner la monétisation. Starter Pro vous donne la couche de facturation nécessaire pour facturer les clients.
Vérifications de l’intégrationLien vers la section
Avant de traiter la facturation comme étant prête pour le lancement, validez :
- création de sessions de paiement
- retour après un paiement réussi
- retour après une annulation
- association des comptes aux clients Stripe
- création de session du portail de facturation
- vérification de signature webhook
- événement de création d’abonnement
- événement de modification d’abonnement
- annulation d’abonnement
- événement de paiement de facture réussi
- événement d’échec de paiement d’une facture
- logique d'accès selon l’offre
- État de la page de facturation
- messages d’erreur de facturation destinés à l’utilisateur
Principe de validation
Ne faites pas confiance à la facturation tant que vous n'avez pas validé le cycle de vie complet : paiement, webhook, synchronisation de la base de données et accès au produit.
Questions fréquentesLien vers la section
Reliez vos écrans de tarifs à une facturation réelle.
Paiement unique — Accès instantané après achat