N’utilisez ce modèle que lorsque les clients ne doivent jamais être facturés pour des dépassements. Si vous voulez autoriser les dépassements mais avoir des contrôles autour d’eux, Metronome propose à la place deux mécanismes complémentaires :
- Seuils de solde prépayé rechargent automatiquement le solde d’engagement prépayé d’un client lorsqu’il descend à un
threshold_amount, le ramenant à unrecharge_to_amount. Utile lorsque vous voulez un service continu avec des recharges automatiques. - Seuils de dépense plafonnent la dépense qu’un client peut accumuler avant qu’un paiement ne soit déclenché — utile pour limiter l’exposition à la fraude dans les flux PLG.
Quand utiliser ce modèle
Cette approche est utile lorsque :- Les essais gratuits doivent être strictement plafonnés au montant accordé sans possibilité de facture.
- Les comptes sensibles à la fraude pourraient sinon accumuler une consommation incontrôlée avant que les signaux de fraude ne se déclenchent.
- Les clients à budget strict exigent une garantie contractuelle que vous ne leur facturerez jamais de dépassement, même si le contrôle d’accès de votre application échoue.
Fonctionnement
Deux éléments fonctionnent ensemble :- Tarif catalogue de 0 USD sur la grille tarifaire. C’est le prix de repli après l’épuisement de tout engagement, de sorte que toute consommation fuyant est facturée à 0 USD.
- Un véritable prix unitaire qui ne s’applique que pendant la consommation d’un engagement. Vous pouvez encoder ce prix réel de deux manières selon que les prix sont uniformes entre clients ou définis par client.
Choisir votre implémentation
| Option A : Tarif d’engagement sur la grille tarifaire | Option B : Surcharge spécifique à l’engagement sur le contrat | |
|---|---|---|
| Où vivent les prix | Sur la grille tarifaire, à côté du tarif catalogue de 0 USD | Sur le contrat de chaque client |
| Idéal pour | Tarification uniforme pour tous (ou la plupart) des clients sur la grille tarifaire | Personnalisation des prix d’engagement par client |
| Coût de configuration | Configurer une seule fois sur la grille tarifaire | Ajouter une surcharge sur chaque contrat |
| Héritage client | Tous les clients utilisant la grille tarifaire héritent automatiquement du prix d’engagement | Chaque contrat spécifie son propre prix d’engagement |
Option A : Tarif d’engagement sur la grille tarifaire
Utilisez cette option lorsque le vrai prix est cohérent pour tous (ou la plupart) des clients sur la grille tarifaire. Vous définissez le tarif catalogue à 0 USD et le vrai prix commecommit_rate sur la même entrée de grille tarifaire. Les clients héritent automatiquement des deux — aucune surcharge par contrat n’est requise.
1. Ajouter le produit à la grille tarifaire avec price: 0 et un commit_rate
2. Créer l’engagement et lui indiquer d’utiliser commit_rate
Lorsque vous créez l’engagement sur le contrat, définissez rate_type: commit_rate afin que les puisages soient tarifés selon le tarif d’engagement de la grille tarifaire.
commit_rate de la grille tarifaire (100 USD/unité). Une fois l’engagement épuisé, la consommation retombe au tarif catalogue de 0 USD de la grille tarifaire.
Option B : Surcharge spécifique à l’engagement sur le contrat
Utilisez cette option lorsque chaque client a besoin de prix différents, ou lorsque vous ne voulez pas encoder les vrais prix sur la grille tarifaire. Le tarif catalogue reste à 0 USD sur la grille tarifaire, et vous ajoutez une surchargeoverwrite sur chaque contrat qui ne s’applique que pendant que l’engagement a du solde.
1. Définir le tarif catalogue à 0 USD sur la grille tarifaire
2. Sur le contrat, ajoutez un engagement et une surcharge spécifique à l’engagement
La surcharge est limitée à l’engagement viaoverride_specifiers.commit_ids, elle ne s’applique donc que tant que cet engagement a un solde restant.
Le contrôle d’accès côté application reste requisCe modèle garantit zéro facturation pour toute consommation qui fuirait, mais il n’empêche pas la consommation d’être soumise. Limitez l’accès dans votre application en utilisant des seuils de solde ou des webhooks afin que les clients ne puissent pas continuer à consommer le produit après l’épuisement de leur engagement.