Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
Démarrer avec Connect
Principes de base de l'intégration
Exemples d'intégration
Gestion de compte
Inscrire des comptes
Configurer les dashboards des comptes
Utiliser les types de comptes connectés
Traitement des paiements
Accepter des paiements
    Créer un paiement
    Définir des libellés de relevé bancaire
    Définir les codes de catégories de marchands (CCM)
    Gérer plusieurs devises
    Créer des liens de paiement avec Connect
    Utiliser Radar avec Connect
    Litiges sur Connect
    Créer des abonnements
    Créer des factures
    Configurations de moyens de paiement multiples
    Intégrer le composant des paramètres des moyens de paiement
    Solde du compte
Effectuer des virements vers des comptes
Administration de plateforme
Gérer votre plateforme Connect
Formulaires fiscaux pour votre plateforme Connect
AccueilPlateformes et places de marchéAccept payments

Créer des abonnements avec Stripe Billing

Grâce à Connect, vous pouvez créer des abonnements pour vos clients ou des comptes connectés.

En savoir plus sur Connect

Pour en savoir plus sur Connect, consultez la présentation. Les transactions des abonnements sont soumises à la tarification Stripe Billing.

Les SaaS (Software as a Service) et les places de marché ont recours à Stripe Connect pour acheminer les paiements entre leur plateforme, les clients et les comptes connectés. Vous pouvez utiliser Connect pour acheminer des paiements ou des virements et Stripe Billing pour prendre en charge votre modèle de revenus récurrents.

Cas d’usage

Vous pouvez créer des abonnements pour des comptes Connect, avec plusieurs approches d’encaissement des paiements prises en charge. Vous pouvez créer des abonnements pour les clients de vos comptes connectés en utilisant des paiements directs ou indirects, pour que vos clients finaux puissent traiter des transactions directement avec votre plateforme et débiter vos comptes connectés de frais d’utilisation de votre plateforme.

Les cas d’usage suivants expliquent comment utiliser Stripe Billing pour créer des abonnements depuis les clients finaux aux comptes connectés, pour facturer les clients finaux de la plateforme et les comptes connectés.

Cas d’usageDescription
Abonner le client final au compte connectéCréez des abonnements à vos comptes connectés pour les clients finaux, ce qui permet de collecter les paiements de plusieurs façons. Dans cet exemple, les tarifs se trouvent sur le compte connecté.
Créer des abonnements pour facturer les clients finaux de la plateformeLes places de marché peuvent proposer des abonnements sans faire intervenir votre compte connecté. Dans cet exemple, les tarifs se trouvent sur la plateforme.
Créer des abonnements pour facturer des comptes connectésLes plateformes peuvent créer des abonnements pour leurs comptes connectés. Dans cet exemple, les tarifs se trouvent sur la plateforme.

Restrictions

Les restrictions suivantes s’appliquent à l’utilisation de Connect pour les abonnements :

  • Votre plateforme ne peut pas modifier ni annuler un abonnement qu’elle n’a pas créé.
  • Votre plateforme ne peut pas ajouter un application_fee_amount à une facture qu’elle n’a pas créée, ou à une facture contenant des postes qu’elle n’a pas créés.
  • Seuls les comptes connectés ayant accès à l’intégralité du Dashboard Stripe peuvent gérer les abonnements de leurs clients. Pour les autres comptes connectés, la plateforme doit gérer les abonnements de leurs clients.
  • Les abonnements ne sont pas automatiquement annulés lorsque vous vous déconnectez de la plateforme. Vous devez annuler l’abonnement après votre déconnexion. Vous pouvez utiliser des webhooks pour surveiller l’activité du compte connecté.

Créer des abonnements pour le client final d’un compte connecté

Si vous développez une plateforme, vous pouvez créer des abonnements pour les clients de vos comptes connectés. Vous pouvez éventuellement prélever une commission de plateforme à chaque paiement.

Dans cet exemple, une plateforme de publication en ligne permet aux clients de s’abonner à leurs auteurs préférés et de leur verser un abonnement mensuel afin de recevoir des articles de blog premium.

Avant de commencer

