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.
name Requis Nom 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.
amount Requis Montant 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.
currency Requis Code ISO 4217 de la devise du plan. Doit correspondre à une devise activée sur votre App. Immuable après création.
interval Requis Unité 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_count Optionnel Multiplicateur 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_days Optionnel Duré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.
description Optionnel Description du plan. Affichée sur la page de sélection de plan et dans les emails de bienvenue.
metadata Optionnel Donné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.
active Optionnel Filtrer par statut. true retourne uniquement les plans actifs,
false les plans désactivés.
currency Optionnel Filtrer par devise. Utile si vous proposez des plans dans plusieurs devises.
interval Optionnel Filtrer par intervalle de facturation : day, week,
month ou year.
page Optionnel page_size Optionnel Modifier 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.
name Optionnel Nouveau nom du plan. Répercuté sur les emails de renouvellement futurs.
description Optionnel Nouvelle description. Passez null pour supprimer.
metadata Optionnel Dé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.