Accéder directement au contenu
Créez un compte ou connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compteConnectez-vous
Démarrer
Paiements
Revenus
Plateformes et marketplaces
Gestion de fonds
Ressources pour les développeurs
API et SDKAide

Contrôle des transferts bancaires et par carte de débit

Stripe permet aux plateformes d'avoir un contrôle total sur les transferts pour ses comptes Custom Connect.

Mise en garde

Cette page décrit une ancienne version des virements de comptes connectés. Si votre intégration n’utilise pas encore cette version, consultez la page Virements vers des comptes connectés.

Comptes Standard et comptes Custom

Ce guide s’applique uniquement aux comptes Custom, pour lesquels vous êtes responsable de toute la communication et des interactions avec le titulaire du compte.

Si vous souhaitez vous connecter à un compte Stripe existant, ou si vous voulez que Stripe s’occupe de collecter les pièces d’identité ainsi que d’autres modalités, consultez la page relative aux comptes Standard.

Par défaut, tout paiement que vous effectuez au nom d’un compte connecté vient s’ajouter au solde Stripe de ce dernier et fait l’objet d’un virement quotidien de façon continue. Cependant, Stripe propose un contrôle précis de ce comportement pour les comptes Custom.

Vous pouvez :

  • Définir les comptes bancaires et cartes de débit de destination
  • Contrôler la fréquence à laquelle les fonds font l’objet d’un virement automatique
  • Effectuer des transferts manuels
  • Verser des fonds instantanément

Gestion des comptes bancaires et des cartes de débit

Les comptes Custom ont une propriété external_accounts : il s’agit d’une liste de tous les comptes bancaires et cartes de débit associés au compte Stripe. Tout compte externe est une destination possible des fonds.

