Partager les moyens de paiement entre plusieurs comptes pour les paiements directs
Enregistrez les informations de paiement sur votre plateforme et dupliquez-les sur les comptes connectés pour effectuer des paiements directs.
Pour créer des paiements directs sur plusieurs comptes connectés en utilisant les mêmes informations de paiement enregistrées, privilégiez cette approche. Sinon, utilisez notre guide pour la création de paiements directs.
Enregistrer les informations de paiement sur votre plateforme
Lors de la collecte des informations de paiement de votre client, configurez les pour une utilisation future et enregistrez les sur votre plateforme. Vous ne devez configurer chaque moyen de paiement qu’une seule fois.
Créer un client sur votre plateforme
Sur votre plateforme, utilisez l’API Customers pour créer un objet Customer représentant votre client.
Créer un SetupIntent sur votre plateforme
Lorsque vous collectez les détails du moyen de paiement du client, utilisez l’API Setup Intents pour créer un Setupintent sur votre plateforme et l’associer au client.
Si votre plateforme se trouve dans un pays différent de celui de vos comptes connectés, la configuration effectuée sur votre plateforme peut ne pas être suffisante. Par exemple, si votre plateforme se trouve aux États-Unis, le processus de configuration peut ne pas déclencher l’authentification requise pour les paiements directs dans les pays soumis à l’application de la SCA. Pour vous assurer que votre configuration répond aux exigences du pays du compte connecté, il vous faudra peut-être utiliser on_behalf_of pour préciser un compte connecté dans ce pays.
Remarque
Vous pouvez accepter un paiement sur votre plateforme (et non un paiement direct sur le compte connecté) lors de la collecte des informations de paiement à enregistrer et à dupliquer sur les comptes connectés. Pour ce faire, au lieu de créer un SetupIntent, créez un PaymentIntent avec setup_future_usage. Les fonds provenant du PaymentIntent sur votre compte de plateforme alimentent directement le solde de votre plateforme.
Confirmer le SetupIntent
Envoyez le client_secret du SetupIntent à votre front end et utilisez nos SDK côté client ou nos composants d’interface utilisateur pour collecter les informations relatives au paiement et confirmer le SetupIntent. Par exemple, vous pouvez utiliser le Payment Element pour collecter les informations de paiement et confirmer le SetupIntent.
La confirmation sur le client permet au client de passer en revue tous les flux nécessaires à la configuration de ses informations de paiement pour une utilisation ultérieure, comme l’authentification avec 3D Secure.
Une confirmation réussie crée un PaymentMethod et l’attache au client pour une utilisation ultérieure.
Dupliquer le PaymentMethod et créer des paiements directs sur les comptes connectés
Une fois que vous avez configuré un PaymentMethod pour une utilisation future sur votre plateforme, dupliquez-le sur un compte connecté pour créer un paiement direct.
Dupliquer le PaymentMethod sur les comptes connectés
Utilisez l’API Payment Methods pour cloner le PaymentMethod enregistré sur votre compte plateforme vers chaque compte connecté souhaité, comme indiqué dans l’exemple suivant. Indiquez l’ID du compte connecté comme compte Stripe et transmettez les ID du Customer et du PaymentMethod enregistrés sur votre plateforme.
Remarque
Seuls certains types de PaymentMethods peuvent être dupliqués. La duplication est prise en charge pour les PaymentMethods dont le type est défini sur card ou us_.
Le PaymentMethod cloné est un objet indépendant avec un identifiant unique. Il n’est pas lié au PaymentMethod de votre plateforme, ni synchronisé avec celui-ci. Cependant, le PaymentMethod cloné hérite de la configuration effectuée sur votre compte plateforme, vous n’avez donc pas besoin de le configurer à nouveau sur le compte connecté.
Créer et confirmer un PaymentIntent sur un compte connecté
Utilisez l’API Payment Intents pour créer et confirmer un PaymentIntent sur un compte connecté à l’aide du PaymentMethod dupliqué :
La création d’un paiement avec le PaymentMethod dupliqué le consomme, car il n’est pas rattaché à un client. Cependant, la consommation de ce dernier n’affecte pas le PaymentMethod d’origine enregistré sur votre plateforme. Vous ne pouvez pas réutiliser la duplication consommée, mais vous pouvez dupliquer à nouveau le PaymentMethod de la plateforme et utiliser la nouvelle duplication pour un autre paiement.
Configurer des paiements récurrents sur un compte connecté
Pour utiliser un PaymentMethod cloné pour des paiements directs récurrents sur un compte connecté, vous devez créer un objet Customer sur le compte connecté et y attacher le PaymentMethod cloné. Ensuite, au lieu de créer des PaymentIntents, créez un abonnement en utilisant le PaymentMethod cloné et le client auquel il est attaché.
Remarque
L’objet Customer que vous créez sur le compte connecté n’a aucun lien avec l’objet d’origine enregistré sur votre plateforme. Vous devez mettre à jour toutes les occurrences pour maintenir les informations synchronisées.
Traiter les mises à jour des clients et des paiements
Si vous ne collectez pas de paiements récurrents, vous n’avez pas besoin de créer un Customer et un PaymentMethod persistant sur le compte connecté. Pour mettre à jour les données du client ou du moyen de paiement, vous devez uniquement mettre à jour les objets sur votre plateforme. Vous clonez le PaymentMethod pour chaque paiement direct, ce qui garantit l’utilisation de la version actuelle enregistrée sur votre plateforme.
Si vous collectez des paiements récurrents et que vous mettez à jour le Customer ou le PaymentMethod sur votre plateforme, vous devez aussi mettre à jour les objets correspondants enregistrés sur les comptes connectés. Si vous mettez à jour le PaymentMethod d’origine sur votre plateforme, clonez-le à nouveau et attachez le nouveau clone au Customer et à l’abonnement sur le compte connecté. Répétez ce processus pour chaque compte connecté qui stocke un clone pour les paiements récurrents.