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
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
Billing
PrésentationÀ propos des API Billing
Abonnements
    Présentation
    Fonctionnement des abonnements
    Démarrage rapide
    Cas d'usage
    Développer votre intégration
    Fonctionnalités d'abonnement
      Factures d'abonnements
      Planifications d'abonnements
      Tarification des abonnements
      Modèles tarifaires récurrents
      Intégrez une grille tarifaire
      Démarrer des abonnements
      Définir des quantités
      Définir des cycles de facturation
      Antidater des abonnements
      Abonnement à plusieurs articles
      Définir des périodes d'essai
      Appliquer des bons de réduction
      Migrer des abonnements vers Stripe
      Mode de calcul des crédits au prorata
      Paiements d'abonnement
      Moyens de paiement pour les abonnements
        Prélèvement automatique ACH
        Amazon Pay
        Prélèvement automatique Bacs au Royaume-Uni
        Virement bancaire
        Prélèvement automatique BECS en Australie
        Cash App Pay
        PayPal
          Paypal dans Checkout
        Revolut Pay
        Cartes bancaires coréennes
        Kakao Pay
        Naver Pay
        Débit préautorisé au Canada
        Prélèvement automatique SEPA dans l'UE
        iDEAL via un prélèvement SEPA
        Bancontact via un prélèvement SEPA
      Intégrer le traitement des paiements par des tiers
      Méthodes d'encaissement
      Authentification forte du client (SCA)
      Gérer les abonnements
      Modifier des abonnements
      Gérer des mises à jour en attente
    Droits d'accès
    Analyses
Invoicing
Facturation à la consommation
Devis
Gestion des clients
Facturation avec d'autres produits
Recouvrement de revenus
Automatisations
Tester votre intégration
Tax
Présentation
Utiliser Stripe Tax
Gérer la conformité
Rapports
Présentation
Sélectionner un rapport
Configurer des rapports
API de rapport
Rapports sur plusieurs comptes
Comptabilisation des revenus
Données
PrésentationSchéma
Rapports personnalisés
Data Pipeline
Gestion des données
AccueilRevenusSubscriptionsSubscription featuresSubscription payment methods

Configurer un abonnement avec PayPal

Comment créer un abonnement et débiter votre client avec PayPal.

Mise en garde

Pour commencer à accepter les abonnements PayPal sur Stripe, les paiements récurrents PayPal doivent être activés dans le Dashboard.

Suivez ce guide pour configurer un abonnement avec PayPal comme moyen de paiement.

Créer un produit et un tarif
Dashboard

Les produits correspondent aux articles ou services que vous vendez. Les tarifs définissent le montant et la fréquence des paiements facturés pour un produit. Le tarif prend en compte la valeur du produit, la devise que vous acceptez et s’il s’agit d’un paiement ponctuel ou récurrent. Si vous n’avez que quelques produits et tarifs, créez-les et gérez-les dans le Dashboard.

Ce guide prend comme exemple un service de banque d’images qui débite ses clients d’un montant de 15 EUR pour un abonnement mensuel. Pour modéliser ceci :

  1. Rendez-vous à la page Ajouter un produit.
  2. Saisissez un Nom pour le produit.
  3. Saisissez 15 pour le tarif.
  4. Sélectionnez la devise EUR.
  5. Cliquez sur Enregistrer le produit.

Après avoir créé le produit et le tarif, enregistrez l’ID de tarif de manière à pouvoir l’utiliser dans les étapes ultérieures. La page des tarifs affiche l’ID dont le format est similaire à ce qui suit : price_G0FvDp6vZvdwRZ.

Créer ou récupérer un objet Customer avant la configuration
Côté serveur

Pour réutiliser un moyen de paiement PayPal en vue de paiements ultérieurs, associez-le à un objet Customer.

Créez un objet Customer lorsque votre client crée un compte auprès de 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.

Rediriger votre client
Côté client

Lorsqu’un client tente de configurer son compte PayPal pour les prochains paiements, nous vous conseillons d’utiliser Stripe.js pour confirmer le SetupIntent. Stripe.js est notre bibliothèque JavaScript de base pour le développement de tunnels de paiement. Elle gère automatiquement les opérations complexes telles que la redirection décrite ci-dessous, et vous permet d’ajouter facilement d’autres moyens de paiement à votre intégration par la suite.

Intégrez le script Stripe.js à votre page de paiement en l’ajoutant en haut de votre fichier HTML.

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

Créez une instance de Stripe.js avec le code JavaScript suivant sur votre page de paiement.

// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, {} );

Pour confirmer la configuration côté client, transmettez la clé secrète du client de l’objet SetupIntent créé à l’étape 3.

La clé secrète du client est distincte de vos clés API, qui authentifient les requêtes à l’API Stripe. Cette clé doit être utilisée avec prudence, car elle peut servir à finaliser le paiement. Elle ne doit être ni enregistrée, ni intégrée dans des URL, ni dévoilée à d’autres personne que votre client.

Confirmer la configuration PayPal

Afin de vous autoriser à utiliser son compte PayPal pour ses prochains paiements, votre client sera redirigé vers la page du contrat de facturation PayPal, où il devra donner son approbation avant d’être redirigé vers votre site Web. Utilisez stripe.confirmPayPalSetup pour gérer la redirection vers PayPal et finaliser la configuration. Ajoutez une URL return_url à cette fonction pour indiquer à Stripe vers quelle page rediriger l’utilisateur une fois que ce dernier approuve le contrat de facturation sur le site Web de PayPal.

client.js
// Redirects away from the client const {error} = await stripe.confirmPayPalSetup( '{{SETUP_INTENT_CLIENT_SECRET}}', { return_url: 'https://example.com/setup/complete', mandate_data: { customer_acceptance: { type: 'online', online: { infer_from_client: true } } }, } ); if (error) { // Inform the customer that there was an error. }

Vous trouverez l’ID du payeur du moyen de paiement et l’ID du contrat de facturation sur le mandat ainsi généré, sous la propriété payment_method_details. Vous trouverez également l’adresse e-mail et l’ID de payeur de l’acheteur dans la propriété paypal de PaymentMethod.

ChampValeur
payer_emailL’adresse e-mail du payeur sur son compte PayPal.
payer_idL’identifiant unique du compte PayPal du payeur.
billing_agreement_idL’ID de contrat de facturation PayPal (BAID). Il s’agit d’un identifiant généré par PayPal et qui représente le mandat entre l’entreprise et le client.

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.

Créer l'abonnement
Côté serveur

Créez un abonnement avec le tarif et le client :

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=cus_Gk0uVzT2M4xOKD \ -d default_payment_method=pm_1F0c9v2eZvKYlo2CJDeTrB4n \ -d "items[0][price]"=price_F52b2UdntfQsfR \ -d "expand[0]"="latest_invoice.confirmation_secret" \ -d off_session=true

Dans le cadre d’un abonnement, le client est débité automatiquement dans la mesure où son moyen de paiement par défaut est défini. Lorsqu’un paiement aboutit, son état dans le Dashboard Stripe bascule sur Actif. Le tarif que vous avez créé précédemment détermine les facturations à venir.

Gérer l'état de l'abonnement
Côté client

Si le paiement initial aboutit, l’abonnement prend l’état active et aucune action supplémentaire n’est nécessaire. Si le paiement échoue, l’état passe à l’état de l’abonnement que vous avez configuré dans vos paramètres d’encaissement automatique. Avisez votre client que le paiement a échoué et débitez-le avec un autre moyen de paiement.

Mettre un abonnement à jour
Côté serveur

Lorsque vous mettez à jour un abonnement, vous devez préciser off_session=true. Dans le cas contraire, tout nouveau paiement nécessite de rediriger l’utilisateur vers PayPal pour confirmation. Par exemple, si vous souhaitez modifier la quantité d’un article inclus dans l’abonnement, vous pouvez utiliser :

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=cus_Gk0uVzT2M4xOKD \ -d default_payment_method=pm_1F0c9v2eZvKYlo2CJDeTrB4n \ -d "items[0][price]"=price_F52b2UdntfQsfR \ -d "items[0][quantity]"=2 \ -d off_session=true

Tester l'intégration

Testez votre intégration PayPal avec vos clés API de test en accédant à la page de redirection. Vous pouvez tester l’aboutissement du paiement en l’authentifiant sur la page de redirection. Le PaymentIntent passera alors de l’état requires_action à succeeded.

Pour tester un échec d’authentification de l’utilisateur, utilisez vos clés API de test et accédez à la page de redirection. Sur cette page, cliquez sur Échec du paiement test. Votre PaymentIntent bascule alors de l’état requires_action à requires_payment_method.

FacultatifConfigurer le cycle de facturation

FacultatifPériodes d'essai avant abonnement

FacultatifSupprimer un compte PayPal enregistré

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