{ "id":
"{{CONNECTED_ACCOUNT_ID}}"
, "object": "account", "external_accounts": { "object": "list", "has_more": false, "url": "/v1/accounts/acct_14qyt6Alijdnw0EA/external_accounts", "data": [ { "id":
"{{BANK_ACCOUNT_ID}}"
, "object": "bank_account", "account": "acct_14qyt6Alijdnw0EA", "account_holder_name": "Jane Austen", "account_holder_type": "individual", "bank_name": "STRIPE TEST BANK", "country": "US", "currency": "usd", "default_for_currency": false, "fingerprint": "sSZ2yLp0EZTH17cF", "last4": "6789", "metadata": { }, "routing_number": "110000000", "status": "new" }, {...}, {...}, ], ... }

Les comptes de destination sont ajoutés à l’aide du paramètre external_accounts lors de la création ou de la mise à jour de comptes Stripe. La valeur doit correspondre à un compte bancaire ou un token de carte de débit renvoyé par Stripe.js. Vous pouvez également fournir un hachage des coordonnées bancaires, mais l’utilisation de Stripe.js est préférable, car elle permet d’éviter le stockage de données sensibles sur votre serveur.

L’utilisation des cartes de débit comme destination de transfert est soumise aux restrictions suivantes :

  • Il doit s’agir d’une carte Visa, Mastercard ou Discover, émise aux États-Unis et non prépayée
  • Le plafond est limité à 9 999 USD par transfert avec Instant Payouts
  • Le montant est généralement limité à 3 000 USD par transfert dans les autres cas

Gestion de plusieurs comptes bancaires et cartes de débit

Par défaut, la saisie d’une nouvelle valeur pour external_accounts durant la mise à jour d’un compte Custom remplace le compte existant par le nouveau. Pour ajouter des comptes ou des cartes de débit supplémentaires à un compte connecté, utilisez les endpoints de l’API de création de comptes bancaires et de cartes.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
/external_accounts
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d external_account=
"{{BANK_ACCOUNT_TOKEN_ID}}"

Lorsque vous gérez plusieurs devises, Stripe envoie automatiquement les transferts vers un compte bancaire ou une carte de débit associé(e) à la devise concernée afin d’éviter les frais de change. Lorsque plusieurs comptes sont disponibles pour une devise donnée, Stripe utilise celui défini comme default_for_currency.

Stripe tient à jour une liste des combinaisons de pays/devises disponibles que vous pouvez consulter et qui permet à vos utilisateurs de choisir entre les différentes options prises en charge.

Informations de virement

Lorsque vous utilisez des transferts automatiques, la propriété transfer_schedule du compte indique la fréquence selon laquelle le virement du solde du compte Stripe est automatiquement effectué.

{ ... "transfer_schedule": { "delay_days": 7, "interval": "daily" }, ... }

La propriété delay_days correspond à la durée nécessaire pour que les paiements (ou les transferts associés) soient disponibles pour le virement. Ce champ est utile pour contrôler les virements automatiques. Par exemple, si vous souhaitez que les fonds soient déposés sur vos comptes Custom 2 semaines après le paiement, configurez les paramètres interval sur daily et delay_days sur 14. La valeur par défaut est la plus petite valeur autorisée pour le compte, tel que déterminé par le pays du compte connecté. Lorsque vous configurez ou mettez à jour ce champ, vous pouvez passer la chaîne minimum pour choisir la plus petite valeur autorisée.

Quatre paramètres sont possibles pour la propriété interval :

  • manual empêche les virements automatiques. Vous devrez effectuer manuellement les virements du solde du compte à l’aide de l’API Transfers (en agissant en tant que compte connecté). Définissez également un compte sur manual pour utiliser Instant Payouts.
  • Le paramètre quotidien assure le virement automatique des paiements delay_days jours après leur création. La valeur delay_days ne peut pas être inférieure à votre propre fréquence de virement ou à la fréquence de virement par défaut du compte.
  • Le paramètre hebdomadaire assure le virement automatique du solde une fois par semaine, selon le jour précisé par le paramètre weekly_anchor (un jour de la semaine en minuscule tel que lundi).
  • Le paramètre mensuel assure le virement automatique du solde une fois par mois, selon le jour précisé par le paramètre monthly_anchor (un chiffre de 1 à 31).

Utilisation des transferts manuels

Si vous affectez la valeur manual à transfer_schedule[interval] à l’aide de l’API Accounts, Stripe conserve les fonds dans le solde du titulaire du compte jusqu’à la réception d’une demande de virement (ou pendant une durée maximale de 90 jours). Pour déclencher un virement de ces fonds, utilisez l’API Transfers.

L’API Transfers ne sert qu’à transférer des fonds du solde d’un compte connecté Stripe vers un compte externe. Pour transférer des fonds entre des comptes Stripe, consultez la documentation sur la création de paiements et transferts distincts ou sur la création de paiements indirects via la plateforme.

Remarque

La mise sous séquestre a une définition juridique précise et Stripe ne prendre en charge les comptes de séquestre. Cependant, nous fournissons une fonctionnalité similaire avec les transferts manuels. Ceux-ci vous permettent de contrôler les dates de vos transferts, avec la possibilité de les retarder virement 'à 90 jours sur les comptes Custom.

Lorsqu’il existe un risque de retard de livraison ou de demande de remboursement, vous pouvez utiliser les transferts manuels comme alternative à la mise sous séquestre.

Transferts Standard

Prenons l’exemple d’un transfert basique du solde Stripe d’un compte Custom vers son compte externe pour un montant de 10 USD :

Command Line
curl
Ruby
Python
PHP
Node.js
No results
curl https://api.stripe.com/v1/transfers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}" \ -d "amount"=1000 \ -d "currency"="usd" \ -d "destination"="default_for_currency"

Le paramétrage destination=default_for_currency indique à Stripe d’effectuer le transfert vers le compte bancaire ou la carte de débit par défaut du compte par rapport à la devise donnée.

Un transfert standard vous permet de faire un virement d’un montant inférieur ou égal au solde disponible de l’utilisateur. Pour connaître ce montant, effectuez un appel de récupération de solde en son nom.

Stripe suit les contributions de solde provenant de différentes sources sous forme de soldes distincts. La réponse de récupération du solde détaille les différents composants de chaque solde par type de source. Par exemple, si vous souhaitez créer un transfert pour un solde autre qu’un solde de carte bancaire, indiquez le paramètre source_type dans votre requête.

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/transfers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=24784 \ -d "currency"="usd" \ -d "destination"="default_for_currency" \ -d "source_type"="bank_account"

Notez qu’il est possible que le composant de solde de n’importe quelle source devienne négatif (en raison de remboursements ou rétrofacturation), et les transferts ne peuvent pas être créés pour un montant supérieur au solde total disponible.

Utilisation de Instant Payouts

Instant Payouts vous permet d’effectuer des virements instantanés vers une carte de débit d’un compte Custom. Les fonds apparaissent généralement sur le compte bancaire concerné au bout de 30 minutes, permettant de passer du paiement au virement en quelques instants.

Pour utiliser Instant Payouts, spécifiez instant au niveau de la propriété method lors de la création du transfert :

Command Line
curl
Ruby
Python
PHP
Node.js
No results
curl https://api.stripe.com/v1/transfers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}" \ -d "amount"=1000 \ -d "currency"="usd" \ -d "method"="instant"

Instant Payouts est différent à plusieurs égards des autres transferts manuels :

  • Vous pouvez transférer le solde disponible d’un compte ainsi que son solde en attente
  • Les virements Instant Payouts peuvent être demandés les week-ends et les jours fériés

Dans un premier temps, les plateformes peuvent transférer jusqu’à 500 USD par jour au total (pour l’ensemble de leurs comptes connectés) via Instant Payouts. Si vous avez besoin de relever ce seuil, contactez-nous.

Instant Payouts est disponible pour la plupart des grandes banques américaines, mais un faible pourcentage de banques ne le prend pas encore en charge. Pour ces banques, vous devrez utiliser les virements standards.

Lorsque vous ajoutez une carte à un compte, Stripe renvoie une propriété available_payout_methods dans la réponse. Celle-ci contient l’ensemble des modes de paiement pris en charge par Stripe pour cette carte. Seules les valeurs de cet ensemble doivent être passées en tant que method lors de la création d’un transfert.

{ "id":
"{{CARD_ID}}"
, "object": "card", ... "account": "acct_1032D82eZvKYlo2C", "available_payout_methods": ["standard", "instant"], }

Si la carte bancaire d’un compte Custom ne prend pas en charge Instant Payouts, vous devez informer clairement le titulaire du compte qu’il ne recevra pas ses virements instantanément.

Utilisation des webhooks avec les transferts

Vous pouvez suivre toutes les activités de transfert sur les comptes connectés à l’aide des webhooks (lorsque vous utilisez Connect, vous devez toujours avoir recours aux webhooks). Concernant les transferts, vous observerez les événements ci-dessous :

  • transfer.created
  • transfer.updated
  • transfer.paid
  • transfer.failed

Pour la plupart des transferts, ces notifications d’événement se produisent sur plusieurs jours. Les virements Instant Payouts envoient généralement l’événement transfer.paid sous 30 minutes.

Si un transfert ne peut pas aboutir, un événement transfer.failed se produit. La propriété failure_reason de l’événement vous indique les motifs de cet échec.

Voir aussi

  • Comptes Custom
  • Mettre des comptes à jour
  • Comprendre les soldes de compte Connect
Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Discutez par chat sur Discord avec les développeurs de Stripe.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc
Sur cette page