Fonctionnalités des comptes financiers
Pour comprendre les fonctionnalités disponibles pour les comptes financiers.
En ajoutant des fonctionnalités aux comptes financiers, vous pourrez transférer des fonds d’un compte à un autre, associer des cartes de paiement, etc. Vous attribuez généralement les objets Feature
de votre choix lors de la création des objets FinancialAccount
, mais vous pouvez en ajouter ou en supprimer à tout moment. Certaines Features
exigent que le compte connecté associé au compte financier ait des fonctionnalités particulières actives. Par exemple, un compte connecté doit avoir la fonctionnalité card_
active avant que vous puissiez demander cette même fonctionnalité sur le compte financier associé.
Fonctionnalités disponibles
Le tableau suivant liste les Features
disponibles pour un FinancialAccount
ainsi que les fonctionnalités qui doivent être actives sur le compte connecté associé pour les ajouter.
Note
Vous devez demander ou activer les fonctionnalités suivantes avant de demander la fonctionnalité treasury
pour des comptes connectés :
transfers
card_
payments
Fonctionnalité | Description | Fonctionnalités requises |
---|---|---|
card_ | Permet la création d’un objet Card associé à ce compte financier. | card_ |
deposit_ | Demande une admissibilité à l’assurance FDIC pour le compte financier. | treasury |
financial_ | Déclenche la création d’un objet FinancialAddress de type ABA associé à ce compte financier. Lorsque cette fonctionnalité est active, l’adresse peut recevoir de l’argent via ACH ou par virement et peut être débitée par des comptes en banque externes. | treasury |
inbound_ | Permet la création d’objets InboundTransfer pour alimenter le compte financier en débitant un compte bancaire américain externe. | treasury , us_ |
intra_ | Permet à ce compte financier d’envoyer ou de recevoir de l’argent à partir d’autres comptes financiers via le réseau stripe . Afin que les paiements sortants du réseau puisse fonctionner, il est nécessaire que cette fonctionnalité soit activée sur les deux comptes (à savoir l’initiateur et le destinataire). | treasury |
outbound_ | Permet à ce compte financier d’effectuer des virements ACH au moyen d’objets OutboundPayment de l’API Stripe. | treasury , us_ |
outbound_ | Permet à ce compte financier d’effectuer des virements domestiques aux États-Unis au moyen d’objets OutboundPayment de l’API Stripe. | treasury |
outbound_ | Permet à ce compte financier d’effectuer des virements ACH au moyen d’objets OutboundTransfer de l’API Stripe. | treasury , us_ |
outbound_ | Permet à ce compte financier d’effectuer des virements nationaux aux États-Unis au moyen d’objets OutboundTransfer de l’API Stripe. | treasury |
ACH le jour même
Bêta
ACH le jour même existe actuellement en version bêta avec une disponibilité limitée, sous réserve de l’examen et de l’approbation de Stripe. Pour demander un accès, envoyez un e-mail à treasury-support@stripe.com.
Si vous n’y avez pas accès, les appels à l’API qui incluent des fonctionnalités ou des paramètres ACH le jour même renvoient une erreur.
Les fonctionnalités suivantes permettent aux comptes financiers d’utiliser ACH le jour même. Vous devez demander la fonctionnalité *.
correspondante sur un compte financier pour l’utiliser. Par exemple, pour permettre à ce dernier d’envoyer un OutboundPayment le jour même, vous devez demander outbound_
et outbound_
sur ce compte financier :
Fonctionnalité | Description | Fonctionnalités requises |
outbound_ | Permet à ce compte financier d’envoyer des transferts ACH à l’aide d’objets OutboundPayment qui arrivent sur le compte de destination le même jour ouvrable. | treasury , us_ |
outbound_ | Permet à ce compte financier d’envoyer des transferts ACH à l’aide d’objets OutboundTransfer qui arrivent sur le compte de destination le même jour ouvrable. | treasury , us_ |
inbound_ | Permet la création d’objets InboundTransfer pour approvisionner le compte financier le même jour ouvrable. | treasury , us_ |
Demande de fonctionnalités
En règle générale, vous demandez des fonctionnalités sur votre compte Treasury lorsque vous créez le compte financier. La requête suivante crée un compte financier et demande des fonctionnalités dans le même appel.
Si vous travaillez avec des comptes financiers existants, utilisez POST /v1/treasury/financial_
pour demander des fonctionnalités supplémentaires.
Activation de fonctionnalités
Une fois que vous avez demandé une fonctionnalité et que vous avez satisfait à toutes les exigences de vérification pour inscrire le compte connecté à votre plateforme, la fonctionnalité est activée. Certaines fonctionnalités peuvent être activées instantanément (par exemple, card_
), et d’autres de manière asynchrone, comme financial_
,. L’appel à l’API suivant crée un compte financier et demande les fonctionnalités ‘financial_addresses.aba’ et ‘card_issuing’.
Lorsque vous demandez des fonctionnalités lors de la création d’un compte financier, la réponse indique leur état dans les propriétés active_
, pending_
et restricted_
. Pour en savoir plus, consultez la section Récupération de fonctionnalités.
{ "object": "treasury.financial_account", "created": 1612927106, "id": "fa_123", "country": "US", "supported_currencies": ["usd"], "active_features": ["card_issuing"], "pending_features": ["financial_addresses.aba"], "restricted_features": [], // No FinancialAddress added as the financial_addresses.aba feature is not yet active "financial_addresses": [], "livemode": true, "status": "open", ... }
Vous pouvez utiliser GET /v1/treasury/financial_
afin de récupérer les fonctionnalités pour le compte financier créé dans l’exemple précédent.
La réponse montre financial_
avec un status
défini sur pending
et des status_
dont le code
est défini sur activating
.
{ "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "pending", "status_details": [ { "code": "activating" } ] } }, "card_issuing": { "requested": true, "status": "active", "status_details": [] }, ... }
Une fonctionnalité peut rester jusqu’à 30 minutes dans cet état, le temps que Stripe communique avec les systèmes externes. Lorsque la fonctionnalité financial_
est activée, le compte financier reçoit un objet FinancialAddress
et déclenche un webhook treasury.
.
La requête suivante permet de récupérer les informations relatives au FinancialAccount
avec la fonctionnalité financial_
développée.
La réponse fournit les détails du compte, notamment toutes les informations relatives à l’adresse financière.
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", "country": "US", "supported_currencies": ["usd"], "active_features": ["card_issuing", "financial_addresses.aba"], "pending_features": [], "restricted_features": [], "financial_addresses": [ { "type": "aba", "supported_networks": ["ach", "domestic_wire_us"], "aba": { "account_number_last4": "7890", "account_number": "1234567890", "routing_number": "000000001", "bank_name": "Goldman Sachs" } } ], "livemode": true, ... }
Le compte financier peut désormais recevoir des crédits ou des débits sur cette adresse financière ABA.
Suppression de fonctionnalités
Pour retirer une fonctionnalité, utilisez POST /v1/treasury/financial_
et définissez la valeur de la fonctionnalité sur false
.
Si l’appel aboutit, vous recevez l’objet Features
en réponse sans la fonctionnalité que vous venez de supprimer.
Récupération de fonctionnalités
Pour récupérer les fonctionnalités d’un compte financier, utilisez GET /v1/treasury/financial_
.
La réponse JSON fournit les informations relatives aux fonctionnalités, définies par trois propriétés :
requested
: indique si la fonctionnalité a été demandée.status
: décrit l’état actuel de la fonctionnalité, c’est-à-direactive
,pending
ourestricted
.status_
: tableau de hachages contenant un code et une résolution.details
{ "card_issuing": { "requested": true, "status": "active", "status_details": [] }, "deposit_insurance": { "requested": true, "status": "restricted", "status_details": [ { "code": "requirements_past_due", "resolution": "provide_information" } ] } }
Le tableau suivant détaille les combinaisons possibles de status
et de status_
.
État | Code de la propriété status_details | Résolution de la propriété status_details | Description |
---|---|---|---|
pending | activating | Stripe est en train d’activer la fonctionnalité. | |
pending | requirements_ | Les exigences liées à la fonctionnalité associée sur le compte connecté ont été soumises, mais n’ont pas encore été vérifiées. | |
restricted | requirements_ | provide_ | Certaines conditions du compte connecté doivent être remplies pour que cette fonctionnalité puisse être activée. |
restricted | rejected_ | contact_ | Le compte a été rejeté, car ce type d’entreprise n’est pas pris en charge. Pour plus d’informations, envoyez un e-mail à l’adresse treasury-support@stripe.com. |
restricted | rejected_ | contact_ | Le compte est rejeté pour d’autres raisons. Pour plus d’informations, envoyez un e-mail à l’adresse treasury-support@stripe.com. |
restricted | restricted_ | remove_ | La plateforme a limité cette fonctionnalité en utilisant le hachage platform_restrictions. |
restricted | financial_ | Cette fonctionnalité n’est pas disponible car le compte financier est clôturé. | |
restricted | restricted_ | contact_ | Cette fonctionnalité est limitée pour d’autres raisons. Pour plus d’informations, envoyez un e-mail à l’adresse treasury-support@stripe.com. |
Fonctionnalités limitées
Vous pouvez limiter les transferts de fonds au sein des comptes financiers de votre plateforme afin de ne pas autoriser les flux entrants (inbound_
) ou sortants (outbound_
), ou bien ces deux types de flux. Pour ce faire, utilisez le hachage platform_restrictions. La limitation d’un flux se répercute sur les fonctionnalités du compte financier qui en dépendent complètement ou en partie. Par exemple, pour empêcher que des fonds soient sortis d’un compte financier, appelez POST /v1/treasury/financial_
.
Sauf échec de l’opération, la réponse renvoie l’objet FinancialAccount avec le flux approprié défini sur restricted
.
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", "status": "open", ... "platform_restrictions": { "inbound_flows": "unrestricted", "outbound_flows": "restricted" }, "active_features": ["card_issuing", "deposit_insurance", "inbound_transfers.ach"], "pending_features": [], "restricted_features": ["financial_addresses.aba", "intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire", "outbound_transfers.ach", "outbound_transfers.us_domestic_wire"] }
Comme le montre la réponse précédente, la limitation des flux outbound_
sur le FinancialAccount entraîne l’ajout des fonctionnalités financial_
, intra_
et inbound_
au tableau restricted_
.
Les fonctionnalités du tableau restricted_
peuvent être entièrement ou partiellement limitées. Par exemple, financial_
est incluse dans le tableau restricted_
dans la réponse précédente, car la limitation des outbound_
empêche les débits sur l’adresse financière. Cependant, cette adresse financière peut tout de même recevoir des ACH ou des virements bancaires, car les inbound_
ne sont pas limités.
De même, la fonctionnalité intra_
est limitée, car la limitation des outbound_
empêche d’utiliser ce compte financier en guise de source d’un paiement sortant vers un autre compte financier. Cependant, le compte financier peut tout de même être la destination d’un paiement sortant, de sorte que la fonctionnalité n’est pas entièrement limitée.
La requête suivante récupère les informations relatives aux fonctionnalités d’un compte financier à flux limités.
La réponse renvoie l’objet Feature
qui comprend les status_
et dont le code est défini sur restricted_
. La propriété restriction
désigne la platform_
appliquée.
{ "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "restricted", "status_details": [ { "code": "restricted_by_platform", "resolution": "remove_restriction", "restriction": "inbound_flows" } ] } }, ... }
Le tableau suivant décrit les répercussions des platform_
sur les fonctionnalités.
Note
La restriction des flux entrants pour la fonctionnalité financial_
ne bloque pas les virements entrants.
Impact des limitations de la plateforme sur les fonctionnalités
Le tableau ci-dessous montre les effets des limitations des inbound_
et outbound_
des plateformes sur les différentes fonctionnalités :
Fonctionnalité | inbound_flows | outbound_flows |
---|---|---|
card_ | S.O. | S.O. |
deposit_ | S.O. | S.O. |
financial_ | Empêche l’adresse financière ABA de recevoir des crédits via ACH. | Empêche les débits depuis l’adresse financière ABA. |
inbound_ | Désactive la fonctionnalité. | S.O. |
intra_ | Empêche le compte financier de recevoir des paiements sortants depuis d’autres comptes financiers. | Vous ne pouvez pas effectuer des paiements sortants depuis ce compte financier vers d’autres comptes financiers. |
outbound_ | S.O. | Désactive la fonctionnalité. |
outbound_ | S.O. | Désactive la fonctionnalité. |
outbound_ | S.O. | Désactive la fonctionnalité. |
outbound_ | S.O. | Désactive la fonctionnalité. |
Webhooks
Pour exécuter une action avec des webhooks lorsqu’une ou plusieurs fonctionnalités basculent sur un état donné, comparez votre état local au dernier état de la fonctionnalité. Étant donné que la propriété previous_
du webhook treasury.
indique également les fonctionnalités qui sont passées d’un état à un autre, il est possible que vous receviez les événements dans le désordre ou en double. Pour en savoir plus, consultez les bonnes pratiques d’utilisation des webhooks.
account.
updated - Lors de la demande de nouvelles fonctionnalités, la plateforme peut recevoir un webhook
account.
indiquant que le hachageupdated requirements
a été modifié et que des champs ont été ajoutés àpending_
.verification
- Lors de la demande de nouvelles fonctionnalités, la plateforme peut recevoir un webhook
treasury.
financial_ account. features_ status_ updated - Indique qu’une ou plusieurs fonctionnalités ont changé d’état, ce qui se traduit par des changements dans les tableaux
active_
,features pending_
oufeatures restricted_
.features
- Indique qu’une ou plusieurs fonctionnalités ont changé d’état, ce qui se traduit par des changements dans les tableaux