# Migrer des comptes vers Stripe Commencez à traiter vos comptes sur Stripe sans interrompre les paiements. Vous pouvez migrer une activité de paiements multipartites existante vers Stripe, y compris l’historique des paiements et les données clients. En fonction de la nature de votre activité, vous pouvez configurer une *marketplace* (A Connect platform that provides a platform-branded storefront for products and services from its connected accounts) ou une *plateforme SaaS* (A Software as a Service (SaaS) Connect platform that provides Stripe products and services to its connected accounts). Pour migrer vers une intégration Connect et configurer des *comptes connectés* (A person or business accepting payments or receiving payouts on a Connect platform) représentant les entreprises de vos clients, suivez cette procédure : 1. Créer un plan et un calendrier de migration 1. Mettre à jour votre intégration pour vos comptes connectés 1. Créer et inscrire des comptes 1. Gérer les exigences en attente et en cours 1. Migrer les données de paiement et client vers Stripe ## Créer un plan de migration Une migration réussie vers Stripe inclut un plan de migration, un calendrier et des informations KYC pour les comptes connectés, ainsi que des données de paiement et client. Les comptes connectés doivent s’inscrire à Stripe, ce qui nécessite l’envoi de données Know Your Customer (KYC) de Stripe pour chaque compte. Stripe peut également exiger que vous collectiez des informations supplémentaires auprès de vos comptes. Analysez les données que vous aviez recueillies auprès de votre précédent fournisseur et les données requises par Stripe. Stripe vérifie les données KYC avant d’activer les comptes connectés. Surveillez l’état de vérification des comptes à l’aide de l’événement [account.updated](https://docs.stripe.com/api/events/types.md#event_types-account.updated) ou de l’API [Récupérer le compte](https://docs.stripe.com/api/account/retrieve.md). Les comptes dont la vérification échoue nécessitent une action avant leur activation. Indiquez une date de transition définitive pour les données de paiement après l’inscription des comptes à Stripe. Les données de paiement et client nécessitent une [importation de numéro PAN](https://docs.stripe.com/get-started/data-migrations/pan-import.md) dans le cadre de la transition. Nous vous recommandons d’importer les comptes par lots. ## Mettre votre intégration à jour Votre application peut nécessiter des modifications dans le cadre des mises à jour de l’intégration pour migrer vers Stripe. Par exemple, envisagez toute modification de l’utilisation de votre plateforme par vos comptes connectés, telle que la mise à jour des tarifs. Stripe vous recommande de communiquer à l’avance toute modification apportée à vos comptes. ### Conditions d’utilisation du service Stripe Pour pouvoir être activés, vos comptes connectés doivent accepter les Conditions d’utilisation du service Stripe. Les comptes dont Stripe est responsable de la collecte des informations mises à jour lorsque certaines exigences sont requises ou modifiées (y compris les comptes Standard et Express) acceptent les Conditions d’utilisation du service Stripe dans le cadre du flux d’inscription. Si votre plateforme est responsable de [collecter les informations mises à jour](https://docs.stripe.com/connect/required-verification-information.md) auprès d’un compte connecté (y compris les comptes Custom) lorsque les exigences évoluent, vous pouvez [intégrer les Conditions d’utilisation du service Stripe dans vos propres Conditions d’utilisation du service](https://docs.stripe.com/connect/updating-service-agreements.md#adding-stripes-service-agreement-to-your-terms-of-service). Nous recommandons d’afficher l’acceptation des Conditions d’utilisation du service à la fin du flux d’onboarding, mais vous pouvez également la placer au début si cela correspond mieux à votre entreprise. Lors de la création ou de la mise à jour des comptes connectés, enregistrez l’acceptation des [informations mises à jour des Conditions d’utilisation du service](https://docs.stripe.com/api/accounts/update.md#update_account-tos_acceptance) à transmettre à Stripe, puis communiquez-les aux comptes concernés. ### Inscrire des comptes connectés à Stripe Stripe propose différents niveaux de support pour l’inscription de vos comptes connectés. Créez un flux d’inscription pour vos comptes connectés à l’aide de l’une des méthodes suivantes : | Moyen de paiement | Avantages | Inconvénients | | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Inscription hébergée par Stripe](https://docs.stripe.com/connect/custom/onboarding.md#stripe-hosted-onboarding) | - Intégration simplifiée | - Avec le logo de la marque Stripe et un nombre limité de logos de la plateforme - Contrôle limité sur la logique de flux - Les comptes connectés sont redirigés vers Stripe au lieu d’effectuer le processus sans quitter votre site | | [Inscription intégrée](https://docs.stripe.com/connect/custom/onboarding.md#embedded-onboarding) | - [Hautement thématisable](https://docs.stripe.com/connect/customize-connect-embedded-components.md) - Image de marque Stripe limitée ou absente - Les comptes connectés restent dans le flux de votre site - Intégration simplifiée | - Contrôle limité sur la logique de flux | | [Inscription basée sur l’API](https://docs.stripe.com/connect/custom/onboarding.md#api-based-onboarding) | - Contrôle total sur votre propre interface utilisateur | - Mise en place coûteuse et chronophage - Maintenance continue, notamment pour garantir la conformité aux exigences mondiales en constante évolution - Impossible de résoudre les vérifications des risques de Stripe | ## Créer et inscrire des comptes Voici un aperçu du processus : (See full diagram at https://docs.stripe.com/connect/migrate-to-stripe) ### Définir les exigences du compte Les facteurs suivants affectent les [exigences d’inscription](https://docs.stripe.com/connect/required-verification-information.md) pour vos comptes connectés : - Pays d’origine des comptes connectés - Le [type de contrat de service](https://docs.stripe.com/connect/service-agreement-types.md) applicable aux comptes connectés - [Fonctionnalités](https://docs.stripe.com/connect/account-capabilities.md) demandées pour les comptes connectés - Le [business_type](https://docs.stripe.com/api/accounts/object.md#account_object-business_type) (par exemple, particulier ou entreprise) et la [structure de l’entreprise](https://docs.stripe.com/api/accounts/object.md#account_object-company-structure) (par exemple, `public_corporation` ou `private_partnership`) Utilisez les [Informations de vérification requises](https://docs.stripe.com/connect/required-verification-information.md) pour voir comment la modification de ces facteurs affecte les exigences d’inscription des utilisateurs pour vos comptes connectés. ### Créer un compte connecté Pour chaque compte à migrer vers Stripe, créez un compte associé. Créez un compte connecté qui spécifie toutes les préférences de compte souhaitées. Vous pouvez préremplir n’importe quelle information, mais vous devez préciser le `controller` properties. Le pays du compte est par défaut le même pays que votre plateforme, et le compte confirme la sélection lors de l’onboarding. > Cet exemple ne comprend que certaines des propriétés que vous pouvez définir lors de la création d’un compte. Pour une liste complète des propriétés que vous pouvez définir, telles que les informations d’adresse et d’URL, voir [Créer un compte](https://docs.stripe.com/api/accounts/create.md)}. ```curl curl https://api.stripe.com/v1/accounts \ -u "<>:" \ -d "controller[fees][payer]=account" \ -d "controller[losses][payments]=stripe" \ -d "controller[stripe_dashboard][type]=none" \ -d "controller[requirement_collection]=stripe" \ -d country=US \ -d "capabilities[card_payments][requested]=true" \ -d "capabilities[transfers][requested]=true" ``` Si vous avez déjà collecté des informations pour vos comptes connectés, vous pouvez préremplir ces informations dans l’objet `Account`. Vous pouvez préremplir n’importe quelle information de compte, y compris des informations personnelles et professionnelles, des informations de compte externe, etc. Après avoir créé l’`Account`, créez une [Person](https://docs.stripe.com/api/persons/create.md) pour représenter la personne responsable de l’ouverture du compte et définissez `relationship.representative` sur true et toutes les informations de compte que vous souhaitez préremplir (par exemple, son prénom et son nom). ```curl curl https://api.stripe.com/v1/accounts/{{ACCOUNT_ID}}/persons \ -u "<>:" \ -d first_name=Jenny \ -d last_name=Rosen \ -d "relationship[representative]=true" ``` Connect Onboarding ne demande pas les informations préremplies. Cependant, il 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). Lorsque vous testez votre intégration, préremplissez les informations du compte à l’aide des [données de test](https://docs.stripe.com/connect/testing.md). Enregistrez l’ID du `Account` créé afin de pouvoir le réutiliser ultérieurement. Après avoir mis à jour Stripe avec toutes les données existantes, prenez connaissance des exigences en attente, qui sont répertoriées dans le tableau `currently_due`. Vous devez collecter toutes les exigences `currently_due` auprès du compte pour que Stripe puisse le vérifier et activer ses fonctionnalités. ```json { ... "requirements": { "alternatives": [], "current_deadline": null"currently_due": [ "business_profile.url", "external_account", "individual.first_name", "individual.last_name", "tos_acceptance.date", "tos_acceptance.ip" ], "disabled_reason": "requirements.past_due", "errors": [], "eventually_due": [ "business_profile.url", "external_account", "individual.first_name", "individual.last_name", "individual.id_number", "tos_acceptance.date", "tos_acceptance.ip" ], "past_due": [ "business_profile.url", "external_account", "individual.first_name", "individual.last_name", "tos_acceptance.date", "tos_acceptance.ip" ], "pending_verification": [] }, ... } ``` Après avoir fourni toutes les données existantes sur un compte, redirigez-le vers une interface utilisateur Stripe pour configurer les identifiants Stripe, confirmer les informations et accepter les Conditions d’utilisation du service Stripe. ### Inscrire les nouveaux comptes via un flux d’inscription En plus de migrer les comptes existants, créez un flux pour l’inscription des nouveaux comptes à Stripe. Vous pouvez également utiliser ce flux d’inscription pour collecter les données manquantes des comptes en cours de migration. Consultez les [options d’inscription](https://docs.stripe.com/connect/onboarding.md) pour créer votre flux d’inscription. Enregistrez l’ID du `Account` créé afin de pouvoir le réutiliser ultérieurement. ## Gérer les exigences en attente et en cours Lorsque les données du compte connecté sont soumises, Stripe les vérifie. Ce processus peut prendre quelques minutes ou quelques heures, selon la nature de la vérification. Au cours de ce processus, les fonctionnalités que vous avez demandées ont pour `status` `pending`. ### État de la vérification Vous pouvez récupérer l’état des fonctionnalités de votre compte connecté des manières suivantes : - Examen du hash des [fonctionnalités](https://docs.stripe.com/api/accounts/object.md#account_object-capabilities) de l’objet Account pour la fonctionnalité concernée. - Demandez des fonctionnalités directement à partir de l’[API Capabilities](https://docs.stripe.com/api/capabilities/retrieve.md) et examinez l’état de la fonctionnalité concernée. - Écoutez les [événements](https://docs.stripe.com/api/events/types.md#event_types-account.updated) `account.updated` dans votre endpoint de [webhook](https://docs.stripe.com/connect/webhooks.md) et inspectez le hash `capabilities` pour la fonctionnalité correspondante. Une fois les vérifications terminées, une fonctionnalité devient `active` et disponible pour le compte connecté. Les vérifications de compte s’exécutent en permanence, et si une vérification ultérieure échoue, une fonctionnalité peut ne plus être `active` . Écoutez les événements `account.updated` pour détecter les changements d’état des fonctionnalités. Confirmez que votre intégration Connect est conforme et opérationnelle en vérifiant que les paramètres `charges_enabled` et `payouts_enabled` du compte sont tous deux définis sur « true ». Vous pouvez utiliser l’API ou écouter les événements `account.updated`. Pour plus d’informations sur les autres champs pertinents, vérifiez le hash des [exigences](https://docs.stripe.com/api/accounts/object.md#account_object-requirements) du compte. Vous ne pouvez pas confirmer l’intégration sur la base d’une seule valeur, car les états peuvent varier selon l’application et les politiques associées. - [charges_enabled](https://docs.stripe.com/api/accounts/object.md#account_object-charges_enabled) confirme que votre chemin de paiement complet (paiement et transfert) fonctionne correctement et détermine si les fonctions `card_payments` et `transfers` sont actives. - [payouts_enabled](https://docs.stripe.com/api/accounts/object.md#account_object-payouts_enabled) détermine si votre compte connecté peut effectuer des virements vers un compte externe. En fonction de vos politiques en matière de risques, vous pouvez autoriser votre compte connecté à commencer à effectuer des transactions sans avoir activé les virements. À terme, vous [devrez activer les virements](https://docs.stripe.com/connect/manage-payout-schedule.md) pour verser des fonds sur vos comptes connectés. Vous pouvez partir de la logique suivante pour définir un état récapitulatif à afficher pour votre compte connecté. #### Ruby ```ruby # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. Stripe.api_key = '<>' def account_state(account) reqs = account.requirements if reqs.disabled_reason && reqs.disabled_reason.include?("rejected") "rejected" elsif account.payouts_enabled && account.charges_enabled if reqs.pending_verification "pending enablement" elsif !reqs.disabled_reason && !reqs.currently_due if !reqs.eventually_due "complete" else "enabled" end else "restricted" end elsif !account.payouts_enabled && account.charges_enabled "restricted (payouts disabled)" elsif !account.charges_enabled && account.payouts_enabled "restricted (charges disabled)" elsif reqs.past_due "restricted (past due)" elsif reqs.pending_verification "pending (disabled)" else "restricted" end end accounts = Stripe::Account.list(limit: 10) accounts.each do |account| puts "#{account.id} has state: #{account_state(account)}" end ``` ### Gérer les erreurs de vérification Gérez différemment les échecs de vérification selon votre flux d’inscription. > Vous ne pouvez pas utiliser l’API pour répondre aux vérifications des risques de Stripe. Vous pouvez autoriser vos comptes connectés à répondre à l’aide de composants intégrés, d’une procédure d’inscription hébergée par Stripe ou de liens de rectification. Vous avez également la possibilité d’utiliser le Dashboard pour répondre à des vérifications des risques au nom de vos comptes connectés. #### API É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`. [Créez un formulaire](https://docs.stripe.com/connect/migrate-to-stripe.md#create-forms-to-collect-information) donnant des instructions claires que le compte pourra utiliser pour corriger ses informations. Informez le compte, puis [soumettez les informations corrigées](https://docs.stripe.com/connect/migrate-to-stripe.md#update-the-connected-account) à l’aide de l’API Accounts. (See full diagram at https://docs.stripe.com/connect/migrate-to-stripe) Si vous prévoyez de créer des flux personnalisés pour gérer l’ensemble de vos erreurs de vérification : - Consultez les informations concernant toutes les [erreurs de vérification possibles et comment les gérer](https://docs.stripe.com/connect/handling-api-verification.md). - [Tester les états de vérification](https://docs.stripe.com/connect/testing-verification.md). #### Intégré É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/migrate-to-stripe) ### 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). #### Hébergé É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 les exigences de vérification en les dirigeant vers le formulaire de l’inscription hébergée par Stripe. (See full diagram at https://docs.stripe.com/connect/migrate-to-stripe) ## Migrer les données de paiement et client vers Stripe Après avoir créé vos comptes connectés sur Stripe, [demandez une importation de données PAN](https://docs.stripe.com/get-started/data-migrations/pan-import.md), ce qui migre vos données de paiement et vos données client vers ces comptes. ## See also - [Choisir votre configuration d’onboarding](https://docs.stripe.com/connect/onboarding.md) - [Gérer la vérification d’identité avec l’API](https://docs.stripe.com/connect/handling-api-verification.md) - [Tester la vérification de l’identité du compte](https://docs.stripe.com/connect/testing-verification.md)