Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
Démarrer avec Connect
Principes de base de l'intégration
Exemples d'intégration
Gestion de compte
Inscrire des comptes
    Choisir votre configuration d'inscription des utilisateurs
      Stripe-hosted onboarding
      Inscription des utilisateurs intégrée
      Inscription via l'API
    Fonctionnalités du compte
    Informations de vérification requises
    Types de contrat de services
    Vérifications supplémentaires
    Inscription en réseau des utilisateurs
    Migrer vers Stripe
Configurer les dashboards des comptes
Utiliser les types de comptes connectés
Traitement des paiements
Accepter des paiements
Effectuer des virements vers des comptes
Administration de plateforme
Gérer votre plateforme Connect
Formulaires fiscaux pour votre plateforme Connect
AccueilPlateformes et places de marchéOnboard accountsChoose your onboarding configuration

Inscription des utilisateurs via l'API

Créez votre propre flux d'inscription des utilisateurs à l'aide des API de Stripe.

Avec l’API Onboarding, vous utilisez l’API Accounts pour créer un flux d’inscription, une fonctionnalité de reporting et des canaux de communication pour vos utilisateurs. Stripe peut être totalement invisible pour le titulaire du compte. Cependant, votre plateforme est responsable de toutes les interactions avec vos comptes et de la collecte de toutes les informations nécessaires à leur vérification.

Responsabilités supplémentaires

Avec l’inscription via l’API, votre flux personnalisé doit répondre à toutes les exigences légales et réglementaires en vigueur dans les régions où vous exercez vos activités. Vous devez également consacrer des ressources au suivi des modifications apportées à ces exigences et recueillir des informations mises à jour de manière continue, au moins une fois tous les six mois. Si vous souhaitez mettre en place un flux d’inscription personnalisé, Stripe vous conseille vivement d’utiliser l’inscription intégrée.

Définir des exigences

Les facteurs suivants affectent les exigences d’inscription pour vos comptes connectés :

  • Pays d’origine des comptes connectés
  • Le type de contrat de service applicable aux comptes connectés
  • Fonctionnalités demandées pour les comptes connectés
  • Le business_type (par exemple, particulier ou entreprise) et la structure de l’entreprise (par exemple, public_corporation ou private_partnership)

Utilisez le formulaire interactif pour voir comment la modification de ces facteurs affecte les exigences.

Formulaire d'exigences

Créer des formulaires pour collecter des informations
Côté client

Il est recommandé d’organiser les paramètres requis en groupes logiques ou en formulaires dans votre flux d’inscription. Vous pouvez coder un mappage entre les paramètres Stripe et les regroupements logiques. Les regroupements logiques suggérés pour les paramètres sont indiqués dans la première colonne de l’exemple de tableau des exigences.

Après avoir encodé les paramètres requis au sein de votre application, générez des interfaces utilisateur pour les paramètres correspondant à ces exigences. Pour chaque paramètre, créez un formulaire d’interface utilisateur qui comprend :

  • Libellé de paramètre, localisé dans chaque pays et langue pris en charge
  • Description des paramètres, localisée dans chaque pays et langue pris en charge
  • Champs de saisie des paramètres avec logique de validation des données et chargement de documents au besoin

Il est important de structurer votre logique d’application pour prendre en compte la possibilité d’ajouter des paramètres ultérieurement. Par exemple, Stripe peut introduire de nouveaux paramètres, de nouvelles vérifications ou de nouveaux seuils que vous devez intégrer dans vos flux d’inscription au fil du temps.

Si vous modifiez l’un des facteurs qui déterminent les exigences de vos comptes connectés, vous devez également adapter vos formulaires de collecte pour tenir compte des nouvelles exigences. Le pays et le type de contrat de service sont non mutables, tandis que les fonctionnalités et le type d’entreprise sont mutables.

  • Pour modifier un champ non mutable, créez un nouveau compte connecté avec les nouvelles valeurs pour remplacer le compte existant.
  • Pour modifier un champ mutable, mettez à jour le compte connecté.

Inclure les Conditions d’utilisation du service Stripe

Vos comptes connectés doivent accepter les Conditions d’utilisation du service Stripe avant de pouvoir être activés. Vous pouvez inclure les Conditions d’utilisation du service Stripe aux vôtres.

Créer un compte connecté
Côté serveur

Créez un compte dans lequel votre plateforme est responsable des soldes négatifs, dans lequel Stripe perçoit des frais sur votre compte de plateforme et dans lequel vos comptes connectés n’ont pas accès à un Dashboard hébergé par Stripe. Demandez toutes les fonctionnalités dont vos comptes connectés ont besoin. Préremplissez le type d’entreprise et toute autre information disponible correspondant à vos besoins.

Vous pouvez également créer un compte connecté dont le type est défini sur custom, avec les fonctionnalités de votre souhait.

Si vous ne spécifiez pas le pays ni le contrat de type de service, les valeurs par défaut suivantes leur sont attribuées :

  • Le country par défaut est le même pays que celui de votre plateforme.
  • Le contrat de type de service (tos_acceptance.service_agreement) est défini sur full par défaut.

Remarque

Pour se conformer à la réglementation DSP2 française, les plateformes françaises doivent utiliser des tokens de compte. Les tokens présente un autre avantage : ils évitent à la plateforme de stocker des éléments d’identification, qui sont transférés du compte connecté directement à Stripe. Nous recommandons également aux plateformes situées dans d’autres pays d’utiliser des tokens de compte, mais ce n’est pas obligatoire.

Command Line
cURL
curl https://api.stripe.com/v1/accounts \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "controller[losses][payments]"=application \ -d "controller[fees][payer]"=application \ -d "controller[stripe_dashboard][type]"=none \ -d "controller[requirement_collection]"=application \ -d "capabilities[card_payments][requested]"=true \ -d "capabilities[transfers][requested]"=true \ -d business_type=individual \ -d country=US

Déterminer les informations à collecter
Côté serveur

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), ou les recueillir progressivement (inscription progressive). 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’inscriptionAvantages
**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 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 à l’aide du paramètre collection_options. Pour collecter les futurs besoins du compte, définissez collection_options.future_requirements sur include.

Pour mettre en œuvre votre stratégie d’inscription, inspectez le hachage des exigences du compte connecté que vous avez créé. Le hachage requirements fournit une liste complète des informations que vous devez collecter pour activer le compte connecté.

  • Pour l’inscription progressive, examinez le hachage currently_due dans le hachage des exigences et créez un flux d’inscription qui collecte uniquement ces exigences.
  • Pour l’inscription complète, vérifiez les hachages currently_due et eventually_due dans le hachage des exigences et créez un flux d’inscription qui collecte ces exigences.
{ ... "requirements": { "alternatives": [], "current_deadline": null, "currently_due": [ "business_profile.product_description", "business_profile.support_phone", "business_profile.url", "external_account", "tos_acceptance.date", "tos_acceptance.ip" ], "disabled_reason": "requirements.past_due", "errors": [], "eventually_due": [ "business_profile.product_description", "business_profile.support_phone", "business_profile.url", "external_account", "tos_acceptance.date", "tos_acceptance.ip" ], "past_due": [], "pending_verification": [] }, ... }

Gérer les exigences en matière de preuves d'existence

An account can have one or more Person objects with a proof_of_liveness requirement. A proof_of_liveness requirement might require collection of an electronic ID credential such as MyInfo in Singapore, or by using Stripe Identity to collect a document or selfie. We recommend using Stripe-hosted or embedded onboarding to satisfy all variations of the proof_of_liveness requirement.

L’inscription des utilisateurs hébergée par Stripe permet de répondre à toutes les formes d’exigences proof_of_liveness.

Créez un lien de compte à l’aide de l’ID de compte connecté et envoyez le compte à l’url renvoyée.

Command Line
cURL
curl https://api.stripe.com/v1/account_links \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d account=
{{CONNECTED_ACCOUNT_ID}}
\ --data-urlencode refresh_url="https://example.com/refresh" \ --data-urlencode return_url="https://example.com/return" \ -d type=account_onboarding \ -d "collection_options[fields]"=currently_due

Le compte reçoit un message l’invitant à répondre à l’exigence proof_of_liveness, ainsi qu’à toute autre exigence devant être satisfaite. Écoutez l’événement account.updated envoyé à votre endpoint de webhook pour recevoir une notification lorsque le compte satisfait aux exigences et met à jour ses informations. Une fois que le compte est en règle, il est redirigé vers la return_url spécifiée.

Mettre à jour le compte connecté
Côté serveur

Mettez à jour l’objet Account avec de nouvelles informations à chaque étape du flux d’inscription de votre compte connecté. Cela permet à Stripe de valider les informations dès qu’elles sont ajoutées. Une fois que Stripe a confirmé son acceptation de nos conditions d’utilisation du service, toute modification apportée à l’objet Account déclenche une revérification. Par exemple, si vous modifiez le nom et le numéro d’identification du compte connecté, Stripe relance les vérifications.

Command Line
cURL
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ --data-urlencode "business_profile[url]"="https://furever.dev" \ -d "tos_acceptance[date]"=1609798905 \ -d "tos_acceptance[ip]"="8.8.8.8"

Lors de la mise à jour d’un compte connecté, vous devez gérer les erreurs de vérification ou les codes d’erreur HTTP.

Gérer les erreurs de vérification
Côté serveur

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 de l’objet Account pour la fonctionnalité concernée.
  • Demandez des fonctionnalités directement à partir de l’API Capabilities et examinez l’état de la fonctionnalité concernée.
  • Écoutez les événements account.updated dans votre endpoint de webhook 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 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 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 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 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
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
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

Remarque

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.

Écoutez l’événement 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 donnant des instructions claires que le compte pourra utiliser pour corriger ses informations. Informez le compte, puis soumettez les informations corrigées à l’aide de l’API Accounts.

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.
  • Tester les états de vérification.
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc