# Enregistrer l'utilisation en vue de la facturation Découvrez comment enregistrer et déclarer la consommation de vos clients. > Nous avons mis à jour le fonctionnement de la facturation à la consommation. Consultez la [nouvelle documentation relative à la facturation à l’usage](https://docs.stripe.com/billing/subscriptions/usage-based.md). > > Découvrez comment [migrer](https://docs.stripe.com/billing/subscriptions/usage-based-legacy/migration-guide.md). Tout au long de chaque période de facturation, vous devez communiquer l’utilisation à Stripe afin que les montants facturés à vos clients correspondent à leur consommation. Vous pouvez utiliser votre propre système d’enregistrement de la consommation et fournir à Stripe ces informations relatives aux abonnements. Vous pouvez communiquer à Stripe les informations relative à la consommation en créant des [enregistrement d’utilisation](https://docs.stripe.com/api.md#usage_record_create) contenant un poste d’abonnement, la quantité utilisée et un horodatage. C’est à vous de décider la fréquence à laquelle vous nous communiquerez l’utilisation. Vous pouvez par exemple exécuter le code à un intervalle spécifique (par exemple, toutes les 24 heures) pour chaque abonnement actif facturé à la consommation. Au terme de la période de facturation, Stripe calcule automatiquement le prix total et génère une [facture](https://docs.stripe.com/billing/invoices/subscription.md) tenant compte de toute l’utilisation de la période de facturation. #### curl ```bash curl https://api.stripe.com/v1/subscription_items/{{SUBSCRIPTION_ITEM_ID}}/usage_records \ -u <>: \ -X POST \ -d quantity=100 \ -d timestamp=1774940249 \ -d action=increment ``` ## Bonnes pratiques pour l’enregistrement de l’utilisation - Vous devez écrire une partie de votre logique métier avant de créer un enregistrement d’utilisation. Récupérez l’enregistrement d’un client de votre base de données et extrayez-en l’ID du poste d’abonnement Stripe du client et son utilisation du jour. Si vous ne stockez pas les ID des postes d’abonnement, récupérez l’abonnement et cherchez les [postes d’abonnement](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-items). - Utilisez des [clés d’idempotence](https://docs.stripe.com/api/idempotent_requests.md) pour éviter d’enregistrer une utilisation plusieurs fois en cas de latence ou d’autres problèmes. - La valeur de l’attribut `timestamp` doit être comprise dans la période de facturation actuelle, faute de quoi l’appel échoue. - La valeur par défaut du paramètre `action` est `increment`. Cette valeur suppose que le tarif est configuré avec `aggregate_usage=sum` et que vous enregistrez l’utilisation au fur et à mesure, en la transmettant à Stripe avec le `timestamp` actuel. - Vous pouvez également définir le paramètre `action` sur `set` si vous agrégez vous-même l’utilisation et configurez le tarif avec `aggregate_usage=last_during_period` ou `aggregate_usage=last_ever`. - Le débit du endpoint de rapport d’utilisation est limité et celui de l’API Stripe est limité à 100 appels par seconde et par compte. Nous pouvons augmenter cette limite à 200 appels par seconde et par compte, sur demande. Si vous prévoyez de dépasser cette limite pour l’un de vos services, envisagez de regrouper vos produits en plus grandes quantités. Par exemple, si vous facturez par lot de 1 000 requêtes, envisagez de baser votre produit sur « par lot de 1 000 transactions » et d’envoyer 1 enregistrement d’utilisation par lot de 1 000. ### Dérive d’horloge Les signalements d’utilisation en dehors de la période de facturation en cours génèrent une erreur. Pour tenir compte des éventuels décalages d’horloge entre votre serveur et les systèmes Stripe, nous accordons un court délai de grâce dans le mode d’agrégation par défaut (`aggregate_usage` = `sum`). Pour les autres modes d’agrégation, la valeur de l’attribut `timestamp` doit être comprise dans la période en cours. Au cours des premières minutes de chaque période de facturation, vous pouvez signaler l’utilisation correspondant aux dernières minutes de la période précédente. Si la facture de la période précédente n’est pas finalisée, nous y ajoutons cette utilisation. Dans le cas contraire, nous facturons cette utilisation pour la période en cours. Après le délai de grâce, vous ne pouvez plus déclarer l’utilisation de la période de facturation précédente. Ne vous fiez pas au délai de grâce pour signaler une utilisation hors de la période de facturation en cours. Ce délai permet uniquement de tenir compte des éventuels décalages d’horloge, et nous ne garantissons pas son application. ## Récupérer l’utilisation actuelle Pour récupérer l’utilisation totale pour la période en cours, vous pouvez [créer un aperçu de la facture](https://docs.stripe.com/api/invoices/create_preview.md) pour l’abonnement. L’utilisation se reflète dans la `quantity` du [poste de facture](https://docs.stripe.com/api.md#invoiceitems) d’un `subscription_item`. La valeur totale d’utilisation peut ne pas correspondre à la quantité la plus récente en raison de légers délais de traitement. ```curl curl https://api.stripe.com/v1/invoices/create_preview \ -u "<>:" \ -d subscription={{SUBSCRIPTION_ID}} ```