Avant de pouvoir créer des abonnements pour vos clients ou vos comptes connectés, vous devez :

  1. Créer un compte connecté pour chaque personne qui reçoit de l’argent sur votre plateforme. Dans notre exemple de publication en ligne, un compte connecté représente un auteur.
  2. Créer un modèle tarifaire. Pour cet exemple, nous créons un modèle tarifaire à taux fixe pour débiter des frais aux clients de manière récurrente, mais les tarifs par utilisateur et à l’usage sont également pris en charge.
  3. Créez un objet Customer avec le moyen de paiement souhaité pour chaque personne qui s’abonne à un compte connecté. Dans notre exemple de publication en ligne, vous créez un objet Customer pour chaque lecteur qui s’abonne à un auteur.

Choisir entre les paiements directs et indirects

Vous pouvez utiliser des paiements directs ou indirects pour fractionner le paiement d’un client entre le compte connecté et votre plateforme.

Si les paiements sont directs, les clients ne sont pas conscients de l’existence de votre plateforme car c’est le nom de l’auteur, et non celui de votre plateforme, qui apparaît sur le libellé de relevé bancaire. Dans notre exemple de publication en ligne, les lecteurs interagissent directement avec les auteurs.

Les paiements directs sont recommandés pour les comptes connectés ayant accès à l’intégralité du Dashboard Stripe, ce qui inclut les comptes Standard.

Si vous souhaitez que votre plateforme soit responsable des frais Stripe, remboursements et contestations de paiement, utilisez les paiements directs. Dans notre exemple de publication en ligne, les clients s’inscrivent à votre plateforme de publication, et non directement à des auteurs spécifiques.

Les paiements indirects sont recommandés pour les comptes connectés avec accès au Dashboard Express ou les comptes connectés sans accès à un tableau de bord hébergé par Stripe, ce qui inclut les comptes Express et Custom.

Pour en savoir plus sur les différents types de paiements Connect, veuillez consulter la section concernant les types de paiements.

Utiliser les paiements directs pour créer un abonnement

Pour créer un abonnement avec des paiements associés au compte connecté, créez un abonnement en tant que compte connecté. Assurez-vous de définir le client avec un moyen de paiement par défaut, et le tarif du compte connecté. Pour utiliser un client sans moyen de paiement par défaut, définissez payment_behavior: "default_incomplete". En savoir plus sur le comportement de paiement.

Développez latest_invoice.confirmation_secret pour inclure le Payment Element, dont vous avez besoin pour confirmer le paiement. Pour en savoir plus, veuillez consulter la section Payment Element.

Pour voir un exemple illustrant l’implémentation d’un flux d’inscription pour les abonnements et d’un tunnel de paiement dans votre application, veuillez consulter le guide sur l’intégration des abonnements.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d "expand[0]"="latest_invoice.confirmation_secret"

Utiliser les paiements indirects pour créer un abonnement

Pour créer un abonnement avec des paiements associés à la plateforme, ainsi que des transferts automatiques vers un compte connecté, effectuez un appel de création d’abonnement en fournissant l’identifiant du compte connecté comme valeur pour le paramètre transfer_data[destination].

Développez latest_invoice.confirmation_secret pour inclure le Payment Element, dont vous avez besoin pour confirmer le paiement. Pour en savoir plus, veuillez consulter la section Payment Element.

Vous avez la possibilité de spécifier un paramètre application_fee_percent. Pour en savoir plus, veuillez consulter la section concernant la perception de frais.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d "expand[0]"="latest_invoice.confirmation_secret" \ -d "transfer_data[destination]"=
{{CONNECTED_ACCOUNT_ID}}

Mesures supplémentaires à prendre avant de créer un abonnement

Pour créer un paiement indirect, définissez à la fois le client et le tarif sur le compte de la plateforme. Vous devez avoir créé un compte connecté sur la plateforme. Le client doit exister au sein du compte de la plateforme. Lorsque vous utilisez des paiements indirects, la plateforme est le marchand officiel.

Créer des abonnements pour facturer les clients finaux de la plateforme

Vous pouvez utiliser Stripe Billing pour créer des abonnements afin que vos clients finaux puissent effectuer des transactions directement avec votre plateforme sans impliquer vos comptes connectés.

