# Établir un modèle de tarification par crédit Débiter les clients pour les crédits de préachat. Les crédits vous permettent d’offrir un montant fixe en monnaie pour l’utilisation de vos produits facturés à l’usage. Ce modèle fonctionne bien lorsque vous souhaitez donner aux clients une prévisibilité initiale tout en alignant les revenus directement sur l’utilisation. Par exemple, si vous vendez une API qui traite des images et du stockage dans le cloud, un client peut acheter de crédits au début du mois. Il peut dépenser n’importe quelle combinaison d’utilisation de l’API et de stockage dans le cloud jusqu’à concurrence de ce montant, et payer des frais supplémentaires pour l’un ou l’autre service à la fin du mois s’il dépasse d’utilisation. Les crédits s’appliquent indifféremment à tous les compteurs. Pour fixer des limites spécifiques à vos différents produits facturés à l’usage (par exemple 100 requêtes API et 3 Go de stockage), utilisez le modèle de [frais forfaitaires et de dépassement](https://docs.stripe.com/billing/subscriptions/usage-based-v1/use-cases/flat-fee-and-overages.md). ## Ce que vous allez créer Dans ce guide, créez l’abonnement suivant pour une entreprise fictive appelée Hypernian, qui fournit des LLM. Elle facture ses clients aux taux suivants : | Crédits | Frais | | --------------- | ------ | | Par utilisateur | 10 USD | | Utilisation | Frais | | ------------ | ------------------ | | Input token | 0.03 USD par token | | Output token | 0.05 USD par token | ## Créer un compteur Les compteurs spécifient comment agréger les événements du compteur sur 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, des requêtes API). Les compteurs sont associés à des prix et constituent la base de la facturation. Pour l’exemple d’Hypernian, les événements de mesure correspondent au nombre de tokens d’entrée et de sortie qu’un client utilise dans une requête. Le compteur correspond à la somme des tokens sur un mois. Dans cet exemple, vous créez un compteur pour chaque type de token. Vous pouvez utiliser le Dashboard Stripe ou l’API pour [configurer un compteur](https://docs.stripe.com/billing/subscriptions/usage-based/meters/configure.md). Pour utiliser l’API avec la Stripe CLI pour créer un compteur, [démarrez 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. Sur la page **Créer un compteur**, procédez comme suit : - Pour **Nom du compteur**, entrez le nom du compteur à des fins d’affichage et d’organisation. Pour l’exemple d’Hypernian, entrez « Hypernian Input 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_input_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**. - Pour créer un compteur pour les Output Tokens, répétez les étapes précédentes et définissez le nom du compteur sur Hypernian Output Tokens et le nom de l’événement sur « hypernian_output_tokens. » - (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 Input tokens" \ -d event_name=hypernian_input_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" ``` Pour créer un compteur de tokens de sortie, répétez l’étape précédente avec les valeurs suivantes. ```curl curl https://api.stripe.com/v1/billing/meters \ -u "<>:" \ -d "display_name=Hypernian Output tokens" \ -d event_name=hypernian_output_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, vous créez deux produits, chacun avec un compteur facturé à une fréquence mensuelle. 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 : - Pour **Nom**, entrez le nom de votre produit. Pour l’exemple d’Hypernian, entrez `Utilisation 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 : - Sous **Choisissez votre modèle de tarification**, sélectionnez **À l’usage**. - Choisissez votre structure de prix : - Pour l’exemple d’Hypernian, sélectionnez **Par unité**. Sous **Prix**, réglez le **Montant** sur `0,03 USD`. - Sous **Compteur**, sélectionnez le compteur que vous avez créé et choisissez Hypernian Input tokens dans la liste déroulante. - Pour **Période de facturation**, sélectionnez **Mensuel**. - Sous **Compteur**, sélectionnez le compteur que vous avez créé. Pour l’exemple d’Hypernian, sélectionnez **Hypernian Input tokens** dans le menu déroulant. - Sélectionnez la **Période de facturation** appropriée. Pour l’exemple d’Hypernian, sélectionnez **Mensuel**. - Cliquez sur **Suivant**. 1. Répétez les étapes précédentes et créez un produit nommé Hypernian output usage avec un prix de `0.05 USD`. Attachez-le au **compteur Aplaca AI output token** avec la même période de facturation mensuelle. #### API Créez le produit et définissez son prix pour la tarification échelonnée de l’utilisation en entrée ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ -d "description=Input usage fee for Hypernian" \ -d "name=Hypernian Input Usage" ``` ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d "product={{PRODUCT_ID}}" \ -d currency=usd \ -d billing_scheme=per_unit \ -d "recurring[interval]=month" \ -d "recurring[interval_count]=1" \ -d "recurring[usage_type]=metered" \ -d "recurring[meter]={{METER_ID}}" \ -d unit_amount_decimal=3 ``` Créez le produit et définissez son prix pour la tarification échelonnée de l’utilisation en sortie ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ -d "description=Ouput usage fee for Hypernian" \ -d "name=Hypernian Output Usage" ``` ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d "product={{PRODUCT_ID}}" \ -d currency=usd \ -d billing_scheme=per_unit \ -d "recurring[interval]=month" \ -d "recurring[interval_count]=1" \ -d "recurring[usage_type]=metered" \ -d "recurring[meter]={{METER_ID}}" \ -d unit_amount_decimal=5 ``` ## Créer un objet Customer Si votre intégration utilise des [Accounts configurés par le client](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer), remplacez les références `Customer` et événement dans les exemples de code par les références équivalentes de l’API Accounts v2. Pour plus d’informations, consultez la page [Représenter des clients avec des objets Account](https://docs.stripe.com/connect/use-accounts-as-customers.md). 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 `Florence 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=Jenny Rosen" ``` ## Octroi de crédits de facturation à votre client Utilisez le Dashboard Stripe ou l’API pour créer un octroi de crédit pour votre client. > #### Les crédits sont épuisés à la fin de la période de facturation. > > Avec cette version de la facturation à l’usage, les crédits sont épuisés lorsque la facture est créée à la fin de la période de facturation. [La facturation avancée à l’usage](https://docs.stripe.com/billing/subscriptions/usage-based/advanced/compare.md), actuellement en version bêta privée, vous permet de configurer des crédits qui s’épuisent en temps réel. [Inscrivez-vous](mailto:advanced-ubb-private-preview@stripe.com) à la version bêta privée pour y accéder et en savoir plus. Les crédits de facturation ne s’appliquent qu’aux postes de [l’abonnement](https://docs.stripe.com/api/invoices/object.md#invoice_object-subscription) qui ont un lien avec un [prix de compteur](https://docs.stripe.com/api/prices/object.md#price_object-recurring-meter). L’[API Usage Records](https://docs.stripe.com/api/usage_records.md) n’est pas prise en charge. #### Dashboard 1. Sur la page [Clients](https://dashboard.stripe.com/test/customers), sélectionnez le nom du client. 1. Sur la page client, sous **Octrois de crédit**, cliquez sur le symbole plus (**+**). 1. Sur la page **Nouvel octroi de crédit**, procédez comme suit : - Dans le champ **Nom**, saisissez le nom de votre octroi de crédit. - Dans le champ **Montant**, indiquez le montant de l’octroi de crédit. Pour l’exemple d’Hypernian, entrez 10. - (Facultatif) Sous **Date d’entrée en vigueur**, indiquez la date à laquelle le crédit sera accordé. - (Facultatif) Sous **Date d’expiration**, indiquez la date d’expiration des crédits, le cas échéant. - (Facultatif) Sous la rubrique **Priorité**, indiquez la priorité pour cet octroi de crédit. - (Facultatif) Sous **Eligibilité**, indiquez une liste de prix basés sur l’usage auxquels cet octroi de crédit s’applique. - Cliquez sur **Créer un octroi**. #### API ```curl curl https://api.stripe.com/v1/billing/credit_grants \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "name=Credit grant" \ -d "applicability_config[scope][price_type]=metered" \ -d category=paid \ -d "amount[type]=monetary" \ -d "amount[monetary][value]=1000" \ -d "amount[monetary][currency]=usd" ``` ## 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. Dans l’exemple d’Hypernian, vous créez un abonnement regroupant les produits Hypernian Input Token et Hypernian Output Token, facturé chaque mois à Jenny Rosen. > 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 **Florence Martin**. - Sous **Produit**, sélectionnez vos prix. Pour l’exemple d’Hypernian, sélectionnez le prix sous **Utilisation d’Hypernian en entrée** et **Utilisation d’Hypernian en sortie**. - (Facultatif) Modifiez les informations et les paramètres de l’abonnement si nécessaire. - Cliquez sur **Créer un abonnement test**. #### API Votre ID client se trouve sur la page d’information du client. Pour trouver votre ID de tarif, rendez-vous sur la page d’information de chaque produit et cliquez sur le menu déroulant (⋯) sous **Tarification**. Sélectionnez **Copier l’ID du tarif**. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]={{INPUT_PRICE_ID}}" \ -d "items[1][price]={{OUTPUT_PRICE_ID}}" ``` ## 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 Input 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_input_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}}" ``` ## Appliquer des crédits de facturation aux factures Une fois la facture finalisée, Stripe applique automatiquement tous les crédits de facturation applicables. Le solde disponible de l’octroi de crédit est mis à jour en fonction du montant des crédits de facturation appliqués à la facture. Vous pouvez consulter le montant des crédits de facturation appliqués à une facture dans le Dashboard Stripe. 1. Sur la page [Clients](https://dashboard.stripe.com/test/customers), sélectionnez le nom du client. 1. Sur la page client, sous **Factures**, sélectionnez une facture. 1. Sur la page de la facture, sous **Sous-total**, repérez la ligne **Octroi de crédit appliqué**. ## Récupérer le solde disponible du crédit de facturation Utilisez le Dashboard ou l’API Stripe pour consulter le solde disponible du crédit de facturation d’un client. Lorsque vous utilisez l’API, récupérez l’endpoint du [Credit-Balance-Summary](https://docs.stripe.com/api/billing/credit-balance-summary/retrieve.md). #### Dashboard 1. Sur la page [Clients](https://dashboard.stripe.com/test/customers), sélectionnez le nom du client. 1. Sur la page client, sous **Octroi de crédit**, vous trouverez la liste des octrois de crédit pouvant s’appliquer aux factures. Vous pouvez consulter le [available_balance](https://docs.stripe.com/api/billing/credit-balance-summary/object.md#billing_credit_balance_summary_object-balances-available_balance) de l’octroi de crédit dans la colonne **Disponible**. #### API ```curl curl -G https://api.stripe.com/v1/billing/credit_balance_summary \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "filter[type]=applicability_scope" \ -d "filter[applicability_scope][price_type]=metered" ``` ## Liste des transactions pour un octroi de crédit Utilisez le Dashboard Stripe ou l’API pour consulter les transactions d’un octroi de crédit ou d’un client spécifique. Lorsque vous utilisez l’API, appelez l’endpoint du [Credit Balance Transaction](https://docs.stripe.com/api/billing/credit-balance-transaction/list.md). #### Dashboard 1. Sur la page [Clients](https://dashboard.stripe.com/test/customers), sélectionnez le nom du client. 1. Sur la page client, sous la rubrique **Octrois de crédit**, sélectionnez un octroi de crédit. 1. Affichez le détail des opérations sur solde créditeur. #### API ```curl curl -G https://api.stripe.com/v1/billing/credit_balance_transactions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d credit_grant={{CREDIT_GRANT_ID}} ``` ## Optional: Financer l'octroi de crédit Utilisez le Dashboard Stripe ou l’API pour créer une [facture](https://docs.stripe.com/invoicing.md) unique afin de collecter le paiement d’un client. Lorsque vous utilisez l’API, écoutez le [webhook](https://docs.stripe.com/webhooks.md) `invoice.paid` et accordez des crédits de facturation à vos clients. #### Dashboard 1. Sur la page [Clients](https://dashboard.stripe.com/test/customers), sélectionnez le nom du client. 1. Sur la page client, cliquez sur **Créer une facture**. 1. Suivez les instructions pour [créer une facture](https://docs.stripe.com/invoicing/dashboard.md) #### API ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "description=credit purchase" \ -d collection_method=charge_automatically ``` ```curl curl https://api.stripe.com/v1/invoiceitems \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "description=billing credits purchase" \ -d unit_amount_decimal=1000 \ -d currency=usd \ -d invoice={{INVOICE_ID}} ``` ```curl curl https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \ -u "<>:" \ -d auto_advance=true ``` ## 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 ```