Facturation
Ce que Stripe facture et quand, pourquoi votre renouvellement tombe à votre date anniversaire et non le 1er, comment les taxes sont gérées, et où changer de plan ou résilier.
La facturation repose sur Stripe. Les plans et leurs prix sont dans Plans et limites, la mécanique des crédits dans Crédits et mesure. Cette page décrit la tuyauterie financière autour des deux.
La facturation de votre organisation se trouve sur /<org>/~/billing.
Le renouvellement tombe à votre date anniversaire, pas le 1er
Chaque abonnement porte un jour d'ancrage du cycle, et la réinitialisation mensuelle crédite chaque organisation à son propre jour d'ancrage plutôt que le premier du mois.
L'alternative, tout réinitialiser le 1er, signifie qu'un client abonné le 28 reçoit un mois complet de crédits trois jours plus tard. L'ancrage est la version honnête, et c'est lui que lit le cron de réinitialisation.
Taxes
Stripe Tax est activé sur le paiement : la TVA européenne et la sales tax américaine sont calculées à l'achat.
L'attribution de crédits lit le montant hors taxes, jamais le total débité. La TVA collectée pour le compte d'un État n'est pas du revenu, et accorder des crédits sur cette base donnerait un nombre de crédits différent selon le lieu de résidence de l'acheteur.
Après le paiement
Le paiement renvoie vers /<org>/~/billing/activate, qui affiche
l'état réel de chaque webhook (paiement, abonnement, plan, crédits)
avant de vous rendre la main.
Aucun minuteur, aucune attente artificielle : une organisation déjà synchronisée n'attend pas du tout. L'écran existe parce que « votre paiement a réussi » et « votre plan est actif » sont deux événements distincts, et qu'un client qui rafraîchit son tableau de bord pour savoir lequel s'est produit, c'est un ticket de support.
Idempotence
Chaque webhook Stripe est dédupliqué sur l'identifiant d'événement Stripe, et l'attribution mensuelle a pour clé l'organisation et le mois. La même clé couvre le cron quotidien de réinitialisation, l'événement de création d'abonnement et le filet de sécurité de la facture payée : trois chemins vers la même attribution produisent une seule attribution, pas trois.
Changer de plan ou résilier
POST /api/stripe/billing-portal ouvre le portail client Stripe de votre
organisation : changement de plan, moyen de paiement, résiliation.
Une chose qu'il ne couvre pas. Un abonnement que vous avez souscrit en tant qu'acheteur sur le marketplace utilise un autre client Stripe (celui que Checkout a créé) : il n'apparaît donc pas dans ce portail. Voir Acheter sur le marketplace.
Rapprochement
Chaque nuit, un cron rapproche l'état local des abonnements de celui de Stripe. Un webhook jamais arrivé (et il arrive qu'ils se perdent) est corrigé au passage suivant, au lieu de laisser une organisation sur un plan qu'elle ne paie plus, ou privée d'un plan qu'elle paie.