Pratique

Plans, limites et droits

Personnaliser les capacités Free, Plus et Max, limites d’organisation, mappages Stripe, grâce, abonnements cumulés et exceptions support.

Synchronisé avec le commit 7d452a6 du starter.

Une seule porte pour les droits

Aucune route ni composant n’importe src/config/plans.ts ou ne compare tier === "max". Les appelants interrogent src/services/entitlements.ts :

await requireEntitlement(orgUuid, "tasks.text_to_video");
await enforceLimit(orgUuid, "storage.totalMb", { current, adding });

Renommer un plan ou ajouter un quatrième niveau ne casse donc pas des conditions dispersées. Les tests d’architecture imposent cette frontière.

Catalogue par défaut

Capacité ou limiteFreePlusMax
Membres1520
UploadOuiOuiOui
Fichier maximal5 Mo25 Mo200 Mo
Stockage total100 Mo5 000 Mo50 000 Mo
Texte vers vidéoNonOuiOui
Tâches mensuelles050Illimité
Crédits mensuels05002 500

null signifie illimité. Les crédits d’inscription sont une attribution unique ; Free n’a pas de tâche récurrente.

Résolution du plan

Les plans appartiennent à l’organisation. subscriptions contient l’état courant et orders l’historique financier immuable. Le resolver choisit l’abonnement valide de rang le plus élevé. active et trialing donnent accès ; past_due dispose de sept jours de grâce.

Une organisation peut cumuler des abonnements : leurs crédits s’ajoutent, mais seul le niveau effectif le plus haut fournit les limites. L’écran de facturation affiche tous les abonnements courants.

Personnaliser

  1. Ajouter les noms dans src/types/plan.ts.
  2. Définir chaque valeur pour tous les niveaux dans src/config/plans.ts.
  3. Garder montants, intervalles, crédits, devises et Prices dans src/config/billing.ts.
  4. Protéger l’opération avec requireEntitlement ou enforceLimit.

Les nouveaux checkouts utilisent les variables serveur STRIPE_PRICE_*. Un downgrade ne supprime ni données ni membres. Le support peut appliquer une exception de sièges auditée ; un comp manuel est une ligne subscriptions avec source = "manual".

Plans, limites et droits · Sushi SaaS