SubscriptionPlans
Les SubscriptionPlans définissent les tarifs récurrents que vous proposez à vos clients. Chaque plan spécifie un montant, une devise et une fréquence de facturation. Un plan est ensuite associé à une ou plusieurs Subscriptions pour déclencher les prélèvements automatiques.
Cas d’usage typiques : abonnement mensuel SaaS, forfait annuel avec remise, offre trimestrielle avec période d’essai gratuite.
Le montant d’un plan (amount) ne peut pas être modifié après création.
Pour changer le tarif, créez un nouveau plan et migrez vos abonnés via PATCH /subscriptions/{id}/.
Seuls le name et la description sont modifiables via PATCH.
Endpoints
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /subscription-plans/ | Créer un plan |
| GET | /subscription-plans/ | Lister les plans |
| GET | /subscription-plans/{id}/ | Récupérer un plan |
| PATCH | /subscription-plans/{id}/ | Modifier (nom et description uniquement) |
| DELETE | /subscription-plans/{id}/ | Désactiver (impossible si abonnés actifs) |
Schéma de l’objet
Créer un SubscriptionPlan
Crée un nouveau plan tarifaire. Le plan est immédiatement disponible pour être associé à une Subscription.
nameRequisNom du plan. Visible par le client sur les pages de paiement, les factures et les emails de renouvellement.
Choisissez un nom clair qui reflète la valeur proposée — il apparaît directement dans les communications envoyées à vos abonnés.
amountRequisMontant prélevé à chaque période de facturation, en centimes. Ce champ est immuable après création.
Exprimez toujours en centimes. 15 000 XAF = 15000. Pour les devises
à décimales (EUR, USD), 15 EUR = 1500. Pour modifier un tarif,
créez un nouveau plan et migrez vos abonnés.
currencyRequisCode ISO 4217 de la devise du plan. Doit correspondre à une devise activée sur votre App. Immuable après création.
intervalRequisUnité de la période de facturation. Valeurs : day,
week, month, year.
Combiné avec interval_count, ce champ définit la fréquence exacte
de facturation. Exemples : interval: “month” +
interval_count: 3 = facturation trimestrielle ;
interval: “year” + interval_count: 1 = facturation
annuelle.
interval_countOptionnelMultiplicateur de l’intervalle. Détermine la fréquence réelle de facturation en
combinaison avec interval.
En savoir plus
Exemples : interval: “month”, interval_count: 1 → mensuel ;
interval: “month”, interval_count: 3 → trimestriel ;
interval: “month”, interval_count: 6 → semestriel.
trial_period_daysOptionnelDurée de la période d’essai gratuite en jours. Pendant cette période, aucun
prélèvement n’est effectué. La Subscription passe en
statut trialing jusqu’à la fin de l’essai.
En savoir plus
Ce champ définit la période d’essai par défaut du plan. Il peut être surchargé
par abonné en passant trial_period_days directement lors de la
création de la Subscription.
descriptionOptionnelDescription du plan. Affichée sur la page de sélection de plan et dans les emails de bienvenue.
metadataOptionnelDonnées libres — identifiant interne, tier tarifaire, référence CRM, etc.
En savoir plus
Les métadonnées du plan sont incluses dans les webhooks
subscription.created et subscription.canceled. Utile
pour identifier le tier lors du provisioning automatique d’accès.
Créer un plan mensuel avec essai
Lister les SubscriptionPlans
Retourne tous les plans de votre App, triés par date de création décroissante.
activeOptionnelFiltrer par statut. true retourne uniquement les plans actifs,
false les plans désactivés.
currencyOptionnelFiltrer par devise. Utile si vous proposez des plans dans plusieurs devises.
intervalOptionnelFiltrer par intervalle de facturation : day, week,
month ou year.
pageOptionnelpage_sizeOptionnelModifier un SubscriptionPlan
Seuls le name et la description sont modifiables après
création. Le amount, la currency, l’interval
et l’interval_count sont immuables.
nameOptionnelNouveau nom du plan. Répercuté sur les emails de renouvellement futurs.
descriptionOptionnelNouvelle description. Passez null pour supprimer.
metadataOptionnelDésactiver un SubscriptionPlan
Désactive le plan en passant active à false. Un plan
désactivé ne peut plus être associé à de nouvelles Subscriptions, mais les
abonnements en cours continuent de fonctionner normalement.
La désactivation échoue avec une erreur 409 Conflict si le plan
possède encore des Subscriptions
en statut active ou trialing. Migrez d’abord vos abonnés
vers un nouveau plan avant de désactiver l’ancien.