Fonctionnalités des 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_issuing
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_issuing | Permet la création d’un objet Card associé à ce compte financier. | card_issuing |
deposit_insurance | Demande une admissibilité à l’assurance FDIC pour le compte financier. | treasury |
financial_addresses.aba | 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_transfers.ach | Permet la création d’objets InboundTransfer pour alimenter le compte financier en débitant un compte bancaire américain externe. | treasury , us_bank_account_ach_payments |
intra_stripe_flows | 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_payments.ach | Permet à ce compte financier d’effectuer des virements ACH au moyen d’objets OutboundPayment de l’API Stripe. | treasury , us_bank_account_ach_payments |
outbound_payments.us_domestic_wire | Permet à ce compte financier d’effectuer des virements domestiques aux États-Unis au moyen d’objets OutboundPayment de l’API Stripe. | treasury |
outbound_transfers.ach | Permet à ce compte financier d’effectuer des virements ACH au moyen d’objets OutboundTransfer de l’API Stripe. | treasury , us_bank_account_ach_payments |
outbound_transfers.us_domestic_wire | Permet à ce compte financier d’effectuer des virements nationaux aux États-Unis au moyen d’objets OutboundTransfer de l’API Stripe. | treasury |
Same Day ACH beta L’ACH le jour même est actuellement en version bêta, et les demandes de participation sont soumises à la vérification et à l’approbation de Stripe. Contactez treasury-support@stripe.com pour vous inscrire sur la liste d’attente de cette fonctionnalité. Les appels d’API qui incluent des fonctionnalités ou des paramètres liés à l’ACH le jour même génèrent une erreur si vous n’avez pas accès à la version bêta.
Les fonctionnalités suivantes permettent aux comptes financiers d’utiliser la fonctionnalité ACH le jour même. Vous devez demander la fonctionnalité *.ach
correspondante sur le compte financier pour utiliser la fonctionnalité ACH le jour même. Par exemple, vous devez demander outbound_payments.ach
et outbound_payments.ach.same_day
sur le compte financier pour permettre à ce dernier d’envoyer un OutboundPayment le jour même :
Fonctionnalité | Description | Fonctionnalités requises |
outbound_payments.ach.same_day | 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_bank_account_ach_payments |
outbound_transfers.ach.same_day | 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_bank_account_ach_payments |
inbound_payments.ach.same_day | Permet la création d’objets InboundTransfer pour approvisionner le compte financier le même jour ouvrable. | treasury , us_bank_account_ach_payments |
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_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
pour demander des fonctionnalités supplémentaires.
Activation de fonctionnalités
Après en avoir fait la demande et rempli toutes les exigences de vérification pour l’inscription du compte connecté à votre plateforme, la fonctionnalité s’active. Pour certaines fonctionnalités (comme card_issuing
), l’activation est instantanée, pour d’autres (comme financial_addresses.aba
), elle est asynchrone. Comme nous l’avons déjà démontré, l’appel à l’API suivant crée un compte financier et demande les fonctionnalités indiquées.
Lorsque vous demandez des fonctionnalités à la création du compte financier, la réponse indique leur état dans les paramètres active_features
, pending_features
et restricted_features
. Pour en savoir plus sur les états des fonctionnalités, 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_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
afin de récupérer les fonctionnalités pour le compte financier créé dans l’exemple précédent.
La réponse montre financial_addresses.aba
avec un status
défini sur pending
et des status_details
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 dans cet état pendant une durée de 30 minutes, le temps que Stripe communique avec les systèmes externes. Lorsque la fonctionnalité financial_addresses.aba
est activée, le compte financier reçoit un objet FinancialAddress
et déclenche un webhook treasury.financial_account.features_status_updated
.
La requête suivante permet de récupérer les informations relatives au FinancialAccount
avec la fonctionnalité financial_addresses.aba
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
De la même manière que pour la demande de fonctionnalités, utilisez POST /v1/treasury/financial_accounts/{{FINANCIALACCOUNT_ID}}/features
pour supprimer des fonctionnalités. Veillez toutefois à définir la valeur de l’objet Feature
à supprimer 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
Utilisez GET /v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
afin de récupérer les fonctionnalités du compte financier avec l’ID associé.
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_details
: tableau de hachages contenant un code et une résolution.
{ "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_details
.
É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_pending_verification | 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_past_due | provide_information | Certaines conditions du compte connecté doivent être remplies pour que cette fonctionnalité puisse être activée. |
restricted | rejected_unsupported_business | contact_stripe | Le compte a été rejeté car ce type d’entreprise n’est pas pris en charge. Pour plus d’informations, prenez contact avec nos équipes d’assistance à l’adresse treasury-support@stripe.com. |
restricted | rejected_other | contact_stripe | Le compte est rejeté pour d’autres raisons. Pour plus d’informations, prenez contact avec nos équipes d’assistance à l’adresse treasury-support@stripe.com. |
restricted | restricted_by_platform | remove_restriction | La plateforme a limité cette fonctionnalité en utilisant le hash platform_restrictions . |
restricted | financial_account_closed | Cette fonctionnalité n’est pas disponible car le compte financier est clôturé. | |
restricted | restricted_other | contact_stripe | Cette fonctionnalité a été limitée pour d’autres raisons. Pour plus d’informations, prenez contact avec nos équipes d’assistance à l’adresse treasury-support@stripe.com. |
Fonctionnalités limitées
Vous pouvez restreindre les flux d’argent des comptes financiers sur votre plateforme de façon à empêcher les flux entrants (inbound_flows
), sortants (outbound_flows
), ou les deux types de flux à l’aide du hash platform_restrictions
. Lorsque vous limitez un flux, la restriction affecte certaines fonctionnalités possiblement associées au compte financier qui peuvent dépendre complètement ou en partie de ce flux. Par exemple, pour éviter que de l’argent ne sorte d’un compte financier, appelez POST /v1/treasury/financial_accounts/{{FINANCIALACCOUNT_ID}}
.
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, lorsque vous limitez les outbound_flows
sur le FinancialAccount, les fonctionnalités financial_addresses.aba
, intra_stripe_flows
et inbound_transfers.ach
sont ajoutées au tableau restricted_features
.
Toutefois, les fonctionnalités du tableau restricted_features
peuvent être seulement partiellement limitées. Par exemple, financial_addresses.aba
est inclus dans le tableau restricted_features
dans la réponse précédente parce que la restriction des outbound_flows
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 il n’y a pas de restriction sur les inbound_flows
.
De même, la fonctionnalité intra_stripe_flows
est limitée car la restriction outbound_flows
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_details
et dont le code est défini sur restricted_by_platform
. La propriété restriction
désigne la platform_restriction
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_restrictions
sur les fonctionnalités.
Note
La restriction des flux entrants pour la fonctionnalité financial_addresses.aba
ne bloque pas les virements entrants.
Fonctionnalité | Répercussion de la restriction inbound_flows | Répercussion de la restriction outbound_flows |
---|---|---|
card_issuing | S.O. | S.O. |
deposit_insurance | S.O. | S.O. |
financial_addresses.aba | 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_transfers.ach | Désactive la fonctionnalité. | S.O. |
intra_stripe_flows | 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_payments.ach | S.O. | Désactive la fonctionnalité. |
outbound_payments.us_domestic_wire | S.O. | Désactive la fonctionnalité. |
outbound_transfers.ach | S.O. | Désactive la fonctionnalité. |
outbound_transfers.us_domestic_wire | 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 avec le dernier état de la fonctionnalité. Étant donné que la propriété previous_attributes
du webhook treasury.financial_account.features_status_updated
indique également quelles fonctionnalités sont passées d’un état à un autre, il est possible que vous receviez les événements dans le désordre ou en double. Consultez les bonnes pratiques de webhooks pour en savoir plus.
account.updated
- Lors de la demande de nouvelles fonctionnalités, la plateforme peut recevoir un webhook
account.updated
indiquant que le hashrequirements
a été modifié et que certains nouveaux champs affichent désormais un étatpending_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. Les tableaux
active_features
,pending_features
ourestricted_features
reflètent ce changement.
- Indique qu’une ou plusieurs fonctionnalités ont changé d’état. Les tableaux