Encaisser des paiements, puis effectuer des virements
Encaissez les paiements de vos clients puis effectuez les virements vers vos marchands ou fournisseurs de services.
Ce guide vous explique comment accepter les paiements et transférer des fonds vers les comptes bancaires de vos prestataires de services ou marchands. À des fins d’illustration, nous allons créer une place de marché de location immobilière qui met en relation des propriétaires et des locataires potentiels. Nous vous montrerons comment accepter les paiements des locataires (clients) et régler les propriétaires (utilisateurs de votre plateforme).
Prérequis
- Register your platform.
- Ajoutez des informations sur l’entreprise pour activer votre compte.
- Complétez votre profil de plateforme.
- Personnalisez vos paramètres de marque. Connect Onboarding nécessite l’ajout d’un nom d’entreprise, d’une icône et d’une couleur de marque.
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 (vendeur ou fournisseur de services) s’inscrit sur votre place de marché, vous devez créer un compte correspondant à cet utilisateur (appelé compte connecté). Sans cela, vous ne pourrez pas accepter de paiements de la part du compte bancaire de cet utilisateur ni lui transférer de fonds. Les comptes connectés représentent vos utilisateurs dans l’API Stripe et collectent les informations nécessaires pour vérifier leur identité. Dans notre exemple de location immobilière, le compte connecté représente le propriétaire.
Créer un compte connecté et préremplir les informations
Utilisez l’API /v1/accounts
pour créer un compte connecté en spécifiant les propriétés du compte connecté ou 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 Account Links inclut une valeur pour la clé url
. Redirigez l’utilisateur vers ce lien pour le faire entrer dans le flux. Les URL provenant de l’API Account Links sont temporaires et ne peuvent être utilisées qu’une seule fois, car elles donnent accès aux informations personnelles de l’utilisateur du compte connecté. Procédez à l’authentification de l’utilisateur dans votre application avant de le rediriger vers cette URL. Si vous souhaitez préremplir les informations, vous devez le faire avant de générer le lien de compte. Une fois le lien de compte créé, les opérations de lecture comme d’écriture ne seront plus possibles pour ce compte connecté.
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 la redirection de l’utilisateur vers votre plateforme
Connect Onboarding vous demande de transmettre à la fois une return_
et une refresh_
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_
et refresh_
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 l’entrée de votre client dans le flux et sa sortie se sont déroulées correctement.
Aucun état n’est transmis par cette URL. Une fois que l’utilisateur est redirigé vers votre return_
, vérifiez l’état du paramètre details_
sur son compte de l’une des manières suivantes :
- En écoutant les webhooks
account.
updated - Appeler l’API Accounts et inspecter l’objet renvoyé
refresh_url
Stripe redirige votre utilisateur vers la refresh_
dans les cas suivants :
- Le lien a expiré (quelques minutes se sont écoulées depuis sa création).
- L’utilisateur a déjà utilisé l’URL (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 URL refresh_
doit déclencher une méthode permettant à votre serveur d’appeler à nouveau Account Links avec les mêmes paramètres, et de rediriger l’utilisateur vers le flux Connect Onboarding.
Gérer les utilisateurs dont l’inscription n’est pas terminée
Un utilisateur redirigé vers votre return_
peut ne pas avoir terminé son inscription. Utilisez l’endpoint /v1/accounts
pour récupérer ses données de compte et vérifier le paramètre charges_
. 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). Vous pourrez vérifier l’état du paramètre details_
sur son compte pour voir s’il a terminé son inscription.
Activer des moyens de paiement
Accédez aux paramètres des moyens de paiement de votre Dashboard et activez ceux que vous souhaitez prendre en charge. Les paiements par carte bancaire, Google Pay et Apple Pay sont activés par défaut, mais vous pouvez activer et désactiver les moyens de paiement de votre choix selon vos besoins.
Avant que le formulaire de paiement ne s’affiche, Stripe évalue la devise, les restrictions relatives aux 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 selon la devise et le lieu de résidence du client sont automatiquement présentés en priorité. Les moyens de paiement de moindre priorité ne sont visibles qu’au sein d’un menu de débordement.
Accepter un paiement
Utilisez Stripe Checkout pour accepter des paiements. Checkout prend en charge de nombreux moyens de paiement et affiche automatiquement les plus pertinents pour votre client. Vous pouvez accepter des paiements avec Checkout à l’aide d’une page hébergée par Stripe ou ajouter un formulaire de paiement intégré préconfiguré directement sur votre site Web. Vous pouvez également créer un flux personnalisé (à l’aide du Payment Element) 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.
Consultez la section consacrée aux tests pour obtenir des informations supplémentaires sur la manière de tester votre intégration.
Litiges
Votre plateforme étant l’entité de règlement pour les paiements, elle est à ce titre responsable des litiges. Assurez-vous de prendre connaissance des bonnes pratiques en matière de résolution de litiges.
Virements
Par défaut, tous les fonds que vous transférez vers un compte connecté s’accumulent sur le solde Stripe et sont virés quotidiennement. Vous pouvez modifier la fréquence de virement depuis la page des détails du compte connecté, en cliquant sur le bouton tout à droite de la section Solde et en sélectionnant Modifier la fréquence des virements.
Remboursements
Pour émettre des remboursements, accédez à la page Paiements. Sélectionnez les paiements pour lesquels un remboursement doit être effectué en cochant la case à leur gauche. Après avoir sélectionné un paiement, Stripe affiche un bouton Rembourser dans le coin supérieur droit de la page. Cliquez sur le bouton Rembourser pour émettre un remboursement aux clients pour tous les paiements que vous venez de sélectionner.
Note
Les comptes connectés ne peuvent pas initier de remboursements pour les paiements effectués à partir du Dashboard Express. Si vos comptes connectés utilisent le Dashboard Express, vous devez traiter les remboursements pour eux.