# À propos des API Billing Comment fonctionnent les objets de l'API Billing les uns avec les autres. Nous vous recommandons d’utiliser des [Checkout Sessions pour créer des abonnements](https://docs.stripe.com/billing/quickstart.md). Une session Checkout Session offre à votre client une page de paiement où il saisit ses informations de paiement. Stripe crée ensuite le client, active l’abonnement et gère le paiement via les objets API Billing décrits ci-dessous. Lorsque vous créez un *abonnement*, Stripe génère automatiquement un objet *`Invoice`* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) à chaque cycle de facturation. Chaque `Invoice` crée automatiquement un objet *`PaymentIntent`* (API object that represents your intent to collect payment from a customer, tracking charge attempts and payment state changes throughout the process) pour collecter le paiement avec le moyen de paiement sauvegardé du client. Une fois l’abonnement créé, Stripe gère le reste du cycle de facturation. Un abonnement a : - Un *Produit* (Products represent what your business sells—whether that's a good or a service) pour modéliser ce qui est vendu. - Un *tarif* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) pour déterminer la fréquence et le montant à facturer. - Objet représentant un client, permettant de stocker les *moyens de paiement* (PaymentMethods represent your customer's payment instruments, used with the Payment Intents or Setup Intents APIs) utilisés pour effectuer chaque paiement récurrent. Selon la façon dont vous modélisez vos clients, il peut s’agir soit d’un [Account configuré pour le client](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-applied), soit d’un [Customer](https://docs.stripe.com/api/customers.md). > #### Utiliser l’API Accounts v2 pour représenter les clients > > L’API Accounts v2 est généralement disponible pour les utilisateurs de Connect et en aperçu public pour les autres utilisateurs de Stripe. Si vous avez accès à l’aperçu Accounts v2, vous devez [spécifier une version d’aperçu](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning) dans votre code. > > Pour demander l’accès à l’aperçu Accounts v2, > > Dans la plupart des cas d’usage, nous vous recommandons de [modéliser vos clients en tant qu’objets Account configurés par le client](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md), plutôt que d’utiliser des objets [Customer](https://docs.stripe.com/api/customers.md). #### Accounts v2 Un diagramme illustrant des objets de facturation courants et leurs relations (See full diagram at https://docs.stripe.com/billing/billing-apis) #### Customer v1 Un diagramme illustrant des objets de facturation courants et leurs relations (See full diagram at https://docs.stripe.com/billing/billing-apis) ## Définitions des objets API | Ressource | Définition | | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Compte configuré en tant que client](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer) | Représente un client dans l’API Accounts v2 qui souscrit un abonnement. Configurez un objet `Account` en tant que client et associez-le à un abonnement afin d’effectuer et de suivre des paiements récurrents, ainsi que de gérer les produits auxquels il est abonné. Pour plus d’informations, consultez le [guide d’utilisation des Accounts en tant que clients](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md). | | [Customer](https://docs.stripe.com/api/customers.md) | Représente un client dans l’API Customers qui souscrit un abonnement. Utilisez l’objet `Customer` associé à un abonnement pour effectuer et suivre des paiements récurrents, ainsi que pour gérer les produits auxquels il est abonné. | | [Entitlement](https://docs.stripe.com/api/entitlements/active-entitlement.md) | Représente l’accès d’un client à une fonctionnalité incluse dans un produit de service auquel il est abonné. Lorsque vous créez un abonnement représentant l’achat récurrent d’un produit par un client, un droit d’accès actif est automatiquement créé pour chaque fonctionnalité associée à ce produit. Lorsqu’un client accède à vos services, utilisez ses droits d’accès actifs pour activer les fonctionnalités incluses dans son abonnement. | | [Feature](https://docs.stripe.com/api/entitlements/feature.md) | Représente une fonctionnalité à laquelle vos clients peuvent accéder lorsqu’ils s’abonnent à un produit de service. Vous pouvez inclure des fonctionnalités dans un produit en créant des objets ProductFeatures. | | [Invoice](https://docs.stripe.com/api/invoices.md) | Relevé des montants dus par un client et qui suit les états des paiements, de l’ébauche initiale au paiement ou à la finalisation. Les abonnements génèrent automatiquement des factures. | | [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) | Un moyen de créer des tunnels de paiement dynamiques. Un PaymentIntent suit le cycle de vie du tunnel de paiement d’un client et déclenche des étapes d’authentification supplémentaires lorsque des mandats réglementaires, des règles Radar personnalisées de lutte contre la fraude, ou des moyens de paiement avec redirection l’exigent. Les objets Invoice créent automatiquement des PaymentIntents. | | [PaymentMethod](https://docs.stripe.com/api/payment_methods.md) | Les moyens de paiement d’un client qu’il utilise pour payer vos produits. Par exemple, vous pouvez enregistrer une carte bancaire sur un objet `Account` configuré pour le client ou sur un objet `Customer`, puis l’utiliser pour effectuer des paiements récurrents pour ce client. Généralement utilisé avec les API Payment Intents ou Setup Intents. | | [Price](https://docs.stripe.com/api/prices.md) | Définit le tarif unitaire, la devise et le cycle de facturation d’un produit. | | [Product](https://docs.stripe.com/api/products.md) | Un bien ou un service que votre entreprise vend. Un produit de service peut comporter une ou plusieurs fonctionnalités. | | [ProductFeature](https://docs.stripe.com/api/product-feature.md) | Représente l’inclusion d’une fonctionnalité unique dans un produit unique. Chaque produit est associé à un objet ProductFeature pour chaque fonctionnalité qu’il inclut, et chaque fonctionnalité est associée à un objet ProductFeature pour chaque produit qui l’inclut. | | [Subscription](https://docs.stripe.com/api/subscriptions.md) | Représente l’achat récurrent et programmé d’un produit par un client. L’abonnement permet d’encaisser des paiements et de fournir des livraisons répétées ou un accès continu à un produit. | Voici un exemple de la manière dont les produits, les fonctionnalités et les droits d’accès fonctionnent ensemble. Imaginons que vous créez un service récurrent proposant deux niveaux : un produit standard avec des fonctionnalités de base et un produit Advanced qui ajoute des fonctionnalités étendues. 1. Vous créez deux fonctionnalités : `basic_features` et `extended_features`. 1. Vous créez deux produits : `standard_product` et `advanced_product`. 1. Pour le produit standard, vous créez un objet ProductFeature qui associe `basic_features` à `standard_product`. 1. Pour le produit avancé, vous créez deux objets ProductFeature : un qui associe `basic_features` à `advanced_product` et un qui associe `extended_features` à `advanced_product`. Un client, `first_customer`, s’abonne au produit standard. Lorsque vous créez l’abonnement, Stripe crée automatiquement un objet Entitlement qui associe `first_customer` à `basic_features`. Un autre client, `second_customer`, s’abonne au produit avancé. Lorsque vous créez l’objet Subscription correspondant, Stripe crée automatiquement deux objets Entitlement : un qui associe `second_customer` à `basic_features`, et un qui associe `second_customer` à `extended_features`. Pour savoir quelles fonctionnalités vous devez fournir à un client, [récupérez ses droits d’accès actifs ou écoutez l’événement Active Entitlement Summary](https://docs.stripe.com/billing/entitlements.md#entitlements). Il n’est pas nécessaire de récupérer ses abonnements, produits et fonctionnalités.