# 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](https://docs.stripe.com/connect/direct-charges.md). ## 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](https://docs.stripe.com/api/customers.md) pour créer un objet `Customer` représentant votre client. ```curl curl https://api.stripe.com/v1/customers \ -u "<>:" \ -d "name=Jenny Rosen" ``` ### Créer un SetupIntent sur votre plateforme Lorsque vous collectez les détails du moyen de paiement du client, utilisez l’[API Setup Intents](https://docs.stripe.com/api/setup_intents.md) pour créer un *Setupintent* (The Setup Intents API lets you build dynamic flows for collecting payment method details for future payments. It tracks the lifecycle of a payment setup flow and can trigger additional authentication steps if required by law or by the payment method) sur votre plateforme et l’associer au client. ```curl curl https://api.stripe.com/v1/setup_intents \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" ``` 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](https://docs.stripe.com/strong-customer-authentication.md#sca-enforcement). Pour vous assurer que votre configuration répond aux exigences du pays du compte connecté, il vous faudra peut-être utiliser [on_behalf_of](https://docs.stripe.com/api/setup_intents/create.md#create_setup_intent-on_behalf_of) pour préciser un compte connecté dans ce pays. > 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](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-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](https://docs.stripe.com/api/setup_intents/object.md#setup_intent_object-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](https://docs.stripe.com/payments/save-and-reuse.md?platform=web&ui=elements#collect-payment-details). 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* (3D Secure (3DS) provides an additional layer of authentication for credit card transactions that protects businesses from liability for fraudulent card payments). Une confirmation réussie crée un *PaymentMethod* (PaymentMethods represent your customer's payment instruments, used with the Payment Intents or Setup Intents APIs) 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. > 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_bank_account`. ```curl curl https://api.stripe.com/v1/payment_methods \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "customer={{PLATFORMCUSTOMER_ID}}" \ -d "payment_method={{PAYMENTMETHOD_ID}}" ``` 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](https://docs.stripe.com/api/payment_intents.md) pour créer et confirmer un *PaymentIntent* (The Payment Intents API tracks the lifecycle of a customer checkout flow and triggers additional authentication steps when required by regulatory mandates, custom Radar fraud rules, or redirect-based payment methods) sur un compte connecté à l’aide du PaymentMethod dupliqué : ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "payment_method={{PAYMENTMETHOD_ID}}" \ -d currency=USD \ -d amount=1099 \ -d off_session=true \ -d confirm=true ``` 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* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) en utilisant le PaymentMethod cloné et le client auquel il est attaché. > 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.