Dans cet exemple, une place de marché est créée pour permettre aux clients de se faire livrer à la demande par des restaurants. Cette place de marché propose aux clients un abonnement mensuel premium qui les dispense des frais de livraison. Les clients qui s’abonnent à l’offre premium paient directement la place de marché et ne s’abonnent pas à un service de livraison ou à un restaurant particulier.

Avant de commencer

Avant de créer des abonnements pour vos clients, vous devez :

  1. Créer un modèle tarifaire. Pour cet exemple, nous créons un modèle tarifaire à taux fixe pour débiter des frais aux clients de manière récurrente, mais les tarifs par utilisateur et à l’usage sont également pris en charge.
  2. Créer un client pour chaque personne que vous souhaitez facturer.

Vous pouvez également créer un compte connecté pour chaque utilisateur qui reçoit de l’argent provenant de votre place de marché. Dans notre exemple de livraison de repas à la demande, un compte connecté représente un restaurant ou un service de livraison. Cependant, cette étape n’est pas nécessaire pour l’inscription de nouveaux clients à votre place de marché.

Créer un abonnement

Pour créer un abonnement et définir votre plateforme comme destinataire des fonds (sans qu’ils transitent par les comptes connectés), suivez les instructions du guide des abonnements pour créer un abonnement avec Stripe Billing.

Créer des paiements et transferts distincts

Si vous souhaitez transférer manuellement une partie des fonds reçus par votre plateforme vers vos comptes connectés, utilisez Paiements et transferts distincts. Dans notre exemple de service de livraison de restauration à la demande, vous pouvez utiliser des frais et des transferts distincts pour verser une commission d’affiliation à un livreur ou à un restaurant ayant recommandé à un client de s’abonner au service de livraison premium.

Créer des abonnements pour facturer des comptes connectés

Vous pouvez utiliser Stripe Billing pour créer des abonnements afin de prélever une commission sur vos comptes connectés pour l’utilisation de votre plateforme.

Cet exemple présente une plateforme logicielle de gestion de salles de sport. En contrepartie d’une commission mensuelle, ces entreprises peuvent utiliser le logiciel pour gérer la planification et les horaires de cours. Les frais d’inscription incombent aux salles de sport, et non à leurs clients.

Le logiciel de gestion de salles de sport simplifie les paiements ponctuels entre les usagers et les entreprises pour chaque cours auquel un usager s’inscrit. Cet abonnement mensuel lie le compte connecté et la plateforme, l’usager de la salle de sport n’est donc pas impliqué dans cette transaction.

Dans le diagramme ci-dessus, la salle de sport représente le compte connecté et l’usager est le client final.

Avant de commencer

Avant de créer des abonnements pour vos clients ou vos comptes connectés, vous devez :

  1. Créer un compte connecté pour chaque utilisateur qui reçoit de l’argent sur votre plateforme. Dans cet exemple, le compte connecté représente la salle de sport.
  2. Créer un modèle tarifaire. Pour cet exemple, nous créons un modèle tarifaire à taux fixe pour débiter des frais aux clients de manière récurrente, mais les tarifs par utilisateur et à l’usage sont également pris en charge.
  3. Créer un client sur la plateforme avec le moyen de paiement prévu pour chaque compte connecté que vous souhaitez facturer. Dans l’exemple du logiciel de gestion de salles de sport, vous devez créer un client pour chaque salle de sport :

Créer un objet Customer pour représenter le compte connecté

Si vos comptes connectés utilisent Stripe pour traiter les paiements de leurs clients, ils ont peut-être déjà créé un objet Customer pour chaque client final.

Pour créer un abonnement permettant au compte connecté de payer des frais récurrents sur la plateforme, vous devez d’abord créer un objet Customer distinct représentant ce compte connecté.

Dans l’exemple de la salle de sport, cette entreprise utilise Stripe pour traiter les paiements ponctuels de ses clients. Ils ont déjà créé un objet Customer pour chaque usager de la salle, mais vous devez en créer un autre pour représenter la salle de sport elle-même. Ne créez qu’un seul Customer pour représenter chaque société. À l’inverse, ne créez pas de Customer pour chaque propriétaire, gestionnaire ou opérateur de la société.

