# Fonctionnement des comptes connectés Demander la fonctionnalité Treasury et collecter les exigences d'inscription des utilisateurs pour vos comptes connectés. > #### Compatibilité de l'API Accounts v2 > > L’API Accounts v2 ne prend pas en charge des workflows Financial Accounts. 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). Pour utiliser Financial Accounts pour les plateformes, votre plateforme doit disposer d’une intégration Stripe *Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients). Stripe Connect permet à une plateforme de fournir des comptes connectés aux marchands et aux fournisseurs de services. Pour un aperçu de la façon dont les comptes connectés s’intègrent dans la structure des comptes Financial Accounts pour les plateformes, consultez le guide sur la [structure des comptes Financial Accounts pour les plateformes](https://docs.stripe.com/financial-accounts/connect/account-management/accounts-structure.md). Financial Accounts pour les plateformes prend uniquement en charge les comptes connectés qui n’utilisent pas de Dashboard hébergé par Stripe et pour lesquels votre plateforme est responsable du recouvrement des exigences et de la responsabilité des pertes, y compris les comptes connectés Custom. Découvrez comment [créer des comptes connectés](https://docs.stripe.com/connect/interactive-platform-guide.md?connect-charge-type=direct&connect-loss-liability-owner=platform) compatibles avec Financial Accounts pour les plateformes. En tant que plateforme disposant de comptes connectés, vous êtes responsable du maintien d’une version API minimale, de la communication des mises à jour des conditions d’utilisation du service à vos comptes connectés, du traitement des demandes d’informations de leur part et de leur fournir un service de support. Étant donné que votre plateforme est en dernier ressort responsable des pertes subies par vos comptes connectés, vous êtes également responsable de leur vérification afin de détecter toute fraude. Pour en savoir plus, consultez le [guide sur la fraude relative à Financial Accounts pour les plateformes ](https://docs.stripe.com/financial-accounts/connect/examples/fraud-guide.md). Pour profiter pleinement de Financial Accounts pour les plateformes, vous devez activer certaines fonctionnalités spécifiques sur vos comptes connectés. Différentes fonctionnalités nécessitent différentes capacités, qui peuvent exiger des informations supplémentaires sur les propriétaires des comptes connectés. La fonctionnalité `treasury`, par exemple, est une exigence applicable aux comptes connectés pour avoir accès à Financial Accounts pour les plateformes. Lorsque vous demandez la fonctionnalité `treasury` pour un compte, vous devez renseigner des champs supplémentaires avant que le compte puisse utiliser Financial Accounts pour les plateformes. Avant de créer des comptes connectés en mode production pour votre intégration de Financial Accounts pour les plateformes, nous vous conseillons de créer d’abord des comptes connectés de test dans un environnement de test**. Les comptes connectés de test ne peuvent pas recevoir ni envoyer de fonds réels, ni être utilisés en mode production, mais leur configuration et leurs fonctionnalités sont identiques à celles des modes production. ## Vérifier le type de vos comptes connectés existants Si votre plateforme dispose déjà d’une intégration Connect avec des comptes connectés mais que vous avez un doute sur leur type, vous pouvez utiliser le Dashboard ou l’API pour récupérer ces informations. #### Dashboard Accédez à la page [Comptes connectés](https://dashboard.stripe.com/test/connect/accounts/overview) du Dashboard. Vos comptes connectés sont listés sous forme de tableau. Pour trouver les fonctionnalités d’un compte, sélectionnez-le dans le tableau pour ouvrir la vue détaillée, puis cliquez sur **Profil** > **Informations du compte**. #### Requête API Utilisez `GET /v1/accounts` pour récupérer la liste des comptes de votre plateforme. ```json { "object": "list", "data": [ { "id": "acct_1KUbgB2E0Hr5XQiY", "object": "account", "controller": { "type": "application", "dashboard": { "type": "none" }, "losses": { "payments": "application" }, "requirement_collection": "application", "fees": { "payer": "application" } }, ... } ] } ``` ## Créer un nouveau compte connecté avec la fonctionnalité Treasury > Ce guide vous explique comment créer un compte connecté à l’aide de l’API Stripe pour Financial Accounts pour les plateformes. Il n’a pas vocation à être exhaustif. Pour obtenir de plus amples instructions sur la création des comptes connectés Custom, notamment via la procédure d’inscription hébergée, consultez le guide [d’intégration Connect](https://docs.stripe.com/connect/interactive-platform-guide.md?connect-charge-type=direct&connect-loss-liability-owner=platform). Utilisez `POST /v1/accounts` pour créer un nouveau compte connecté. Demandez les fonctionnalités suivantes pour le compte, nécessaires pour l’utilisation de Financial Accounts pour les plateformes : - `transfers` (requis pour tous les comptes connectés) - `treasury` > Vous pouvez mettre à jour le compte et demander ces fonctionnalités ultérieurement si vous ne le faites pas lors de la création du compte. Si vous souhaitez émettre des cartes pour votre compte connecté via Stripe Issuing, vous devez également demander la fonctionnalité `card_issuing`. Pour en savoir plus, consultez notre guide relatif à l’[utilisation des cartes Issuing de Stripe](https://docs.stripe.com/financial-accounts/connect/account-management/issuing-cards.md). Si vous souhaitez transférer des fonds via le réseau ACH vers ou depuis un compte externe, vous devez également demander la fonctionnalité `us_bank_account_ach_payments`. Voici un exemple de requête regroupant toutes les options citées précédemment : ```javascript const account = await stripe.accounts.create({ country: 'US', email: email, capabilities: { transfers: {requested: true}, treasury: {requested: true}, card_issuing: {requested: true}, }, controller: { dashboard: {type: "none"}, losses: {payments: "application"}, requirement_collection: "application", fees: {payer: "application"} }, }); ``` Sauf échec de l’opération, la réponse confirme la création du compte connecté et l’activation de la fonctionnalité `capabilities` demandée. ```json { "id": "acct_1234", "object": "account", "capabilities": { "card_issuing": "inactive", // Should be requested only for Stripe Issuing users. "treasury": "inactive", "us_bank_account_ach_payments": "inactive" }, ... } ``` Pour en savoir plus sur les fonctionnalités des comptes connectés, consultez le guide [Fonctionnalités du compte](https://docs.stripe.com/connect/account-capabilities.md) pour Connect. ## Mettre à jour un compte connecté pour intégrer la fonctionnalité Treasury Si l’un de vos comptes connectés dispose déjà de la fonctionnalité `card_payments` activée, utilisez `POST /v1/accounts/{{CONNECTED_ACCOUNT_ID}}` pour mettre à jour le compte avec l’ID associé en demandant la fonctionnalité `treasury`. La requête suivante demande la fonctionnalité `treasury` pour un compte connecté et inclut les fonctionnalités facultatives `card_issuing` et `us_bank_account_ach_payments` : ```curl curl https://api.stripe.com/v1/accounts/{{CONNECTEDACCOUNT_ID}} \ -u "<>:" \ -d "capabilities[treasury][requested]"=true \ -d "capabilities[card_issuing][requested]"=true \ -d "capabilities[us_bank_account_ach_payments][requested]"=true ``` Utilisez `POST /v1/accounts/{{CONNECTED_ACCOUNT_ID}}` pour mettre à jour les fonctionnalités des comptes connectés pour lesquels un `FinancialAccount`a déjà été attribué. Pour en savoir plus, consultez la documentation API [Utilisation des comptes financiers](https://docs.stripe.com/financial-accounts/connect/account-management/financial-accounts.md) ou l’[objet FinancialAccount](https://docs.stripe.com/api/treasury/financial_accounts/object.md). ## Inscrire le compte connecté Après avoir créé un compte, vous devez procéder à l’inscription du marchand ou fournisseur de service qui en sera propriétaire. L’objet [Account](https://docs.stripe.com/api/accounts/object.md#account_object-requirements-currently_due), qui représente le compte connecté, possède un hachage `requirements` ; celui-ci contient les exigences de [vérification d’identité](https://docs.stripe.com/connect/handling-api-verification.md) `currently_due`. Le marchand ou le fournisseur de services de votre plateforme doit renseigner les informations détaillées requises dans le hachage `requirements` afin d’activer les paiements et les [virements](https://docs.stripe.com/payouts.md) sur son compte connecté, ainsi que toutes les fonctionnalités demandées pour son compte financier. Deux options s’offrent à vous pour l’inscription des utilisateurs titulaires de comptes connectés aux Financial Accounts pour les plateformes : [inscription des utilisateurs hébergée](https://docs.stripe.com/financial-accounts/connect/account-management/connected-accounts.md#using-hosted-onboarding) et [inscription des utilisateurs Custom](https://docs.stripe.com/financial-accounts/connect/account-management/connected-accounts.md#using-custom-onboarding). Nous recommandons l’inscription des utilisateurs hébergée. Si vous créez un objet `Account` de test et que vous souhaitez contourner les exigences d’inscription des utilisateurs pour tester la fonctionnalité, utilisez `POST /v1/accounts/{{CONNECTED_ACCOUNT_ID}}` pour [fournir des valeurs de test](https://docs.stripe.com/connect/testing-verification.md) qui répondent à toutes les exigences. La requête suivante utilise un compte connecté créé précédemment afin de fournir les informations requises sur le compte. ```curl curl https://api.stripe.com/v1/accounts/{{CONNECTEDACCOUNT_ID}} \ -u "<>:" \ -d "tos_acceptance[date]"=1547923073 \ -d "tos_acceptance[ip]"="172.18.80.19" \ -d "settings[treasury][tos_acceptance][date]"=1547923073 \ -d "settings[treasury][tos_acceptance][ip]"="172.18.80.19" \ -d "business_profile[mcc]"=5045 \ --data-urlencode "business_profile[url]"="https://bestcookieco.com" \ -d "company[address][city]"=Schenectady \ -d "company[address][line1]"="123 State St" \ -d "company[address][postal_code]"=12345 \ -d "company[address][state]"=NY \ -d "company[tax_id]"=000000000 \ -d "company[name]"="The Best Cookie Co" \ -d "company[phone]"=8888675309 \ -d "individual[first_name]"=Jenny \ -d "individual[last_name]"=Rosen ``` ### Utilisation de l’inscription hébergée Utilisez Connect Onboarding pour collecter efficacement les informations requises. Ainsi, Stripe traite les aspects complexes de la vérification et collecte l’acceptation des conditions d’utilisation du service. Vous pouvez également rédiger vos propres requêtes à l’API pour l’intégration initiale et continuer à surveiller les évolutions des exigences de conformité pour maintenir votre flux d’inscription des utilisateurs à jour. Découvrez comment [créer des comptes connectés](https://docs.stripe.com/connect/interactive-platform-guide.md?connect-charge-type=direct&connect-loss-liability-owner=platform) compatibles avec Financial Accounts pour les plateformes. Avant de pouvoir utiliser Connect Onboarding, vous devez définir le nom, la couleur et l’icône de votre marque dans la section **Marque** de la [page de paramètres Connect](https://dashboard.stripe.com/test/settings/connect). Vous pourrez ainsi personnaliser l’apparence du formulaire d’inscription à votre plateforme présenté aux marchands et fournisseurs de services. Pour tirer parti de Connect Onboarding, utilisez `POST /v1/account_links` pour créer un attribut `AccountLink` à fournir au marchand ou au fournisseur de services qui va devenir propriétaire du compte connecté : > Par mesure de sécurité, n’envoyez pas les URL de lien de compte par e-mail, SMS ou tout autre moyen de communication direct à votre utilisateur. Redirigez plutôt l’utilisateur authentifié vers l’URL du lien de compte à partir de l’application de votre plateforme. ```curl curl https://api.stripe.com/v1/account_links \ -u "<>:" \ -d account="{{CONNECTEDACCOUNT_ID}}" \ --data-urlencode refresh_url="https://example.com/reauth" \ --data-urlencode return_url="https://example.com/return" \ -d type=account_onboarding ``` Le résultat contient l’URL à partager à votre utilisateur. ```json { "object": "account_link", "created": 1612927106, "expires_at": 1612927406, "url": "https://connect.stripe.com/setup/s/iCtLfmYb2tEU" } ``` ### Utiliser l’inscription intégrée L’inscription intégrée est une interface utilisateur d’inscription personnalisable avec un marquage Stripe limité. Elle vous offre plus de contrôle sur l’expérience utilisateur que la solution d’inscription hébergée de Stripe. Avec l’inscription intégrée des utilisateurs, vous bénéficiez d’un flux d’inscription personnalisé, sans la complexité et les efforts qu’impliquerait la mise à jour de votre intégration d’inscription à chaque évolution des exigences de conformité. Votre plateforme intègre le [composant d’inscription de compte](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md) dans votre application, et vos comptes connectés interagissent avec le composant intégré sans quitter votre application. L’inscription intégrée utilise l’[API Accounts](https://docs.stripe.com/api/accounts.md) pour lire les exigences et générer un formulaire d’inscription hébergée avec une validation robuste des données. Elle est localisée pour tous les pays dans lesquels Stripe est disponible. ### Utilisation de l’inscription personnalisée Si vous préférez créer un processus d’inscription personnalisé pour vos utilisateurs, utilisez `POST /v1/accounts/{{CONNECTED_ACCOUNT_ID}}` et `POST /v1/accounts/{{CONNECTED_ACCOUNT_ID}}/persons/{{PERSON_ID}}` pour mettre à jour les objets `Account` et `Person` correspondants avec les informations requises. Vous devez également confirmer que le propriétaire du compte connecté a lu et accepté l’[accord relatif aux Financial Accounts pour les plateformes](https://stripe.com/treasury-connect-account/legal). Pour en savoir plus sur le respect des conditions d’inscription des utilisateurs, consultez la page [Traitement de la vérification avec l’API](https://docs.stripe.com/connect/handling-api-verification.md). ```curl curl https://api.stripe.com/v1/accounts/{{CONNECTEDACCOUNT_ID}} \ -u "<>:" \ -d "company[name]"=Homebox \ -d "company[address][line1]"="123 Market St." \ -d "company[address][city]"="San Francisco" \ -d "company[address][state]"=CA \ -d "company[address][postal_code]"=94107 \ -d "company[address][country]"=US ``` ### Conditions requises Les champs du tableau suivant sont obligatoires pour Financial Accounts des utilisateurs de plateformes. | Type d’entité | À l’inscription | | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Entreprise individuelle | Informations sur l’entité : - Dénomination sociale et nom commercial - Type d’entité juridique - Adresse de l’entreprise - Numéro de téléphone de l’entreprise - Description du produit ou du service - Code de catégorie secteur ou marchand - Numéro fiscal (SSN, ITIN ou EIN) - Acceptation des conditions d’utilisation de Financial Accounts pour les plateformes - Acceptation des Conditions d’utilisation de Stripe Informations sur le propriétaire : - Dénomination sociale - Date de naissance - Adresse e-mail - Adresse personnelle - Numéro de sécurité sociale complet, ou scan d’une pièce d’identité pour les ressortissants d’un autre pays que les États-Unis en cas d’impossibilité à vérifier le numéro de sécurité sociale - Titre - Numéro de téléphone | | Sociétés (SARL, SA, à but non lucratif, de personnes, etc.) | Informations sur l’entité : - Dénomination sociale et nom commercial - Type d’entité juridique - Adresse de l’entreprise - Numéro de téléphone de l’entreprise - Description du produit ou du service - Code de catégorie secteur ou marchand - Numéro fiscal (EIN) - Acceptation des conditions d’utilisation de Financial Accounts pour les plateformes - Acceptation des Conditions d’utilisation de Stripe Informations sur le propriétaire/représentant : - Dénomination sociale - Date de naissance - Adresse e-mail - Adresse personnelle - Numéro de téléphone - Titre - Pourcentage de participation dans la société - Numéro de sécurité sociale complet, ou scan d’une pièce d’identité pour les ressortissants d’un autre pays que les États-Unis en cas d’impossibilité à vérifier le numéro de sécurité sociale | ### Finalisation Le processus d’inscription du compte connecté s’achève lorsque vous recevez un [webhook](https://docs.stripe.com/webhooks.md) `account.updated` confirmant les champs suivants sur votre compte connecté : ``` { "object": { "object": "account", "id": "acct_1234", "capabilities": { "treasury": "active", "card_issuing": "active", // Only appears if requesting the `card_issuing` capability. "us_bank_account_ach_payments": "active" // Only appears if requesting the `us_bank_account_ach_payments` capability. }, ... } } ``` Si le partenaire bancaire de votre plateforme est Evolve Bank & Trust, le délai d’attente pour l’ouverture d’un compte est de moins de cinq minutes. ### Mises à jour apportées aux exigences Afin de s’adapter à l’évolution des réglementations financières, Stripe doit occasionnellement mettre à jour ses exigences en matière de collecte d’informations pour les plateformes. Le tableau `requirements.eventually_due` de l’objet `Account` capture les nouvelles informations ainsi exigées. En savoir plus sur le hachage [exigences](https://docs.stripe.com/api/accounts/object.md#account_object-requirements).