# Inscription intégrée Fournissez à vos comptes connectés un formulaire d’inscription localisé qui valide les données. L’inscription intégrée est une interface utilisateur d’inscription thématisable avec un marquage Stripe limité. Vous intégrez le [composant d’inscription de compte](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md) dans l’application de votre plateforme, et vos comptes connectés interagissent avec le composant intégré sans quitter votre application. Le composant prend en charge l’[inscription en réseau](https://docs.stripe.com/connect/networked-onboarding.md), qui permet aux propriétaires de plusieurs comptes Stripe de partager des informations sur leur entreprise. Lors de l’inscription d’un compte, ils peuvent réutiliser les informations d’un compte existant au lieu de les soumettre à nouveau. 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 des données. Elle est localisée pour tous les pays dans lesquels Stripe est disponible. De plus, l’intégration intégrée gère l’ensemble des éléments suivants : - Types d’entreprises - Configurations des représentants de l’entreprise - Chargement du document de vérification - Vérification de l’identité et états - Comptes bancaires internationaux - États d’erreur Cette démo vous permet d’explorer l’interface du composant d’inscription intégré : Note: The following is a preview/demo component that behaves differently than live mode usage with real connected accounts. The actual component has more functionality than what might appear in this demo component. For example, for connected accounts without Stripe dashboard access (custom accounts), no user authentication is required in production. ## Créer un compte et configurer la collecte d’informations. [Côté serveur] Créez un [compte connecté](https://docs.stripe.com/api/accounts.md) avec les propriétés par défaut du [contrôleur](https://docs.stripe.com/api/accounts/create.md#create_account-controller). Pour en savoir plus sur les propriétés des contrôleurs, consultez la section [Concevoir une intégration](https://docs.stripe.com/connect/interactive-platform-guide.md). Vous pouvez également créer un compte connecté en spécifiant un [type](https://docs.stripe.com/api/accounts/create.md#create_account-type) de compte. Si vous spécifiez le pays du compte ou demandez des fonctionnalités pour celui-ci, le propriétaire du compte ne peut pas modifier son pays. Sinon, cela dépend de l’accès au Dashboard du compte : - **Dashboard Stripe complet** : lors de l’inscription, le propriétaire du compte peut sélectionner n’importe quel pays acquéreur, de la même manière que lors de l’inscription à un compte Stripe classique. Stripe demande automatiquement un ensemble de fonctionnalités pour le compte en fonction du pays sélectionné. - **Dashboard Express** : lors de l’inscription, le titulaire du compte peut choisir parmi une liste de pays que vous configurez dans votre plateforme Dashboard les [options d’inscription](https://dashboard.stripe.com/settings/connect/onboarding-options/countries). Vous pouvez également configurer ces options pour préciser les fonctionnalités par défaut à demander pour les comptes de chaque pays. - **Pas de Dashboard Stripe** : si Stripe est responsable de la collecte des exigences, le flux d’inscription permet au titulaire du compte de sélectionner n’importe quel pays acquéreur. Sinon, votre flux d’inscription personnalisé doit définir le pays et demander des fonctionnalités. #### Avec les propriétés du contrôleur ```curl curl https://api.stripe.com/v1/accounts \ -u "<>:" \ -d "controller[fees][payer]=application" \ -d "controller[losses][payments]=application" \ -d "controller[stripe_dashboard][type]=express" ``` #### Avec un type de compte ```curl curl https://api.stripe.com/v1/accounts \ -u "<>:" \ -d type=standard ``` La réponse inclut l’ID, que vous utilisez pour référencer le `Account` tout au long de votre intégration. ### Demandez des fonctionnalités Vous pouvez demander des [fonctionnalités](https://docs.stripe.com/connect/account-capabilities.md#creating) lors de la création d’un compte en attribuant la valeur true à la propriété `requested` des fonctionnalités souhaitées. Pour les comptes ayant accès au Dashboard Express, vous pouvez également configurer vos [options d’inscription](https://dashboard.stripe.com/settings/connect/onboarding-options/countries) de manière à demander automatiquement certaines fonctionnalités lors de la création d’un compte. Les interfaces utilisateur d’inscription de Stripe recueillent automatiquement les conditions requises pour les fonctionnalités demandées. Pour réduire les efforts d’inscription, demandez uniquement les fonctionnalités dont vous avez besoin. ### Préremplissage des informations Si vous disposez d’informations sur le titulaire du compte (comme son nom, son adresse, etc.), vous pouvez simplifier l’inscription en les fournissant lors de la création ou de la modification du compte. L’interface d’inscription demande au titulaire du compte de confirmer les informations préremplies avant d’accepter le [contrat d’utilisation du service Connect](https://docs.stripe.com/connect/service-agreement-types.md). Le titulaire du compte peut modifier toutes les informations préremplies avant d’accepter le contrat d’utilisation du service, même si vous avez fourni les informations à l’aide de l’API Accounts. Si vous inscrivez un compte et que votre plateforme lui fournit une URL, préremplissez la [business_profile.url](https://docs.stripe.com/api/accounts/create.md#create_account-business_profile-url) du compte. Si l’entreprise n’a pas d’URL, vous pouvez préremplir sa [business_profile.product_description](https://docs.stripe.com/api/accounts/create.md#create_account-business_profile-product_description) à la place. Lorsque vous testez votre intégration, utilisez des [données de test](https://docs.stripe.com/connect/testing.md) pour simuler différents résultats, notamment la vérification d’identité, la vérification des informations de l’entreprise, les échecs de virement, etc. ### Collecter un ensemble personnalisé d’exigences. Vous pouvez configurer le composant intégré pour collecter un ensemble spécifique d’exigences en utilisant les options `exclude` et `only`. Cela vous permet de créer un flux personnalisé pour certaines informations tout en utilisant le composant intégré pour toutes les autres. Par exemple : - Utiliser `exclude` pour empêcher les comptes connectés d’accéder aux exigences spécifiées via le composant. - Utiliser `only` pour limiter les comptes connectés à l’accès aux seules exigences spécifiées via le composant. Pour plus de détails sur l’utilisation de ces options de collecte, consultez la documentation du [composant d’inscription de compte](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md#requirement-restrictions) ou du [composant de gestion de compte](https://docs.stripe.com/connect/supported-embedded-components/account-management.md#requirement-restrictions). ## Déterminer s’il faut collecter toutes les informations dès le départ. En tant que plateforme, vous devez décider entre collecter toutes les informations requises auprès de vos comptes connectés au début du processus *(inscription complète)* (Upfront onboarding is a type of onboarding where you collect all required verification information from your users at sign-up), ou les recueillir progressivement *(inscription progressive)* (Incremental onboarding is a type of onboarding where you gradually collect required verification information from your users. You collect a minimum amount of information at sign-up, and you collect more information as the connected account earns more revenue). L’inscription complète collecte les exigences `eventually_due` pour le compte, tandis que l’inscription progressive collecte uniquement les exigences `currently_due`. | Type d’inscription | Avantages | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | \**En amont ** | - Ne nécessite normalement qu’une seule requête pour l’ensemble des informations - Évite les problèmes de paiement et de traitement dus au non-respect des délais - Permet de détecter en amont les risques potentiels lorsque les clients refusent de communiquer des informations | | **Progressive** | - Les comptes peuvent s’inscrire rapidement parce qu’ils n’ont pas à fournir autant d’informations | Pour déterminer si vous devez utiliser l’inscription complète ou progressive, consultez les [exigences](https://docs.stripe.com/connect/required-verification-information.md) relatives aux emplacements et aux fonctionnalités de vos comptes connectés. Stripe s’efforce de minimiser son impact sur les comptes connectés, cependant, les exigences sont susceptibles d’évoluer. Dans le cas des comptes connectés pour lesquels vous êtes responsable de la collecte des exigences, vous pouvez personnaliser le comportement des [exigences futures](https://docs.stripe.com/connect/handle-verification-updates.md) à l’aide du paramètre `collection_options`. Pour collecter les futurs besoins du compte, définissez [`collection_options.future_requirements`](https://docs.stripe.com/api/account_links/create.md#create_account_link-collection_options-future_requirements) sur `include`. ## Personnaliser les politiques présentées à vos utilisateurs Les comptes connectés voient le Contrat d’utilisation du service et la [Politique de confidentialité](https://stripe.com/privacy) lors de l’inscription intégrée. Les utilisateurs de comptes connectés qui n’ont pas [accepté le Contrat d’utilisation du service Stripe](https://docs.stripe.com/connect/service-agreement-types.md#accepting-the-correct-agreement) doivent l’accepter sur le dernier écran de l’inscription. L’inscription intégrée dispose également d’un pied de page avec des liens vers le Contrat d’utilisation du service et la [Politique de confidentialité](https://stripe.com/privacy) de Stripe. Dans le cas des comptes connectés pour lesquels la plateforme est responsable de la collecte des exigences, vous disposez d’options supplémentaires pour personnaliser le flux d’inscription, décrites ci-dessous. ### Gérer l’acceptation du contrat d’utilisation du service vous-même Si vous êtes une plateforme qui inscrit des comptes connectés pour lesquels vous êtes responsable de la collecte des exigences, vous pouvez [recueillir l’acceptation des Conditions d’utilisation du service](https://docs.stripe.com/connect/updating-service-agreements.md#tos-acceptance) par vos propres moyens plutôt qu’en utilisant notre composant d’inscription de compte intégré. Si vous utilisez votre propre processus, lorsque les comptes connectés arrivent sur l’écran final lors de l’inscription, ils sont uniquement invités à confirmer les informations qu’ils ont saisies, et vous devez vous assurer qu’ils acceptent le Contrat d’utilisation du service Stripe. L’inscription intégrée présente toujours des liens vers les conditions d’utilisation du service (par exemple, dans le pied de page) que vous pouvez remplacer par [un lien vers vos propres conditions et politiques de confidentialité](https://docs.stripe.com/connect/embedded-onboarding.md#link-to-your-own-agreements-and-privacy-policy). ### Associer à vos contrats et votre politique de confidentialité Les comptes connectés peuvent consulter le Contrat d’utilisation du service et la [Politique de confidentialité](https://stripe.com/privacy) de Stripe tout au long de l’inscription intégrée. Dans le cas des comptes connectés pour lesquels vous êtes responsable de la collecte des exigences, vous pouvez remplacer ces liens par vos propres contrats et politiques. Pour ce faire, suivez ces instructions de façon à [ajouter le Contrat d’utilisation du service Stripe](https://docs.stripe.com/connect/updating-service-agreements.md#adding-stripes-service-agreement-to-your-terms-of-service) et à [afficher un lien vers la Politique de confidentialité Stripe](https://docs.stripe.com/connect/updating-service-agreements.md#disclosing-how-stripe-processes-user-data). ## Intégrer le composant d'inscription de compte [Côté serveur] [Côté client] Créez une [session de compte](https://docs.stripe.com/api/account_sessions.md) en spécifiant l’ID du compte connecté et `account_onboarding`comme composant à activer. ### Créer une session de compte Lorsque vous [créez une session de compte](https://docs.stripe.com/api/account_sessions/create.md), activez l’inscription des comptes en spécifiant `account_onboarding` dans le paramètre `components`. ```curl curl https://api.stripe.com/v1/account_sessions \ -u "<>:" \ -d "account={{CONNECTEDACCOUNT_ID}}" \ -d "components[account_onboarding][enabled]=true" ``` ### Affichage du composant d’inscription de compte Après avoir créé la session de compte et [initialisé ConnectJS](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#account-sessions), vous pouvez afficher le composant d’inscription de compte dans le front-end : #### JavaScript ```js // Include this element in your HTML const accountOnboarding = stripeConnectInstance.create('account-onboarding'); accountOnboarding.setOnExit(() => { console.log('User exited the onboarding flow'); }); container.appendChild(accountOnboarding); // Optional: make sure to follow our policy instructions above // accountOnboarding.setFullTermsOfServiceUrl('{{URL}}') // accountOnboarding.setRecipientTermsOfServiceUrl('{{URL}}') // accountOnboarding.setPrivacyPolicyUrl('{{URL}}') // accountOnboarding.setCollectionOptions({ // fields: 'eventually_due', // futureRequirements: 'include', // requirements: { // exclude: ['business_profile.product_description'] // } // }) // accountOnboarding.setOnStepChange((stepChange) => { // console.log(`User entered: ${stepChange.step}`); // }); ``` Consulter la section[onboarding du compte](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md) pour les fonctionnalités d’onboarding telles que: - Rattachement de gestionnaires comme `setOnStepChange` pour les analyses. - Intégrer l’onboarding à votre application mobile avec nos SDK iOS et Android. - Personnalisation des conditions d’utilisation et des URL de confidentialité. - Spécification des options de recouvrement. ## Identifier et traiter les mises à jour des exigences [Côté serveur] Configurez votre intégration pour [écouter les modifications](https://docs.stripe.com/connect/handling-api-verification.md#verification-process) des exigences du compte. Vous pouvez tester la gestion des nouvelles exigences (et la désactivation des paiements et virements qui peut en résulter) en utilisant les [cartes de test dotées de déclencheurs](https://docs.stripe.com/connect/testing.md#trigger-cards). Renvoyez un compte connecté via l’inscription lorsqu’il est associé à des exigences `currently_due` ou `eventually_due`. Il n’est pas nécessaire d’identifier les exigences spécifiques, car l’interface d’inscription sait quelles informations elle doit collecter. Par exemple, si une faute de frappe empêche la vérification de l’identité du propriétaire du compte, l’inscription invite ce dernier à charger une pièce d’identité. Stripe vous informe de toute [future mise à jour des exigences](https://support.stripe.com/user/questions/onboarding-requirements-updates) ayant une incidence sur vos comptes connectés. Vous pouvez collecter ces informations de manière proactive en consultant les [futures exigences](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements) applicables à vos comptes. Dans le cas des comptes connectés pour lesquels [controller.requirement_collection](https://docs.stripe.com/api/accounts/object.md#account_object-controller-requirement_collection) est `stripe`, vous cessez de recevoir des mises à jour concernant les informations d’identité après avoir créé un [lien de compte](https://docs.stripe.com/api/account_links.md) ou une [session de compte](https://docs.stripe.com/api/account_sessions.md). Les comptes stockent les informations d’identité dans les hachages `company` et `individual`. ### Gérer les erreurs de vérification Écoutez l’événement [account.updated](https://docs.stripe.com/api/events/types.md#event_types-account.updated). Si le compte contient des champs `currently_due` à l’arrivée de la date `current_deadline`, la fonctionnalité correspondante est désactivée et ces champs sont ajoutés à `past_due`. Laissez vos comptes remplir leurs exigences de vérification en les dirigeant vers le [composant d’inscription de compte](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md). (See full diagram at https://docs.stripe.com/connect/embedded-onboarding) ### Désactiver l’authentification utilisateur Stripe Lors de l’utilisation de l’inscription intégrée, l’[authentification utilisateur Stripe](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#user-authentication-in-connect-embedded-components) est activée par défaut. Vous pouvez utiliser [`disable_stripe_user_authentication`](https://docs.stripe.com/api/account_sessions/create.md#create_account_session-components-account_onboarding-features-disable_stripe_user_authentication) pour désactiver ce comportement. Nous vous recommandons de mettre en œuvre l’authentification à deux facteurs ou des mesures de sécurité équivalentes au titre de [bonne pratique](https://docs.stripe.com/connect/risk-management/best-practices.md#prevent-account-take-overs). Pour les configurations de compte qui prennent en charge cette fonctionnalité, comme les comptes Custom, vous assumez la responsabilité des comptes connectés s’ils ne sont pas en mesure de rembourser les [soldes négatifs](https://docs.stripe.com/connect/risk-management/best-practices.md#decide-your-approach-to-negative-balance-liability). ## See also - [Démarrer avec les composants intégrés de Connect](https://docs.stripe.com/connect/get-started-connect-embedded-components.md) - [Personnaliser les composants intégrés](https://docs.stripe.com/connect/customize-connect-embedded-components.md)