Créer un abonnement pour le compte connecté

Pour créer un abonnement à l’endroit où votre plateforme reçoit les fonds de vos comptes connectés, suivez les instructions du guide des abonnements pour créer un abonnement avec Stripe Billing. L’objet Customer impliqué dans la transaction représente le compte connecté (et non le client final). Dans notre exemple de salle de sport, le CUSTOMER_ID représente l’entreprise, pas l’usager.

Activer votre intégration pour recevoir des notifications d’événement

Stripe crée des notifications d’événement lorsque des changements sont apportés à votre compte, par exemple lorsqu’un paiement récurrent aboutit ou qu’un virement échoue. Afin de recevoir ces notifications et les utiliser pour automatiser votre intégration, configurez un endpoint de webhook. Par exemple, vous pouvez donner accès à votre service lorsque vous recevez l’événement invoice.paid.

Notifications d’événements pour Connect et les intégrations d’abonnements

Voici les notifications d’événements généralement utilisées par les intégrations Connect.

ÉvénementType de data.objectDescription
account.application.deauthorizedapplicationSe produit lorsqu’un compte connecté se déconnecte de votre plateforme. Vous pouvez l’utiliser pour déclencher un nettoyage sur votre serveur. Disponible pour les comptes connectés ayant accès au Dashboard Stripe, ce qui inclut les comptes Standard.
account.external_account.updatedUn compte externe, tel que card ou bank_accountSe produit lorsqu’un compte bancaire associé ou une carte de débit associée à un compte connecté est modifié(e), ce qui peut avoir des conséquences sur les virements. Disponible pour les comptes connectés contrôlés par votre plateforme, comptes Custom et Express compris, et pour les comptes Standard dont les contrôles de la plateforme sont activés.
account.updatedaccountPermet de surveiller les évolutions des exigences relatives aux comptes connectés et les changements d’état. Disponible pour tous les comptes connectés.
balance.availablebalanceSe produit lorsque votre solde Stripe est mis à jour. Par exemple, cela se produit lorsque des fonds provenant de votre compte bancaire peuvent être transférés vers votre compte connecté.
payment_intent.succeededpayment_intentSe produit lorsqu’un Payment Intent aboutit à un paiement réussi. Disponible pour tous les paiements, y compris les paiements de destination et directs.
payout.failedpayoutSe produit quand un virement échoue. Lorsqu’un virement échoue, le compte externe concerné est désactivé. Aucun virement automatique ou manuel ne peut être traité tant que le compte externe n’a pas été mis à jour.
person.updatedpersonSe produit lorsqu’une Person associé au Account est modifiée. Si vous utilisez l’API Persons pour gérer les exigences, écoutez cet événement pour surveiller les évolutions des exigences et les changements d’état des personnes. Disponible pour les comptes connectés contrôlés par votre plateforme, comptes Custom et Express compris, et pour les comptes Standard dont les contrôles de la plateforme sont activés.

Voici les notifications d’événements généralement utilisées par les intégrations d’abonnements.

customer.createdEnvoyé lorsqu’un objet Customer a bien été créé.
customer.subscription.createdSent when the subscription is created. The subscription status might be incomplete if customer authentication is required to complete the payment or if you set payment_behavior to default_incomplete.
customer.subscription.deletedEnvoyé lorsque l’abonnement d’un client prend fin.
customer.subscription.pausedEnvoyé lorsque le status d’un abonnement passe à paused. Par exemple, l’événement est envoyé lorsqu’un abonnement est configuré pour être suspendu lorsqu’un essai gratuit prend fin sans moyen de paiement. La facturation n’aura pas lieu tant que l’abonnement n’aura pas repris. Nous n’envoyons pas cet événement si l’encaissement des paiements est suspendu, car des factures continuent d’être créées pendant cette période.
customer.subscription.resumedEnvoyé lors de la reprise d’un abonnement qui était à l’état paused. Cela ne s’applique pas lorsque l’encaissement des paiements est réactivé.
customer.subscription.trial_will_endEnvoyé trois jours avant la fin de la période d’essai. Si la période d’essai est inférieure à trois jours, l’événement est déclenché.
customer.subscription.updatedEnvoyé lorsqu’un abonnement démarre ou est modifié. Par exemple, le renouvellement d’un abonnement, l’ajout d’un bon de réduction, l’application d’une réduction, l’ajout d’un poste de facture et le changement de plan déclenchent sont des situations qui déclenchent cet événement.
entitlements.active_entitlement_summary.updatedEnvoyé lorsque les droits actifs d’un client sont mis à jour. Lorsque vous recevez cet événement, vous pouvez donner ou retirer l’accès aux fonctionnalités de votre produit. En savoir plus sur l’intégration des droits.
invoice.createdEnvoyé lorsqu’une facture est créée pour un nouvel abonnement ou un renouvellement. Si Stripe ne reçoit pas une réponse positive à invoice.created, la finalisation de toutes les factures avec l’encaissement automatique est retardée de 72 heures au maximum. Renseignez-vous sur la finalisation des factures.
  • Répondez à la notification en envoyant une requête à l’API de finalisation des factures.
