# Configurez un modèle de tarification combinant forfait fixe et dépassements Facturez aux clients un tarif forfaitaire avec la possibilité de payer pour l’utilisation supplémentaire à terme échu. Le forfait avec dépassements combine une facturation prévisible avec la souplesse nécessaire pour évoluer. Les clients paient un abonnement récurrent pour un forfait de base, et toute utilisation au-delà de cette limite est facturée séparément. Ce modèle convient si vous cherchez des revenus stables et fiables tout en laissant de la marge de croissance à vos clients. Le forfait de base couvre la valeur essentielle, tandis que les dépassements garantissent que les utilisateurs importants paient en fonction de leur consommation réelle. Par exemple, si vous gérez une plateforme d’hébergement vidéo, vous pouvez inclure 1 000 diffusions mensuelles dans un forfait de 200 USD. Si un client dépasse ce volume, chaque diffusion supplémentaire est facturée en dépassement. En fin de mois, Stripe envoie une facture regroupant le forfait et l’usage excédentaire, en débitant automatiquement le moyen de paiement enregistré du client ou en l’invitant à en ajouter un. ## Ce que vous allez créer Dans cet exemple, Hypernian facture à ses clients l’accès à ses services LLM en utilisant un modèle de tarification basé sur des [frais fixes et des frais supplémentaires en cas de dépassement](https://docs.stripe.com/subscriptions/pricing-models/usage-based-pricing.md#fixed-fee-overage), avec les tarifs suivants : | Licence | Frais | | --------------- | ------- | | Par utilisateur | 100 USD | | Utilisation | Frais | | ----------------- | -------- | | 0-1000 | 0 USD | | Plus de 1000 | 0.04 USD | Pour mettre en œuvre ce modèle, vous créez un compteur pour enregistrer l’utilisation, des produits et des prix pour représenter votre service, un client et un abonnement client. ## Créer un compteur Les compteurs indiquent comment regrouper les événements des compteurs au cours d’une période de facturation. Les événements de mesure représentent toutes les actions effectuées par les clients dans votre système (par exemple, les requêtes d’API). Les compteurs sont associés aux prix et constituent la base de ce qui est facturé. Pour l’exemple d’Hypernian, les événements de mesure correspondent au nombre de tokens qu’un client utilise lors d’une requête. Le compteur correspond à la somme des tokens sur un mois. Vous pouvez utiliser le Dashboard Stripe ou l’API pour configurer un compteur. Pour utiliser l’API avec la Stripe CLI pour créer un compteur, [démarrer avec la Stripe CLI](https://docs.stripe.com/stripe-cli.md). #### Dashboard 1. Sur la page [Compteurs](https://dashboard.stripe.com/test/meters), cliquez sur **Créer un compteur**. 1. Dans l’éditeur de compteurs : - Pour **Nom du compteur**, entrez le nom du compteur à des fins d’affichage et d’organisation. Pour l’exemple d’Hypernian, entrez « Hypernian tokens ». - Pour **Nom de l’événement**, entrez le nom à afficher dans les événements de mesure lors du rapport d’utilisation à Stripe. Pour l’exemple d’Hypernian, entrez « hypernian_tokens ». - Définissez la **Méthode d’agrégation** dans le menu déroulant : - Pour l’exemple d’Hypernian, sélectionnez**Sum**. Cette option *additionnera les valeurs* indiquées (dans cet exemple, le nombre de tokens utilisés par un client) afin de déterminer l’utilisation à facturer. - Choisissez **Compte** pour que la facturation soit établie en fonction du *nombre* d’événements signalés. - Choisissez **Dernier** pour établir la facture sur la base de la *dernière valeur* déclarée. - Utilisez le volet de version bêta pour définir des exemples d’événements d’utilisation et vérifier la méthode d’agrégation. - Cliquez sur **Créer un compteur**. - (Facultatif) Sous **Paramètres avancés**, indiquez les **Dimensions** que vous souhaitez utiliser pour marquer vos données d’utilisation. Cela vous permet de générer des alertes spécifiques par segment, ou de définir un tarif basé sur l’utilisation précis en fonction d’une combinaison d’attributs. Pour l’analyse et le reporting, soumettez vos données d’utilisation avec des dimensions prédéfinies. Exemples de dimensions : modèle LLM, type de token, région ou type d’événement. #### API ```curl curl https://api.stripe.com/v1/billing/meters \ -u "<>:" \ -d display_name="Hypernian tokens" \ -d event_name=hypernian_tokens \ -d "default_aggregation[formula]"=sum \ -d "customer_mapping[event_payload_key]"=stripe_customer_id \ -d "customer_mapping[type]"=by_id \ -d "value_settings[event_payload_key]"=value ``` ## Créer un modèle tarifaire Utilisez le Dashboard Stripe ou l’API pour créer un [modèle tarifaire](https://docs.stripe.com/products-prices/pricing-models.md) qui inclut vos [Products](https://docs.stripe.com/api/products.md) et leurs options tarifaires. Les [Prices](https://docs.stripe.com/api/prices.md) définissent le coût unitaire, la devise et la période de facturation. Pour l’exemple d’Hypernian, créez un produit dont le tarif mesuré est de 0,04 USD par centaine d’unités, facturé mensuellement. Utilisez le compteur que vous avez créé à l’étape précédente. #### Dashboard 1. Sur la page [Catalogue de produits](https://dashboard.stripe.com/products?active=true), cliquez sur **Créer un produit**. 1. Sur la page **Ajouter un produit**, procédez comme suit : 1. Pour **Nom**, entrez le nom de votre produit. Pour l’exemple d’Hypernian, entrez `Utilisation d'Hypernian`. 1. (Facultatif) Pour **Description**, ajoutez une description qui apparaîtra dans [Checkout](https://docs.stripe.com/payments/checkout.md), dans le[portail client](https://docs.stripe.com/customer-management.md) et dans [devis](https://docs.stripe.com/quotes.md). 1. Sélectionnez **Récurrent**. 1. Sous **Période de facturation**, sélectionnez **Autres options tarifaires**. 1. Sur la page **Ajouter un tarif**, procédez comme suit : 1. Sous **Choisissez votre modèle de tarification**, sélectionnez **À l’usage**. 1. Choisissez votre structure de prix : - Pour l’exemple d’Hypernian, sélectionnez **Par niveau et graduel**. - Dans la première ligne de la grille, définissez **Première unité** à 0, **Dernière unité** à 1 000, **Par unité** à , et **Frais fixes** à . - Dans la deuxième ligne de la grille, définissez **Première unité** à 1 001, **Dernière unité** à ∞, **Par unité** à , et **Frais fixes** à . - Après avoir créé le premier produit, créez un autre produit pour facturer aux clients des frais de 100 USD en début de mois. La deuxième facture d’un client comprend les frais d’utilisation du mois précédent et les frais de licence pour le mois à venir. - (Facultatif) Pour facturer aux clients les frais de licence initiaux à la fin du mois, mettez à jour la première ligne du tableau en définissant les **Frais fixes** à 100 USD. 1. Sous **Compteur**, sélectionnez le compteur que vous avez créé précédemment. Pour l’exemple d’Hypernian, sélectionnez **Hypernian tokens** dans le menu déroulant. 1. Sélectionnez la **Période de facturation**. Pour l’exemple d’Hypernian, sélectionnez **Mensuel**. 1. Cliquez sur **Suivant**. 1. Cliquez sur **Ajouter un produit**. #### API Vous trouverez l’identifiant de votre compteur sur la page d’information du compteur. ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d currency=usd \ -d unit_amount=4 \ -d billing_scheme=per_unit \ -d "transform_quantity[divide_by]"=100 \ -d "transform_quantity[round]"=up \ -d "recurring[usage_type]"=metered \ -d "recurring[interval]"=month \ -d "recurring[meter]"={{METER_ID}} \ -d "product_data[name]"="Hypernian tokens" ``` Créez ensuite les frais mensuels . #### Dashboard 1. Sur la page [Catalogue de produits](https://dashboard.stripe.com/products?active=true), cliquez sur **Créer un produit**. 1. Sur la page **Ajouter un produit**, procédez comme suit : - Pour **Nom**, entrez le nom de votre produit. Pour l’exemple d’Hypernian, entrez `Frais de licence d'Hypernian`. - (Facultatif) Pour **Description**, ajoutez une description qui apparaîtra dans [Checkout](https://docs.stripe.com/payments/checkout.md), dans le[portail client](https://docs.stripe.com/customer-management.md) et dans [devis](https://docs.stripe.com/quotes.md). - Sélectionnez **Récurrent**. - Sous **Période de facturation**, sélectionnez **Autres options tarifaires**. 1. Sur la page **Ajouter un tarif**, procédez comme suit : - Sélectionnez **Récurrent*. - Pour **Montant**, entrez **. - Pour **Devise**, sélectionnez **USD**. - Pour **Période de facturation**, sélectionnez **Mensuel**. - Cliquez sur **Suivant**. - Cliquez sur **Ajouter un produit**. #### API Créez les produits et les prix pour la tarification échelonnée. ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ -d description="Usage fees for Hypernian" \ -d name="Hypernian Usage" ``` ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d product="{{PRODUCT_ID}}" \ -d currency=usd \ -d billing_scheme=tiered \ -d "recurring[interval]"=month \ -d "recurring[interval_count]"=1 \ -d "recurring[usage_type]"=metered \ -d "recurring[meter]"="{{METER_ID}}" \ -d "tiers[0][flat_amount_decimal]"=0 \ -d "tiers[0][unit_amount_decimal]"=0 \ -d "tiers[0][up_to]"=1000 \ -d "tiers[1][flat_amount_decimal]"=0 \ -d "tiers[1][unit_amount_decimal]"=4 \ -d "tiers[1][up_to]"=inf \ -d tiers_mode=graduated ``` Ensuite, créez un produit et un prix pour les frais de licence. ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ -d description="License fee for Hypernian" \ -d name="Hypernian License fee" ``` ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d billing_scheme=per_unit \ -d currency=usd \ -d product="{{PRODUCT_ID}}" \ -d "recurring[interval]"=month \ -d "recurring[interval_count]"=1 \ -d "recurring[usage_type]"=licensed \ -d unit_amount_decimal=10000 ``` ## Créer un objet Customer Si votre plateforme Connect utilise des [comptes configurés par le client](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer), consultez notre [guide](https://docs.stripe.com/connect/use-accounts-as-customers.md) pour remplacer dans votre code les références `Customer` et événements par les références équivalentes de l’API Comptes v2. Ensuite, créez un *client* (Customer objects represent customers of your business. They let you reuse payment methods and give you the ability to track multiple payments). #### Dashboard 1. Sur la page [Clients](https://dashboard.stripe.com/test/customers), cliquez sur **Ajouter un client**. 1. Sur la page **Créer un client**, procédez comme suit : - Pour **Nom**, entrez le nom de votre client. Pour l’exemple d’Hypernian, entrez `Jean Martin`. - (Optional) Ajoutez une adresse e-mail et une description pour votre client. - Cliquez sur **Ajouter un client**. #### API ```curl curl https://api.stripe.com/v1/customers \ -u "<>:" \ -d name="John Doe" ``` ## Créer un abonnement [Subscriptions](https://docs.stripe.com/api/subscriptions.md) vous permet de débiter des montants récurrents en associant un client à un prix spécifique. Utilisez le Dashboard Stripe ou l’API pour créer un abonnement qui comprend votre client, votre produit et un prix basé sur l’usage. Pour l’exemple d’Hypernian, vous créez un abonnement pour le produit d’utilisation d’Hypernian et le produit de frais de licence d’Hypernian. > Vous pouvez associer un tarif unique mesuré à un ou plusieurs abonnements. > > Lorsque vous créez un abonnement `billing_mode=flexible`, Stripe exclut les postes compteurs de la première facture, car il n’existe pas d’utilisation antérieure à facturer. Si l’abonnement est initialisé avec une utilisation déjà accumulée ou si des éléments de facture en attente existent, Stripe les facture. Lorsque vous créez un abonnement `billing_mode=classic`, Stripe génère une ligne d’élément de facture à valeur monétaire nulle pour chaque élément d’abonnement mesuré. #### Dashboard 1. Sur la page [Abonnements](https://dashboard.stripe.com/test/subscriptions), cliquez sur **Créer un abonnement test**. 1. Sur la page **Créer un abonnement test**, procédez comme suit : - Sous **Client**, sélectionnez le nom de votre client. Pour l’exemple d’Hypernian, sélectionnez **Jean Dupont**. - Sous **Produit**, sélectionnez votre prix. Pour l’exemple d’Hypernian, sélectionnez le prix sous **Utilisation d’Hypernian** et **Frais de licence d’Hypernian**. - (Facultatif) Modifiez les informations et les paramètres de l’abonnement si nécessaire. - Cliquez sur **Créer un abonnement test**. #### API Localisez votre ID client sur la page des détails du client. Vous trouverez votre identifiant de prix sur la page détaillée du produit. Sous **Tarifs**, cliquez sur le menu déroulant (⋯), puis sélectionnez **Copier l’identifiant de prix** pour **Licence Hypernian** et **Utilisation d’Hypernian**. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]"={{PRICE_ID_for_hypernian_license}} \ -d "items[1][price]"={{PRICE_ID_for_hypernian_usage}} ``` ## Envoyer un événement de test de compteur Utilisez [Meter Events](https://docs.stripe.com/api/billing/meter-event.md) pour [enregistrer l’utilisation du client](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage.md) de votre compteur. À la fin de la période de facturation, Stripe facture l’utilisation déclarée. Vous pouvez tester votre facturation à l’usage en envoyant un événement de mesure via le Dashboard Stripe ou l’API. Lorsque vous utilisez l’API, spécifiez l’ID du client et la valeur de `payload`. Après avoir envoyé des événements de mesure, vous pouvez consulter les détails de l’utilisation de votre compteur sur la page [Compteurs](https://dashboard.stripe.com/test/meters) du Dashboard. #### Dashboard 1. Sur la page [Compteurs](https://dashboard.stripe.com/test/meters), sélectionnez le nom du compteur. Pour l’exemple d’Hypernian, sélectionnez **Hypernian tokens**. 1. Sur la page du compteur, cliquez sur **Ajouter une utilisation** > **Saisie manuelle des données d’utilisation**. 1. Dans la page **Ajouter des données de consommation**, procédez comme suit : - Dans le menu déroulant **Client**, sélectionnez votre client. - For **Value**, entrez une valeur d’exemple. Pour l’exemple d’Hypernian, entrez `3 000`. - Cliquez sur **Envoyer**. #### API ```curl curl https://api.stripe.com/v1/billing/meter_events \ -u "<>:" \ -d event_name=hypernian_tokens \ -d "payload[stripe_customer_id]"={{CUSTOMER_ID}} \ -d "payload[value]"=3000 ``` ## Créer une version bêta de la facture [Créez un aperçu de la facture](https://docs.stripe.com/api/invoices/create_preview.md) pour afficher une version bêta de la facture d’un client qui comprend des détails tels que le prix du compteur et la quantité d’utilisation. #### Dashboard 1. Sur la page [Abonnements](https://dashboard.stripe.com/test/subscriptions), sélectionnez un abonnement. Pour l’exemple d’Hypernian, sélectionnez l’abonnement de **Jenny Rosen**. 1. Sur la page d’information de l’abonnement, descendez jusqu’à la section **Facture à venir**. La facture à venir indique le montant de l’abonnement à facturer au client à la date spécifiée. 1. En cliquant sur **Afficher la facture complète**, vous obtiendrez toutes les informations de la facture à venir, dont : - Client - Méthode de facturation - Date de création - Abonnement connecté - Informations de l’abonnement (quantité d’utilisation et tarif du dispositif) - Montant dû Étant donné que Stripe traite les événements de mesure de manière asynchrone, les factures à venir risquent de ne pas afficher immédiatement les derniers événements de mesure. #### API ```curl curl https://api.stripe.com/v1/invoices/create_preview \ -u "<>:" \ -d subscription="{{SUBSCRIPTION_ID}}" ``` ## Optional: Récupérer l'utilisation sur une période personnalisée Utilisez [Meter Event Summary](https://docs.stripe.com/api/billing/meter-event-summary.md) pour récupérer l’utilisation totale d’un client sur une période personnalisée. Le récapitulatif des événements de mesure renvoie la consommation agrégée du client pour une période, selon la formule d’agrégation définie par le compteur. Dans l’exemple d’Hypernian, le récapitulatif des événements de mesure indique la somme des tokens pour un client, un dispositif et une période spécifiques. Étant donné que Stripe traite les événements de mesure de manière asynchrone, les récapitulatifs des événements de mesure risquent de ne pas afficher immédiatement les derniers événements de mesure. ```curl curl -G https://api.stripe.com/v1/billing/meters/{{METER_ID}}/event_summaries \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d start_time=1717249380 \ -d end_time=1717249440 ```