# Fonctionnalités des comptes financiers Pour comprendre les fonctionnalités disponibles pour les comptes financiers. > #### Compatibilité de l'API Accounts v2 > > L’API Accounts v2 ne prend pas en charge des workflows Treasury and Issuing. Si vous avez des comptes créés avec Accounts v2, vous pouvez utiliser Accounts v1 pour gérer les fonctionnalités `treasury` et `card_issuing`. Pour en savoir plus, consultez la page [Utilisez l’objet Accounts en tant que clients](https://docs.stripe.com/connect/use-accounts-as-customers.md). En ajoutant des fonctionnalités aux [comptes financiers](https://docs.stripe.com/treasury/connect/account-management/financial-accounts.md), 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é `card_issuing` sur le compte financier attaché. ## 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. > Vous devez demander ou activer les fonctionnalités suivantes avant de demander la fonctionnalité `treasury` pour des comptes connectés : > > - `transfers` | Fonctionnalité | Description | Fonctionnalités requises | | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | | `card_issuing` | Permet la création d’un [objet Card](https://docs.stripe.com/api/.md#issuing_card_object) 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` | ### ACH le jour même > 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](mailto: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 les fonctionnalités ACH le jour même. Vous devez demander la fonctionnalité `*.ach` correspondante sur un compte financier pour l’utiliser. Par exemple, pour permettre à ce dernier d’envoyer un [OutboundPayment](https://docs.stripe.com/treasury/connect/moving-money/out-of/outbound-payments.md) le jour même, vous devez demander `outbound_payments.ach` et `outbound_payments.ach.same_day` sur ce compte financier : | | | | | 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_transfers.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 faites une requête de fonctionnalités sur votre compte financier lorsque vous [créez le compte financier](https://docs.stripe.com/treasury/connect/account-management/financial-accounts.md#create-a-financialaccount). La demande suivante crée un compte financier et demande des fonctionnalités dans le même appel. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "supported_currencies[]=usd" \ -d "features[card_issuing][requested]=true" \ -d "features[financial_addresses][aba][requested]=true" ``` 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. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}}/features \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "card_issuing[requested]=true" \ -d "deposit_insurance[requested]=true" \ -d "financial_addresses[aba][requested]=true" \ -d "inbound_transfers[ach][requested]=true" \ -d "intra_stripe_flows[requested]=true" \ -d "outbound_payments[ach][requested]=true" \ -d "outbound_payments[us_domestic_wire][requested]=true" \ -d "outbound_transfers[ach][requested]=true" \ -d "outbound_transfers[us_domestic_wire][requested]=true" ``` ### 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_issuing`), et d’autres [de manière asynchrone](https://docs.stripe.com/treasury/connect/account-management/financial-account-features.md#webhooks), comme `financial_addresses.aba`,. L’appel à l’API suivant crée un compte financier et demande les fonctionnalités ‘financial_addresses.aba’ et ‘card_issuing’. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "supported_currencies[]=usd" \ -d "features[financial_addresses][aba][requested]=true" \ -d "features[card_issuing][requested]=true" ``` 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_features`, `pending_features` et `restricted_features`. Pour en savoir plus, consultez la section [Récupération de fonctionnalités](https://docs.stripe.com/treasury/connect/account-management/financial-account-features.md#retrieving-features). ```json { "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. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}}/features \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" ``` 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`. ```json { "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_addresses.aba` est activée, le compte financier reçoit un objet `FinancialAddress` et déclenche un [webhook](https://docs.stripe.com/webhooks.md) `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. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "expand[]=financial_addresses.aba.account_number" \ -d "supported_currencies[]=usd" ``` La réponse fournit les détails du compte, notamment toutes les informations relatives à l’adresse financière. ```json { "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_accounts/{{FINANCIALACCOUNT_ID}}/features` et définissez la valeur de la fonctionnalité sur `false`. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}}/features \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "card_issuing[requested]=false" ``` Si l’appel aboutit, vous recevez l’[objet `Features`](https://docs.stripe.com/api/treasury/financial_account_features.md) 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_accounts/{{FINANCIAL_ACCOUNT_ID}}/features`. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}}/features \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" ``` 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-à-dire `active`, `pending` ou `restricted`. - `status_details` : tableau de hachages contenant un code et une résolution. ```json { "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, envoyez un e-mail à l’adresse [treasury-support@stripe.com](mailto:treasury-support@stripe.com). | | `restricted` | `rejected_other` | `contact_stripe` | Le compte est rejeté pour d’autres raisons. Pour plus d’informations, envoyez un e-mail à l’adresse [treasury-support@stripe.com](mailto:treasury-support@stripe.com). | | `restricted` | `restricted_by_platform` | `remove_restriction` | La plateforme a limité cette fonctionnalité en utilisant le hachage [platform_restrictions](https://docs.stripe.com/api/treasury/financial_accounts/object.md#financial_account_object-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é est limitée pour d’autres raisons. Pour plus d’informations, envoyez un e-mail à l’adresse [treasury-support@stripe.com](mailto: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_flows`) ou sortants (`outbound_flows`), ou bien ces deux types de flux. Pour ce faire, utilisez le hachage [platform_restrictions](https://docs.stripe.com/api/treasury/financial_accounts/object.md#financial_account_object-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_accounts/{{FINANCIALACCOUNT_ID}}`. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}} \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "platform_restrictions[outbound_flows]=restricted" ``` Sauf échec de l’opération, la réponse renvoie l’objet FinancialAccount avec le flux approprié défini sur `restricted`. ```json { "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_flows` sur le FinancialAccount entraîne l’ajout des fonctionnalités `financial_addresses.aba`, `intra_stripe_flows` et `inbound_transfers.ach` au tableau `restricted_features`. Les fonctionnalités du tableau `restricted_features` peuvent être entièrement ou partiellement limitées. Par exemple, `financial_addresses.aba` est incluse dans le tableau `restricted_features` dans la réponse précédente, car la limitation 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 les `inbound_flows` ne sont pas limités. De même, la fonctionnalité `intra_stripe_flows` est limitée, car la limitation des `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. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}}/features \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" ``` 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. ```json { "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. > La restriction des flux entrants pour la fonctionnalité `financial_addresses.aba` 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_flows` et `outbound_flows` des plateformes sur les différentes fonctionnalités : | Fonctionnalité | inbound_flows | 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é. | Si la fonctionnalité `financial_address.aba` est limitée lors de la création du compte financier, aucune adresse financière n’est créée tant que la restriction n’est pas levée. Pour plus de détails, consulter la section [fonctionnalités disponibles](https://docs.stripe.com/treasury/connect/account-management/financial-account-features.md#available-features). ### Fonctionnalités restreintes de Stripe Certaines fonctionnalités sont parfois restreintes par Stripe lorsque nous détectons un risque de fraude plus accru. La réponse si vous récupérez l’une de ces fonctionnalités peut ressembler à ceci : ```json { "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "restricted", "status_details": [ { "code": "restricted_other", "resolution": "contact_stripe" } ] } }, ... } ``` Pour rectification les interventions de Stripe dans ces cas, vous pouvez vous rendre sur le Dashboard Connect et suivre les étapes suivantes : 1. Accédez à la page d’informations du compte connecté impacté. 1. Naviguez jusqu’au compte financier restreint. 1. Recherchez la fonctionnalité que vous souhaitez débloquer et cliquez sur **Activer**. Cette opération permet de débloquer la fonctionnalité sur tous les comptes financiers du compte. ## Webhooks Pour exécuter une action avec des [webhooks](https://docs.stripe.com/webhooks.md) 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_attributes` du webhook `treasury.financial_account.features_status_updated` 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](https://docs.stripe.com/webhooks.md#best-practices). - `account.updated` - Lors de la demande de nouvelles fonctionnalités, la plateforme peut recevoir un webhook `account.updated` indiquant que le hachage `requirements` a été modifié et que des champs ont été ajoutés à `pending_verification`. - `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_features` ou `restricted_features`.