invoice.finalizedEnvoyé lorsqu’une facture est finalisée et prête à être payée.
  • Vous pouvez envoyer la facture au client. Familiarisez-vous avec la finalisation des factures pour en savoir plus.
  • Selon vos paramètres, nous débitons automatiquement le moyen de paiement par défaut ou tentons un encaissement. Renseignez-vous sur les e-mails après la finalisation pour en savoir plus.
invoice.finalization_failedLa facture n’a pas pu être finalisée. Reportez-vous à la page consacrée à la gestion des échecs de finalisation des factures. Davantage d’informations à propos de la finalisation des factures sont disponibles dans le guide de présentation générale des factures.
  • Inspectez e champ last_finalization_error de l’objet Invoice pour déterminer la cause de l’erreur.
  • Si vous utilisez Stripe Tax, vérifiez le champ automatic_tax de l’objet Invoice.
  • Si automatic_tax[status]=requires_location_inputs, la facture ne peut pas être finalisée et les paiements ne sont pas perçus. Prévenez votre client et collectez la localisation du client demandée.
  • Si automatic_tax[status]=failed, relancez la requête plus tard.
invoice.paidEnvoyé lorsque la facture est réglée. Vous pouvez fournir l’accès à votre produit dès la réception de cet événement et le basculement du status de l’abonnement sur active.
invoice.payment_action_requiredEnvoyé lorsque la facture nécessite une authentification du client. Découvrez comment gérer un abonnement quand une action est requise pour la facture.

invoice.payment_failed

Le paiement d’une facture a échoué. L’état du PaymentIntent bascule sur requires_action. L’état de l’abonnement reste incomplete seulement pour la première facture de l’abonnement. Lorsqu’un paiement échoue, plusieurs actions sont possibles :

  • Prévenez votre client.
  • Configurez vos paramètres d’abonnement dans le Dashboard pour activer Smart Retries et d’autres fonctionnalités de recouvrement de revenus.
  • Si vous utilisez des PaymentIntents, recueillez de nouvelles données de paiement et confirmez le PaymentIntent.
  • Mettez à jour le moyen de paiement par défaut de l’abonnement.
invoice.upcomingEnvoyé quelques jours avant le renouvellement de l’abonnement. Le nombre de jours dépend de la valeur Événements de renouvellement à venir configurée dans le Dashboard. Pour les abonnements existants, la modification du nombre de jours prend effet à la période de facturation suivante. Vous pouvez toujours ajouter des postes de facture supplémentaires si nécessaire.
invoice.updatedEnvoyé lorsqu’un paiement aboutit ou échoue. Si le paiement aboutit, l’attribut paid est défini sur true et le status sur paid. Si le paiement échoue, paid est défini sur false et le status reste open. Les échecs de paiement déclenchent par ailleurs un événement invoice.payment_failed.
payment_intent.createdEnvoyé lorsqu’un PaymentIntent est créé.
payment_intent.succeededEnvoyé lorsqu’un PaymentIntent a effectué un paiement avec succès.
subscription_schedule.abortedEnvoyé lorsqu’une planification d’abonnement est annulée car un défaut de paiement a entraîné la résiliation de l’abonnement correspondant.
subscription_schedule.canceledEnvoyé lorsqu’une planification d’abonnement est annulée, ce qui annule également tout abonnement actif associé.
subscription_schedule.completedEnvoyé lorsque toutes les phases d’une planification d’abonnement sont terminées.
subscription_schedule.createdEnvoyé lorsqu’une nouvelle planification d’abonnement est créée.
subscription_schedule.expiringEnvoyé 7 jours avant la date d’expiration d’un abonnement.
subscription_schedule.releasedEnvoyé lorsqu’une planification d’abonnement est publiée, ou interrompue et dissociée de l’abonnement, lequel est conservé.
subscription_schedule.updatedEnvoyé lorsqu’une planification d’abonnement est mise à jour.
  • Créer un endpoint de webhook
  • Écouter des événements avec la CLI Stripe
  • Connecter des webhooks
  • Webhook d’abonnement

Tester votre intégration

Une fois que vous avez créé votre abonnement, testez soigneusement votre intégration avant de la proposer aux clients ou de l’utiliser en mode production. Pour en savoir plus, veuillez consulter la page test pour Stripe Billing.

Options supplémentaires

Après avoir créé votre abonnement, vous pouvez entre autres indiquer un application_fee_percent, configurer le portail client, facturer votre client à l’aide du paramètre on_behalf_of et surveiller les abonnements avec des webhooks, en plus d’autres options.

Encaisser des frais sur les abonnements

Une fois par période de facturation, Stripe prélève un pourcentage sur le montant de la facture finale, qui inclut les postes de facture regroupés, les ristournes et les réajustements de solde du client, au titre de la commission de la plateforme. Nous déduisons ces frais avant de facturer des frais Stripe.

Lorsque vous créez ou modifiez un abonnement, vous avez la possibilité de spécifier un paramètre application_fee_percent. Il doit s’agir d’un nombre décimal positif compris entre 0 et 100, avec un maximum de deux chiffres après la virgule.

L’exemple suivant présente un application_fee_percent pour des abonnements utilisant les paiements directs sur des comptes connectés :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d "expand[0]"="latest_invoice.confirmation_secret" \ -d application_fee_percent=10

Cet exemple montre comment utiliser le paramètre application_fee_percent pour des abonnements utilisant les paiements indirects :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d "expand[0]"="latest_invoice.confirmation_secret" \ -d application_fee_percent=10 \ -d "transfer_data[destination]"=
{{CONNECTED_ACCOUNT_ID}}

Calcul du pourcentage de commission de la plateforme

Pour savoir comment nous calculons application_fee_percent, examinez le scénario suivant :

  • Un abonnement coûte 30 USD par cycle de facturation
  • La prochaine facture inclut des frais à hauteur de 10 USD
  • Un bon de réduction de 50 % s’applique
  • L’application_fee_percent est de 10

Dans ce cas, le montant total de la commission de la plateforme est de 2 USD : (30 USD + 10 USD) * 50 % * 10 %.

Frais variables et frais fixes

Les commissions de la plateforme sur les abonnements sont normalement exprimées en pourcentage, car pour les abonnements, le montant facturé varie fréquemment. Vous ne pouvez pas définir de montant fixe pour la commission de la plateforme d’un abonnement récurrent.

Cependant, vous pouvez facturer un application_fee_amount fixe sur une facture, comme expliqué dans la section suivante.

Le paramètre application_fee_percent ne peut s’appliquer aux facture créées en dehors d’une période de facturation d’un abonnement. Par exemple, il ne s’applique pas aux postes de facture au prorata à facturer immédiatement. Pour ce type de cas de figure, vous devez définir sur la facture un paramètre application_fee_amount du montant que vous souhaitez facturer.

Gérer les factures créées par des abonnements

À chaque cycle de facturation, les abonnements créent des factures, et ces factures créent des paiements. Pour en savoir plus sur les cycles des abonnements, veuillez consulter la section concernant le cycle de vie des abonnements. Pour facturer des frais fixes ou dynamiques qui ne soient pas automatiquement calculés avec le paramètre application_fee_percent, ajoutez directement un paramètre application_fee_amount sur chaque facture créée par l’abonnement.

