Créez des paiements sur votre compte de plateforme, percevez les frais et transférez immédiatement les fonds restants vers vos comptes connectés.
Créez des paiements indirects lorsque les clients effectuent des transactions sur votre plateforme pour des produits ou des services proposés par vos comptes connectés et transférez immédiatement des fonds vers vos comptes connectés. Avec ce type de paiement :
Vous créez un paiement sur le compte de votre plateforme.
Vous déterminez si ces fonds sont à transférer partiellement ou en totalité dans votre compte connecté.
Le solde de votre compte sera débité du coût de la commission Stripe, des remboursements et des contestations de paiement.
Ce type de paiement est le mieux adapté aux places de marché telles qu’Airbnb (location de logements) ou Lyft (covoiturage).
Les paiements indirects ne sont pris en charge que si votre plateforme et le compte connecté se trouvent dans le même pays. Pour la prise en charge interrégionale, vous devez spécifier le marchand de règlement au compte connecté en utilisant le paramètre on_behalf_of sur l’intention de paiement ou d’autres scénarios de virements transfrontaliers valides.
A Checkout Session controls what your customer sees in the payment form such as line items, the order amount and currency, and acceptable payment methods. Add a checkout button to your website that calls a server-side endpoint to create a Checkout Session.
payment_intent_data[transfer_data][destination] : ce paramètre indique qu’il s’agit d’un paiement indirect. Un paiement indirect désigne un paiement traité sur la plateforme et pour lequel les fonds sont ensuite immédiatement et automatiquement transférés vers le solde en attente du compte connecté.
line_items : ce paramètre spécifie les articles achetés par votre client. Ces articles sont affichés dans le formulaire de paiement intégré.
success_url : Stripe redirige le client vers l’URL d’opération réussie après qu’un paiement aboutit et remplace la chaîne {CHECKOUT_SESSION_ID} par l’ID de la session Checkout. Servez-vous en pour récupérer la session Checkout et en inspecter l’état afin de décider de ce que vous allez montrer à vos clients. Vous pouvez également ajouter vos propres paramètres de requête, qui persistent tout au long du processus de redirection. Consultez la page Personnaliser le comportement de redirection avec une page hébergée par Stripe pour en savoir plus.
payment_intent_data[application_fee_amount] : ce paramètre précise le montant que votre plateforme prévoit de prélever sur la transaction. Une fois le paiement capturé, le montant total du paiement est immédiatement transféré depuis la plateforme vers le compte connecté spécifié par le paramètre transfer_data[destination]. Ensuite, le montant application_fee_amount est à nouveau transféré vers la plateforme, et les frais Stripe sont déduits de ce montant.
Lors du traitement des paiements indirects, Checkout utilise les paramètres de marque du compte de votre plateforme. Pour en savoir plus, consultez la section consacrée à la personnalisation des paramètres de marque.
Stripe envoie un événement checkout.session.completed à l’issue du paiement. Utilisez un webhook pour recevoir ces événements et exécuter des actions en conséquence, comme l’envoi d’un e-mail de confirmation de commande à votre client, l’enregistrement de la vente dans une base de données ou le lancement d’un flux de livraison.
Nous vous conseillons d’écouter ces événements plutôt que d’attendre un rappel du client. Côté client, il arrive en effet que l’utilisateur ferme la fenêtre de son navigateur ou quitte l’application avant l’exécution du rappel. Avec certains moyens de paiement, la confirmation du paiement peut par ailleurs prendre entre 2 et 14 jours. Configurer votre intégration de manière à ce qu’elle écoute les événements asynchrones vous permettra d’accepter plusieurs moyens de paiement avec une seule intégration.
Stripe recommande de gérer tous les événements suivants lors de la collecte de paiements avec Checkout :
Le paiement a été refusé ou a échoué pour une autre raison.
Contactez le client par e-mail et demandez-lui de passer une nouvelle commande.
Ces événements incluent tous l’objet Checkout Session. Une fois le paiement effectué, l’ sous-jacent passe de étatprocessing à succeeded ou à un état d’échec.
Le paiement par carte bancaire aboutit et ne nécessite pas d’authentification.
Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix.
Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix.
La carte est refusée avec un code de refus de type insufficient_funds.
Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix.
La carte UnionPay a un numéro d’une longueur variable, allant de 13 à 19 chiffres.
Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix.
Consultez la section consacrée aux tests pour obtenir des informations supplémentaires sur la manière de tester votre intégration.
Lorsque vous créez des paiements avec un paramètre application_fee_amount, la totalité du montant du paiement est transférée de la plateforme vers le compte transfer_data[destination] directement après la capture du paiement. Le montant des commissions, application_fee_amount (qui ne peut dépasser le montant du paiement) est ensuite de nouveau transféré, du compte vers la plateforme.
Une fois les commissions de plateforme perçues, un objet Application Fee est créé. Vous pouvez afficher une liste des commissions de plateforme dans le Dashboard, avec les commissions de plateforme ou dans Sigma. Vous pouvez également utiliser la propriété amount de l’objet Application Fee pour établir des rapports détaillés sur les frais.
Lorsque vous utilisez application_fee_amount, il convient de savoir les choses suivantes :
Le application_fee_amount est plafonné au montant total de la transaction.
Le montant application_fee_amount est toujours calculé dans la même devise que la transaction.
La commission de la plateforme est exprimée dans la même devise que la devise de règlement du compte connecté. Dans le cas des paiements indirects transfrontaliers, elle peut être différente de la devise de règlement de votre plateforme.
Votre plateforme paie les frais Stripe après le transfert du application_fee_amount dans votre compte.
Aucune commission Stripe supplémentaire n’est appliquée au montant.
Votre plateforme peut utiliser le reporting intégré des commissions de plateforme pour rapprocher les commissions encaissées.
Dans les tableaux de bord ou les composants hébergés par Stripe, tels que le composant d’informations de paiement, votre compte connecté peut afficher à la fois le montant total et le montant des commissions de la plateforme.
Mouvements de fonds
Avec le code ci-dessus, le montant total du paiement (10 USD) est ajouté au solde en attente du compte connecté. La somme correspondant au paramètre application_fee_amount (1,23 USD) est déduite du montant du paiement et transférée sur votre plateforme. Les frais Stripe (0,59 USD) sont déduits du solde du compte de votre plateforme. Le montant de la commission de plateforme moins les frais Stripe (1,23 USD - 0,59 USD = 0,64 USD) reste dans le solde du compte de votre plateforme.
Le montant application_fee_amount devient disponible selon la fréquence normale de transfert sur le compte la plateforme, tout comme les fonds provenant des paiements ordinaires Stripe.
Personnaliser l’image de marque
Votre plateforme utilise les paramètres de marque du Dashboard pour personnaliser l’image de marque sur la page des paiements. Pour les paiements indirects, Checkout utilise les paramètres de marque du compte de la plateforme. Pour les paiements indirects avec on_behalf_of, Checkout utilise les paramètres de marque du compte connecté.
Les plateformes peuvent configurer les paramètres de marque des comptes connectés à l’aide de l’API Update Account :
icon : s’affiche à côté du nom de l’entreprise dans l’en-tête de la page Checkout.
logo : utilisé à la place de l’icône et du nom de l’entreprise dans l’en-tête de la page Checkout.
primary_color : utilisé comme couleur d’arrière-plan sur la page Checkout.
secondary_color : utilisé comme couleur des boutons sur la page Checkout.
Le choix de l’entité de règlement dépend des fonctionnalités définies sur un compte et de la manière dont un paiement est créé. L’entité de règlement détermine quelles seront les informations à utiliser pour effectuer le paiement. Elles comprennent le libellé du relevé (celui de la plateforme ou celui du compte connecté) affiché sur la carte de crédit du client ou le relevé bancaire pour ce paiement.
Préciser l’entité de règlement vous permet d’être plus explicite concernant les personnes pour lesquelles les paiements doivent être créés. Par exemple, certaines plateformes préfèrent être l’entité de règlement parce que le client final communique directement avec leur plateforme (comme dans le cas des plateformes à la demande). Cependant, certaines plateformes ont des comptes connectés qui communiquent directement avec les clients finaux (par exemple, une vitrine sur une plateforme d’e-commerce). Dans ce scénario, il est plus logique que le compte connecté soit l’entité de règlement.
Vous pouvez définir le paramètre on_behalf_of sur l’ID d’un compte connecté pour faire de ce compte l’entité de règlement pour le paiement. Lorsque vous utilisez on_behalf_of :
Les paiements sont réglés dans le pays et dans la devise de règlement du compte connecté.
La structure des frais appliquée est celle du pays du compte connecté.
Le libellé de relevé bancaire du compte connecté apparaît sur le relevé de carte bancaire du client.
Si le compte connecté relève d’un autre pays que celui de la plateforme, l’adresse et le numéro de téléphone du compte connecté sont affichés sur le relevé de carte bancaire du client.
Le nombre de jours durant lesquels un solde en attente est bloqué avant d’être versé dépend du paramètre delay_days du compte connecté.
Si le paramètre on_behalf_of est ignoré, la plateforme est l’entreprise de référence pour le paiement.
Mise en garde
Le paramètre on_behalf_of est pris en charge uniquement pour les comptes connectés disposant de la fonctionnalité card_payments. Les comptes soumis au contrat de service pour les bénéficiaires ne peuvent pas demander l’attribut card_payments.
Émettre des remboursements
Si vous utilisez l’API Payment Intents, les remboursements doivent être émis sur le dernier paiement créé.
Les paiements créés sur le compte de la plateforme peuvent être remboursés en utilisant la clé secrète du compte de la plateforme. Lorsque vous remboursez un paiement comportant un transfer_data[destination], par défaut le compte de destination garde les fonds transférés, laissant le compte de la plateforme couvrir le solde négatif du remboursement. Pour récupérer les fonds du compte connecté afin de couvrir le remboursement, définissez le paramètre reverse_transfer sur true lors de la création du remboursement :
Par défaut, la totalité du paiement est remboursée, mais vous pouvez créer un remboursement partiel en définissant le paramètre amount sur un nombre entier positif.
Si le remboursement entraîne le remboursement de la totalité du paiement, la totalité du transfert est annulée. Dans le cas contraire, un montant proportionnel du transfert est annulé.
Rembourser les commissions de la plateforme
Lorsque vous remboursez un paiement comportant une commission de la plateforme, par défaut le compte de la plateforme garde les fonds correspondant à la commission. Pour rediriger ces fonds vers le compte connecté, définissez le paramètre refund_application_fee sur true lors de la création du remboursement :
Notez que si vous remboursez la commission de la plateforme pour un paiement indirect, vous devez également annuler le transfert. Si le remboursement se traduit par le remboursement de la totalité du paiement, la totalité de la commission est également remboursée. Dans le cas contraire, un montant proportionnel de la commission est remboursé.
Vous pouvez également fournir la valeur false pour refund_application_fee et rembourser les commissions de la plateforme séparément via l’API.
Welcome to the Stripe Shell!
Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your
Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe
resources in test mode.
- View supported Stripe commands:
- Find webhook events:
- Listen for webhook events:
- Call Stripe APIs: stripe [api resource] [operation] (e.g., )
Le shell Stripe est plus optimisé sur la version bureau.