Configurer un abonnement avec PayPal
Utilisez Stripe Checkout avec Stripe Billing pour configurer des paiements récurrents.
Use this guide to set up a subscription using PayPal and Checkout.
A Checkout Session represents the details of a customer’s intent to purchase. Create a Session when a customer wants to start a subscription. After redirecting a customer to a Checkout Session, Stripe presents a payment form where they can complete their purchase. After they complete a purchase, Stripe redirects them back to your site.
Mise en garde
Pour commencer à accepter les abonnements PayPal sur Stripe, vous devez activer les paiements récurrents PayPal dans le Dashboard.
Configurer StripeCôté serveur![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Pour commencer, vous devez créer un compte Stripe. Inscrivez-vous maintenant.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Créer des produits et tarifs récurrents![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Mise en garde
L’API Prices unifie la modélisation des abonnements et des achats ponctuels sur Stripe. Les intégrations qui n’utilisent pas cette API restent prises en charge, mais certaines fonctionnalités de Checkout ne sont compatibles qu’avec Prices. Pour passer à l’API Prices, consultez le guide de migration.
To use Checkout, you first need to create a Product and a Price. Different physical goods or levels of service must be represented by products. Each product’s pricing is represented by one or more prices.
Par exemple, vous pouvez créer un produit logiciel qui dispose de quatre tarifs : 10 USD par mois, 100 USD par an, 9 EUR par mois et 90 EUR par an. Vous pouvez ainsi modifier et ajouter des tarifs sans modifier les informations de vos produits sous-jacents. Pour créer des produits et des tarifs, vous pouvez soit passer par l’API, soit utiliser le Dashboard Stripe.
Si votre tarif est déterminé au moment du paiement (par exemple, lorsque le client fixe le montant d’un don) ou si vous ne souhaitez pas créer de tarif prédéfini, vous pouvez créer des tarifs en série lors de la création d’une session Checkout.
Créer une session CheckoutCôté clientCôté serveur![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Ajoutez sur votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une session Checkout.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Create a Session with the ID of an existing Price. Make sure that mode is set to subscription
and you pass at least one recurring price. You can add one-time prices in addition to recurring prices. After creating the Checkout Session, redirect your customer to the URL returned in the response.
When your customer successfully completes their payment, they’re redirected to the success_
, a page on your website that informs the customer that their payment was successful. Make the Session ID available on your success page by including the {CHECKOUT_
template variable in the success_
as in the above example.
Si lors d’une session Checkout, votre client clique sur votre logo sans finaliser un paiement, Checkout le redirige vers l’URL cancel_
de votre site Web. Il s’agit habituellement de la page de votre site Web que voit votre client avant d’être redirigé vers Checkout.
Les sessions Checkout expirent 24 heures après leur création.
Mise en garde
Ne vous fiez pas uniquement à la redirection vers le success_
pour détecter l’initiation du paiement, sachant que :
- Des utilisateurs malveillants pourraient accéder directement au
success_
sans payer et obtenir l’accès à vos biens ou à vos services.url - Il peut arriver que le client n’aboutisse pas au
success_
à l’issue de son paiement. Il peut par exemple lui arriver de fermer l’onglet de son navigateur avant que la redirection n’intervienne.url
Confirmer que le paiement a réussi![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Note
Lorsqu’un client s’abonne à Stripe via PayPal, il reçoit deux reçus distincts : le premier de la part de Stripe, et le second de PayPal.
Une fois que votre client a mené à bien son paiement, Stripe le redirige vers l’URL que vous avez spécifiée dans le paramètre success_
. Il s’agit en général d’une page de votre site Web qui l’informe que son paiement a abouti.
Utilisez le Dashboard, un webhook personnalisé ou un plugin tiers pour recevoir des événements après le paiement comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison.
Vous pouvez utiliser des plugins comme Zapier pour automatiser la mise à jour de vos systèmes d’exécution des achats avec les informations provenant des paiements Stripe.
Voici quelques exemples d’automatisation prise en charge par les plugins :
- Mise à jour des feuilles de calcul utilisées pour le suivi de commandes suite à des paiements ayant abouti
- Mise à jour des systèmes de gestion d’inventaire suite à des paiements ayant abouti
- Déclenchement de notifications aux équipes internes du service client en utilisant des applications de messagerie ou de chat
Tester l'intégration![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
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_
à 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_
à requires_
.