L’exemple suivant montre comment utiliser application_fee_amount pour une facture avec paiement direct sur le compte connecté :

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/invoices/{INVOICE_ID} \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d application_fee_amount=100 \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}"

L’exemple suivant montre comment utiliser application_fee_amount pour une facture avec paiement indirect :

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/invoices/{INVOICE_ID} \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d application_fee_amount=100 \ -d "transfer_data[destination]"="{{CONNECTED_STRIPE_ACCOUNT_ID}}"

Pour facturer automatiquement un application_fee_amount, créez un webhook qui écoute l’événement invoice.created. Vous pouvez également le faire manuellement en créant une facture pour des postes en attente, sur laquelle vous définissez la commission de la plateforme.

Lorsque vous définissez un paramètre application_fee_amount directement sur une facture, il prime sur les éventuelles commissions de la plateforme calculées à l’aide du paramètre application_fee_percent, et ne peut dépasser le montant total de la facture.

Utiliser des bons de réduction

Une fois les abonnements créés, vous pouvez y ajouter des bons de réduction. Les bons de réduction sont des objets utilisables côté marchand qui vous permettent de contrôler les ristournes applicables aux abonnements ou aux factures. Les codes promotionnels sont des codes destinés aux clients que vous associez à vos bons de réduction et que vous partagez directement avec vos clients. Pour en savoir plus, veuillez consulter la section concernant la création des codes destinés aux clients.

Utiliser des périodes d'essai

Vous pouvez démarrer l’abonnement d’un client avec une période d’essai gratuite en donnant un argument trial_end lors de la création de l’abonnement :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d trial_end=1610403705

Le paramètre trial_end comprend un horodatage indiquant le moment exact où la période d’essai s’arrête. Lors de la création d’un abonnement, vous pouvez également utiliser l’argument trial_period_days : un nombre entier représentant le nombre de jours de la période d’essai, à compter de l’instant présent.

Lors de la création d’un abonnement avec une période d’essai, il n’est pas nécessaire d’avoir de moyen de paiement pour le client. Nous créons néanmoins immédiatement une facture, mais avec un montant de 0 USD.

Trois jours avant la fin de la période d’essai, un événement customer.subscription.trial_will_end est envoyé à votre endpoint de webhook. Une fois que vous avez pris connaissance de cette notification, prenez les mesures nécessaires (par exemple, en informant le client que la facturation va débuter).

Lorsque l’essai s’achève, un nouveau cycle de facturation débute pour le client. Une fois que la période d’essai est terminée, Stripe génère une facture et envoie une notification d’événement invoice.created. Environ 1 heure plus tard, Stripe tente de débiter cette facture.

