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
Revenue
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Revenue
Démarrer
Paiements
Revenue
Plateformes et places de marché
Gestion de fonds
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
    Présentation
    Options d'intégration des moyens de paiement
    Gérer les moyens de paiement par défaut dans le Dashboard
    Types de moyens de paiement
    Cartes bancaires
    Payer avec le solde Stripe
    Prélèvements bancaires
    Virements avec redirection bancaire
    Virements bancaires
    Virements (Sources)
    Achetez maintenant, payez plus tard
    Paiements en temps réel
    Coupons
    Portefeuilles
      Alipay
      Amazon Pay
      Apple Pay
      Cash App Pay
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
        Bouton PayPal
        Activer les paiements PayPal
        Accepter un paiement
        Configurer des paiements futurs
        Choisir une préférence de règlement
        Paiements contestés
        Rapprochement des virements
        Langues prises en charge
        Importer des moyens de paiement PayPal enregistrés
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    Activer des moyens de paiement locaux par pays
    Moyens de paiement personnalisés
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Web Elements
Elements intégrés à l'application
Scénarios de paiement
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Autres produits Stripe
Financial Connections
Cryptomonnaies
Climate
AccueilPaiementsAdd payment methodsWalletsPayPal

Configurer des paiements PayPal futurs

Découvrez comment enregistrer des informations PayPal pour débiter vos clients ultérieurement.

Copier la page

Configurez des paiements PayPal futurs afin d’enregistrer les informations de paiement des clients pour les abonnements, les paiements différés et simplifier les futurs achats. Découvrez comment activer et utiliser les paiements récurrents avec PayPal par le biais de Stripe.

Activer les paiements récurrents

Stripe active automatiquement les paiements récurrents pour la plupart des utilisateurs lorsqu’ils activent les paiements PayPal dans le Dashboard Stripe. Cependant, en raison des politiques de PayPal et des restrictions régionales, certains utilisateurs peuvent avoir besoin d’activer manuellement les paiements récurrents. C’est le cas notamment pour les utilisateurs qui ont configuré leur compte avant l’introduction de l’activation automatique. Pour activer manuellement les paiements récurrents :

  1. Accédez à vos paramètres des moyens de paiement.

  2. Cliquez sur PayPal > Activer dans la section Paiements récurrents.

Une fois que vous activez les paiements récurrents, l’accès apparaît comme en attente dans le Dashboard. L’accès est généralement disponible sous cinq jours ouvrables.

Une fois l’accès accordé, les paiements récurrents sont disponibles dans vos paramètres PayPal. Dans les environnements de test, les paiements récurrents sont activés par défaut.

Vous pouvez utiliser l’API Setup Intents pour collecter à l’avance les données d’un moyen de paiement PayPal, en vue d’un paiement dont la date et le montant seront déterminés ultérieurement. Utilisez-la pour :

Créer ou récupérer un Customer
Côté serveur

Pour réutiliser un moyen de paiement PayPal en vue de paiements futurs, vous devez l’associer à un objet Customer.

Créez un objet Customer lorsque votre client crée un compte auprès votre entreprise. En associant l’ID de l’objet Customer à votre propre représentation interne de ce client, vous pourrez par la suite récupérer et utiliser les informations du moyen de paiement enregistré. Si votre client n’a pas créé de compte, vous pouvez tout de même lui créer un objet Customer, puis l’associer à votre représentation interne de ce compte du client par la suite.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Créer un SetupIntent
Côté serveur

Un SetupIntent est un objet qui représente votre intention de configurer le moyen de paiement de votre client en vue de paiements futurs et qui suit les étapes de cette configuration.

Créez un SetupIntent sur votre serveur en définissant l’attribut payment_method_types sur paypal et en indiquant l’id de l’objet Customer.

Command Line
cURL
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "payment_method_types[]"=paypal \ -d "payment_method_data[type]"=paypal

Le SetupIntent contient une clé client_secret, une clé unique que vous devez transmettre à Stripe côté client afin de rediriger votre client vers PayPal pour que celui-ci autorise le mandat.

Collecter les informations du moyen de paiement
Côté client

Swift
// PayPal does not require additional parameters so we only need to pass the initialized // STPPaymentMethodPayPalParams instance to STPPaymentMethodParams let payPal = STPPaymentMethodPayPalParams() let paymentMethodParams = STPPaymentMethodParams(payPal: payPal, billingDetails: nil, metadata: nil)

Soumettre le paiement à Stripe
Côté client

Récupérez la clé secrète du client auprès du SetupIntent que vous avez créé, puis appelez le STPPaymentHandler confirmSetupIntent. Une vue Web s’affiche pour permettre au client de finaliser le paiement dans PayPal. Une fois l’opération terminée, le bloc de finalisation est appelé avec le résultat du paiement.

Swift
let setupIntentParams = STPSetupIntentConfirmParams(clientSecret: setupIntentClientSecret) setupIntentParams.paymentMethodParams = paymentMethodParams setupIntentParams.returnURL = "payments-example://stripe-redirect" STPPaymentHandler.shared().confirmSetupIntent(withParams: setupIntentParams, authenticationContext: self) { (handlerStatus, setupIntent, error) in switch handlerStatus { case .succeeded: // Setup succeeded case .canceled: // Setup was canceled case .failed: // Setup failed @unknown default: fatalError() } }

Surveiller les webhooks
Côté serveur

Pour confirmer la bonne autorisation d’un contrat de facturation par votre client, il est préférable d’utiliser une méthode telle que les webhooks plutôt que d’attendre que votre client se rende sur la page d’état du paiement. Lorsqu’un client autorise le contrat de facturation, le SetupIntent émet un événement webhook setup_intent.succeeded. Si un client n’autorise pas correctement le contrat de facturation, le SetupIntent émet l’événement webhook setup_intent.setup_failed et revient à l’état requires_payment_method. Si un client révoque le contrat de facturation depuis son compte PayPal, cela génère un événement mandate.updated.

Débiter des paiements hors session avec un moyen de paiement PayPal enregistré
Côté serveur

Au moment de débiter votre client hors session, utilisez les ID des objets Customer et PaymentMethod pour créer un PaymentIntent.

Pour trouver un instrument paypal à débiter, affichez la liste des objets PaymentMethod associés à votre client.

Command Line
cURL
curl -G https://api.stripe.com/v1/payment_methods \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ -d type=paypal

Après avoir obtenu les ID de Customer et de PaymentMethod, créez un PaymentIntent indiquant le montant et la devise du paiement. Définissez quelques autres paramètres afin d’effectuer le paiement hors session :

  • Assignez la valeur true à off_session afin d’indiquer que le client n’est pas dans votre tunnel de paiement lors de cette tentative de paiement. Si une authentification est requise, le PaymentIntent générera une erreur.
  • Assignez la valeur true à la propriété confirm du PaymentIntent, ce qui aura pour effet de générer immédiatement une confirmation lors de la création du PaymentIntent.
  • Renseignez l’ID du PaymentMethod dans payment_method et l’ID du client dans customer.
Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=eur \ -d customer={{CUSTOMER_ID}} \ -d "payment_method_types[]"=paypal \ -d payment_method={{PAYMENT_METHOD_ID}} \ -d off_session=true \ -d confirm=true

Annulation d'un moyen de paiement initiée par l'utilisateur
Côté serveur

Les clients peuvent annuler leur abonnement (contrat de facturation) via leur compte PayPal. Dans ce cas, Stripe émet un webhook mandate.updated. Tous les Payment Intents ultérieurs utilisant ce moyen de paiement échoueront tant qu’il n’existera pas de moyen de paiement associé à un mandat actif. Si un paiement échoue, l’état de l’objet Subscription passe à l’état configuré dans vos paramètres d’encaissement automatique. Informez votre client de l’échec du paiement et débitez-le à l’aide d’un autre moyen de paiement.

FacultatifConfigurer des paiements PayPal futurs et les capturer
Côté serveur

FacultatifGérer manuellement l'intégration des bibliothèques de risques pour les paiements en session
Côté serveur

FacultatifSupprimer un compte PayPal enregistré
Côté serveur

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