Paiements de plateforme SaaS avec facturation d'abonnements à l'aide d'Accounts v2Version bêta privée
Découvrez comment une plateforme SaaS facture ses comptes connectés avec Stripe Billing en utilisant Accounts v2.
Les plateformes SaaS (Software as a Service) qui utilisent Connect facturent souvent des frais d’abonnement pour fournir leurs services de plateforme. Accounts v1 exige des plateformes qu’elles conservent des objets Stripe distincts pour permettre à une même entreprise de payer un abonnement (en tant que Customer
) et d’opérer sur la plateforme (en tant qu’Account
). Accounts v2 vous permet de gérer l’ensemble des interactions avec vos comptes connectés au travers d’un seul objet à plusieurs configurations.
L’API Accounts v2
Dans l’API v2, les objets Account
peuvent avoir plusieurs configurations. Chaque configuration représente un type différent de relation d’entreprise et permet d’activer différents produits Stripe. En attribuant plusieurs configurations à un Account
, une plateforme SaaS peut activer à la fois Connect et Billing pour celui-ci sans avoir à créer également un objet Customer
.
L’API Accounts v2 fournit :
- Représentation unifiée : un seul objet
Account
peut représenter plusieurs relations entre les comptes connectés et votre plateforme. - Configurations flexibles : activez ou modifiez les produits et fonctionnalités Stripe en changeant les configurations attribuées à un objet
Account
. - Données d’identité centralisées : l’objet
Account
stocke toutes les données d’identité d’un compte connecté. Lorsque vous ajoutez une configuration à unAccount
existant, vous n’avez pas besoin de collecter les exigences qu’il a déjà fournies.
En consultant la documentation Stripe, gardez à l’esprit les différences structurelles entre un objet Account dans l’API v2 et un objet Account dans l’API v1. Par exemple :
- Dans l’API v2, certaines propriétés font partie des propriétés configuration ou identity d’un compte, qui n’existent que dans Accounts v2.
- Dans l’API v2, les objets Account représentent des fonctionnalités telles que
card_
etpayments stripe_
en tant quebalance. stripe_ transfers features
, chacune associée à un type de configuration. Dans l’API v1, les objets Account présentent des fonctionnalités semblables à celles descapabilities
. - Dans l’API v2, chaque exigence possède ses propres propriétés
status
. Dans l’API v1, un objet Account comprend des tableaux pour chaque état d’exigence, et les exigences apparaissent dans un ou plusieurs de ces tableaux, en fonction de leur état.
Le tableau suivant illustre la mise en correspondance de certaines propriétés Accounts v1 avec les propriétés Accounts v2.
Propriété Accounts v1 | Propriété Accounts v2 |
---|---|
business_profile.url | identity.business_details.url |
business_profile.support_url | configuration.merchant.support.url |
business_profile.product_description | identity.business_details.product_description |
Chaque exigence apparaît dans un ou plusieurs tableaux, en fonction de son état. | Chaque exigence a ses propres propriétés d’énumération status permettant de restreindre les fonctionnalités et les virements, ainsi qu’un status minimal correspondant au premier état atteint des deux. La valeur de chaque status peut être currently_ , eventually_ ou past_ . |
Utilisation de Connect et Billing dans l’API v1 avec les objets Account et Customer
Dans l’API v1, les objets Account
ne prennent en charge que les fonctions Connect. Pour facturer un compte connecté à l’aide d’un abonnement, une plateforme doit créer un objet Customer
représentant le même compte connecté. Accounts v1 et Customers v1 n’ont pas de lien explicite ; la plateforme doit donc gérer ces objets séparément et maintenir une correspondance entre les identifiants Account
et les identifiants Customer
.
Relations de la plateforme SaaS avec les objets Account et Customer dans l’API v1
Utilisation de Connect et Billing dans l’API v2 avec les objets Account
Avec Accounts v2, un compte connecté qui perçoit des paiements et vous verse des frais d’abonnement n’a pas besoin d’un objet Account
et d’un objet Customer
. Il suffit de le représenter en attribuant les configurations applicables à Account
.
Pour permettre à un compte connecté de percevoir les paiements des clients, attribuez la configuration de marchand à l’objet Account
correspondant.
Plateforme et objet Account avec une configuration de marchand
Pour permettre à la plateforme de collecter des paiements, y compris des paiements d’abonnement, à partir du compte connecté, ajoutez la configuration de client à l’objet Account
.
Plateforme et objet Account avec des configurations de marchand et de client
Remarque
Vous pouvez percevoir des commissions de plateforme à partir d’un Account
ayant la configuration de marchand. L’attribution de la configuration de client n’affecte pas cette capacité.
Considérations relatives à la version bêta privée
La version bêta privée de Accounts v2 présente certaines limites. Voici quelques exemples :
- Produits Stripe : l’intégration en version bêta utilise Billing pour collecter les frais perçus au titre de l’abonnement et Connect pour permettre les paiements intégrés.
- Accès au Dashboard et types de comptes : vos comptes connectés ne peuvent pas utiliser le Dashboard complet ou le Dashboard Stripe Express. Créez une interface personnalisée ou utilisez les composants intégrés de Connect.
- Moyens de paiement : les objets
Accounts
ayant la configuration de marchand peuvent uniquement accepter les paiements par carte bancaire. Ils ne peuvent pas accepter les paiements par portefeuille ni les paiements Link, même avec l’intégration de Link. - Types de paiement : l’intégration de la version bêta ne prend en charge que les paiements directs et les paiements indirects avec le paramètre
on_
. Vous ne pouvez pas utiliser les paiements indirects sansbehalf_ of on_
ni les paiements et transferts distincts.behalf_ of