Pour mettre fin à une période d’essai de façon anticipée, exécutez un appel à l’API Update Subscription, en définissant la valeur trial_end sur un nouvel horodatage ou maintenant pour y mettre fin immédiatement :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions/
{{SUBSCRIPTION_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d trial_end=now

Découvrez comment retarder les paiements d’abonnements actifs à l’aide de périodes d’essai.

Configurer le portail client

Le portail client permet à vos clients de gérer leurs abonnements et leurs factures. Si vous utilisez Billing, le portail leur permet également de gérer leurs abonnements (mise à jour, annulation, suspension, etc.). Les utilisateurs qui utilisent seulement Invoicing peuvent recourir au portail pour payer une facture, ajouter un moyen de paiement, etc. Pour en savoir plus, veuillez consulter la page concernant l’intégration du portail client.

Surveiller les abonnements avec des webhooks

Nous envoyons des notifications à votre application en utilisant des webhooks. Les webhooks sont particulièrement importants pour les abonnements, où la majeure partie de l’activité survient de manière asynchrone. Pour utiliser les webhooks avec vos abonnements :

  1. Créez un endpoint de webhook dans votre application.
  2. Ajoutez la logique voulue pour gérer les événements Stripe. Pour les abonnements, il s’agit principalement de traiter les échecs de paiement et les changements d’état de l’abonnement (comme le basculement d’une période d’essai à l’état actif).
  3. Testez votre endpoint de webhook pour confirmer qu’il fonctionne comme prévu.

Découvrez comment utiliser les webhooks pour recevoir des notifications en cas d’activité liées à vos abonnements.

Configurer le compte connecté en tant qu'entité de règlement à l'aide du paramètre on_behalf_of

Vous pouvez créer ou mettre à jour un abonnement avec le paramètre on_behalf_of pour plusieurs raisons :

  • Pour configurer le compte connecté en tant qu’entité de règlement
  • Pour utiliser la marque d’un compte connecté dans des ressources hébergées (reçus par e-mail, factures et portail client)

Consultez la documentation suivante pour connaître les conditions d’utilisation de on_behalf_of et obtenir plus d’informations sur la façon dont cela influe sur les paiements sur les abonnements :

  • S’agissant des transferts automatiques vers le compte connecté, consultez les informations relatives au paramètre on_behalf_of de la page Paiement au nom d’un compte connecté.
  • Pour savoir comment transférer des paiements manuellement, veuillez consulter la section sur la disponibilité des transferts de la page Créer des paiements et des transferts distincts.
  • Pour obtenir la liste des fonctionnalités requises au niveau du compte afin de traiter les moyens de paiement, veuillez consulter la section sur les Fonctionnalités des moyens de paiement.
  • Pour obtenir la liste des options de marque à activer sur le compte connecté, reportez-vous aux détails du paramètre settings.branding dans la documentation relative à l’API

L’exemple suivant illustre l’utilisation d’un paramètre on_behalf_of pour un nouvel abonnement à l’aide de paiements et transferts distincts :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d customer=
{{CUSTOMER_ID}}
\ -d on_behalf_of=
{{CONNECTED_ACCOUNT_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}

Cet exemple montre comment utiliser on_behalf_of avec un paiement indirect et la commission de la plateforme :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d on_behalf_of=
{{CONNECTED_ACCOUNT_ID}}
\ -d application_fee_percent=10 \ -d "transfer_data[destination]"=
{{CONNECTED_ACCOUNT_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}

Comprendre le comportement de déconnexion

Lorsqu’un compte connecté est déconnecté d’une plateforme, les abonnements ne sont pas automatiquement annulés. Cependant, certains aspects de l’encaissement des paiements peuvent continuer ou cesser en fonction du type de paiement utilisé.

Paiements directs

Après la déconnexion, les abonnements continuent de s’exécuter sur le compte connecté. Si l’abonnement a été créé avec le paramètre application_fee_percent, les frais de la plateforme continuent d’être collectés par la plateforme après la déconnexion. Supprimez le paramètre application_fee_percent de l’abonnement avant que le compte connecté ne se déconnecte de votre plateforme. Après la déconnexion, le compte connecté peut effacer le paramètre application_fee_percent des abonnements existants par le biais de l’API.

Paiements indirects ou paiements et transferts distincts

Après la déconnexion, les abonnements existants créés comme paiements indirects ou comme paiements et transferts distincts continuent de générer des factures, mais ils ne peuvent pas transférer de fonds vers un compte connecté. Avant la déconnexion, vous devez aider les comptes connectés à migrer des abonnements ou annuler les abonnements associés.

Paiements indirects avec on_behalf_of

Lorsqu’un compte connecté est déconnecté d’une plateforme, les abonnements on_behalf_of ne débiteront pas le client pour les factures d’abonnement définies sur charge_automatically. Nous continuons à générer des factures d’abonnement pour chaque cycle, mais elles restent à l’état de brouillon avec auto_advance défini sur false.

Pour continuer à encaisser le paiement, vous devez reconnecter le compte déconnecté ou supprimer ces champs de la facture d’abonnement et retenter le paiement sur ces factures.

Intégrer le calcul et la collecte des taxes

Vous devez d’abord déterminer l’entité redevable de la taxe, qui peut être votre compte connecté ou la plateforme, en fonction de votre modèle économique. Pour en savoir plus, veuillez consulter la page Utiliser Stripe Tax avec Connect.

Voir aussi

  • Créer des factures
  • Créer un paiement
  • Partager les clients entre comptes
  • Gérer plusieurs devises
Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Rejoignez notre programme d'accès anticipé.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc