Permettre à d'autres entreprises d'accepter directement des paiements
Ce guide explique comment autoriser vos utilisateurs à accepter des paiements, transférer une partie des gains de vos utilisateurs vers votre solde et virer le reste sur les comptes bancaires de vos utilisateurs. Pour illustrer ces concepts, nous allons utiliser un exemple de plateforme qui permet aux entreprises de créer leurs propres boutiques en ligne.
Prérequis
- Enregistrez votre plateforme.
- Ajoutez des informations sur l’entreprise pour activer votre compte.
- Complétez votre profil de plateforme.
- Customize your brand settings. Add a business name, icon, and brand color.
Configurer StripeCôté serveur
Installez les bibliothèques officielles de Stripe pour accéder à l’API depuis votre application :
Créer un compte connecté
Lorsqu’un utilisateur (marchand ou fournisseur de services) s’inscrit sur votre plateforme, créez un compte d’utilisateur (appelé compte connecté) afin de pouvoir accepter des paiements de sa part et transférer des fonds vers son compte bancaire. Les comptes connectés représentent vos utilisateurs dans l’API de Stripe et permettent de collecter facilement les informations nécessaires pour vérifier leur identité. Dans notre exemple de création de boutique, le compte connecté représente l’entreprise qui configure sa boutique en ligne.
Créer un compte connecté et préremplir les informations
Utilisez l’API /v1/accounts
pour créer un compte connecté. Vous pouvez le créer en utilisant les paramètres par défaut du compte connecté ou en spécifiant le type de compte.
Si vous avez déjà collecté des informations pour vos comptes connectés, vous pouvez préremplir ces informations dans l’objet de compte. Vous pouvez pré-remplir n’importe quelle information de compte, y compris des informations personnelles et professionnelles, des informations relatives à un compte externe, etc.
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.
Lorsque vous testez votre intégration, préremplissez les informations du compte à l’aide des données de test.
Créer un lien de compte
Vous pouvez créer un lien de compte en appelant l’API Account Links avec les paramètres suivants :
account
refresh_url
return_url
type
=account_onboarding
Rediriger votre utilisateur vers l’URL du lien de compte
La réponse à votre requête Accounts Links contient une valeur d’url
de clé. Redirigez l’utilisateur vers ce lien pour l’introduire dans le flux. Les liens de compte sont temporaires et à usage unique, car ils donnent accès aux informations personnelles du titulaire du compte connecté. Authentifiez l’utilisateur dans votre application avant de le rediriger vers cette URL. Si vous souhaitez préremplir des informations, vous devez le faire avant de générer le lien de compte. Une fois le lien créé, les opérations de lecture comme d’écriture ne seront plus possibles pour ce compte.
Conseil en matière de sécurité
N’envoyez pas d’URL de lien de compte par e-mail, SMS ou autre moyen de paiement en dehors de l’application de votre plateforme. Fournissez-les plutôt au titulaire du compte authentifié dans votre application.
Gérer le retour de l’utilisateur sur votre plateforme
Connect Onboarding vous demande de transmettre à la fois une return_url
et une refresh_url
afin de gérer tous les cas de redirection des utilisateurs vers votre plateforme. Il est important que vous les implémentiez correctement afin d’offrir à vos utilisateurs une expérience optimale.
Note
Vous pouvez fonctionner en HTTP pour vos return_url
et refresh_url
lorsque vous êtes en mode test (par exemple, pour les tests avec votre localhost), mais notez que le mode production n’accepte que le protocole HTTPS. Veillez à remplacer les URL de test par des URL HTTPS avant le lancement en mode production.
return_url
Stripe déclenche une redirection vers cette URL une fois que l’utilisateur a terminé son inscription Connect Onboarding. Ceci ne veut pas dire que toutes les informations ont été recueillies ni qu’il ne reste pas des conditions à remplir pour le compte, mais simplement que votre client est entré dans le flux et en est sorti sans que des soucis particuliers ne se posent.
Aucun état n’est transmis par cette URL. Une fois que l’utilisateur est redirigé vers votre return_url
, vérifiez l’état du paramètre details_submitted
sur son compte de l’une des manières suivantes :
- Écouter les webhooks
account.updated
- Appeler l’API Accounts et examiner l’objet renvoyé
refresh_url
Votre utilisateur est redirigé vers l’URL refresh_url
dans les cas suivants :
- Le lien a expiré (quelques minutes se sont écoulées depuis la création du lien)
- L’utilisateur a déjà utilisé le lien (il a actualisé la page ou cliqué sur le bouton Précédent ou Suivant de son navigateur)
- Votre plateforme n’est plus en mesure d’accéder au compte
- Le compte a été rejeté
Pour une expérience optimale, votre refresh_url
doit déclencher une méthode sur votre serveur pour effectuer un nouvel appel à l’API Account Links avec les mêmes paramètres, puis rediriger l’utilisateur vers le flux Connect Onboarding.
Gérer les utilisateurs n’ayant pas finalisé leur inscription
Si un utilisateur est redirigé vers votre return_url
, il peut ne pas avoir finalisé son inscription. Utilisez l’endpoint /v1/accounts
pour récupérer ses données de compte et vérifier le paramètre charges_enabled
. Si l’inscription du compte n’a pas été finalisée, affichez des invites pour encourager l’utilisateur à poursuivre son inscription. Il pourra achever l’activation de son compte grâce à un nouveau lien de compte généré par votre intégration. Pour vérifier qu’il a bien finalisé son inscription, examinez l’état du paramètre details_submitted
sur son compte.
Activer des moyens de paiement
Accédez aux paramètres des moyens de paiement et activez ceux que vous souhaitez prendre en charge. Les paiements par carte bancaire sont activés par défaut, mais vous pouvez activer et désactiver les moyens de paiement de votre choix en fonction de vos besoins. Ce guide suppose que Bancontact, les cartes de crédit, EPS, giropay, iDEAL, Przelewy24, le prélèvement automatique SEPA et Sofort sont activés.
Avant que le formulaire de paiement ne s’affiche, Stripe évalue la devise, les restrictions en matière de moyens de paiement ainsi que d’autres paramètres pour dresser la liste des moyens de paiement pris en charge. Ceux qui augmentent le taux de conversion et qui sont les plus pertinents pour la devise et le lieu de résidence du client sont automatiquement priorisés. Ceux de moindre priorité ne sont accessibles que via un menu déroulant.
Bêta
The embedded payment method settings component allows connected accounts to configure the payment methods they offer at checkout without the need to access the Stripe Dashboard. Request access and learn how to integrate with Payment Method Configurations.
Accepter un paiement
Intégrez Stripe Checkout comme formulaire de paiement directement sur votre site web ou redirigez les utilisateurs vers une page préconfigurée hébergée par Stripe pour accepter les paiements. Checkout prend en charge de nombreux moyens de paiement et affiche automatiquement les plus pertinents pour votre client. Vous pouvez également utiliser l’Element de paiement, un composant d’interface utilisateur préconfiguré intégré sous forme d’iframe dans votre formulaire de paiement, pour accepter plusieurs moyens de paiement avec une seule intégration front-end.
Test
Testez votre flux de création de comptes en créant des comptes et en utilisant OAuth. Testez vos paramètres de moyen de paiement pour vos comptes connectés en vous connectant à l’un de vos comptes test et en accédant aux paramètres de moyen de paiement. Testez votre tunnel de paiement à l’aide de vos clés et d’un compte test. Vous pouvez utiliser nos cartes de test pour tester votre tunnel de paiement et simuler divers scénarios.
Virements
Par défaut, les paiements que vous créez pour un compte connecté viennent s’ajouter au solde Stripe de ce compte et sont versés sur une base quotidienne. Les comptes connectés peuvent gérer la fréquence de leurs virements dans leur Dashboard Stripe.