Enregistrer l'utilisation en vue de la facturationAncien
Découvrez comment enregistrer et déclarer la consommation de vos clients.
Note
Nous avons mis à jour le fonctionnement de la facturation à la consommation. Consultez la nouvelle documentation relative à la facturation à l’usage.
Découvrez comment migrer.
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 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 tenant compte de toute l’utilisation de la période de facturation.
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.
- Utilisez des clés d’idempotence 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
estincrement
. Cette valeur suppose que le tarif est configuré avecaggregate_
et que vous enregistrez l’utilisation au fur et à mesure, en la transmettant à Stripe avec leusage=sum timestamp
actuel. - Vous pouvez également définir le paramètre
action
surset
si vous agrégez vous-même l’utilisation et configurez le tarif avecaggregate_
ouusage=last_ during_ period aggregate_
.usage=last_ ever - The usage reporting endpoint is rate-limited, and the Stripe API has a rate limit of 100 calls per second per account. We can increase this to 200 calls per second per account, on request. If you have a service that you expect to exceed this limit, consider “bundling” your product into amounts. For example, if you charge per 1000 requests, consider basing your product on “per 1000 transactions” and send 1 usage record per 1000.
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_
= 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 connaître l’utilisation totale de la période en cours, vous pouvez récupérer la prochaine facture de l’abonnement. L’utilisation y est indiquée en tant que quantity
du poste de facture d’un subscription_
. En raison d’éventuels légers retards de traitement, il est possible que la valeur totale de l’utilisation ne corresponde pas à la quantité la plus récente.