Configurer un abonnement par prélèvement automatique SEPA
Découvrez comment créer et facturer un abonnement avec le prélèvement automatique SEPA.
Une session Checkout affiche les détails de l’intention d’achat de votre client. Vous créez une session lorsque ce dernier souhaite démarrer un abonnement. Une fois le client redirigé vers votre session Checkout, Stripe lui présente un formulaire de paiement qui lui permet de finaliser son achat, puis le redirige vers votre site.
Configurer StripeCôté serveur
Installez le client Stripe de votre choix :
Installez l’interface de ligne de commande de Stripe (facultatif). Elle vous permet de tester vos webhooks et de créer vos produits et tarifs.
Pour davantage d’options d’installation, consultez la page consacrée à l’interface de ligne de commande Stripe.
Créer le modèle tarifaireDashboardCLI Stripe
Créez vos produits et leurs tarifs dans le Dashboard ou via l’interface de ligne de commande Stripe.
Cet exemple utilise un service à tarif fixe avec deux options de niveau de service différentes : Basic et Premium. Pour chaque option de niveau de service, vous devez créer un produit et un tarif récurrent. (Si vous souhaitez ajouter un paiement ponctuel, par exemple des frais d’installation, créez un troisième produit avec un tarif unique. Par souci de simplicité, cet exemple n’inclut pas de paiement ponctuels.)
Dans cet exemple, chaque produit est facturé mensuellement. Le tarif du produit de base est de 5 EUR. Celui du produit premium est de 15 EUR.
Pour les autres modèles tarifaires, consultez ces exemples de facturation.
Créer une session CheckoutCôté clientCôté serveur
Ajoutez à 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>
Créez une session à l’aide de l’ID d’un tarif existant. Assurez-vous que le mode est défini sur subscription
et veillez à transmettre au moins un tarif récurrent. Vous pouvez également ajouter des tarifs ponctuels en plus des tarifs récurrents. Une fois la session Checkout créée, redirigez votre client vers l’URL renvoyée dans la réponse.
Une fois le paiement effectué, votre client est redirigé vers l’URL success_
. Il s’agit d’une page de votre site Web indiquant au client que le paiement a réussi. Mettez l’ID de session à disposition sur votre page de confirmation de paiement en incluant la variable de modèle {CHECKOUT_
dans l’URL success_
, comme illustré ci-dessus.
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.
Par défaut, les sessions Checkout expirent 24 heures après leur création.
Dans votre Dashboard, activez les moyens de paiement que vous souhaitez accepter de vos clients. Checkout prend en charge plusieurs moyens de paiement.
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 abouti
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_
. En général, il s’agit d’une page de votre site Web qui l’informe que son paiement a abouti.
Toutefois, SEPA Direct Debit est un moyen de paiement à notification différée, ce qui signifie que les fonds ne sont pas immédiatement disponibles. Lors d’un paiement SEPA Direct Debit, la mise à disposition des fonds prend généralement three jours ouvrables. Nous vous recommandons donc de ne traiter la commande que lorsque les fonds sont disponibles sur votre compte. Une fois le paiement effectué, l’état du PaymentIntent sous-jacent passe de processing
à succeeded
.
Vous pouvez confirmer la réussite du paiement de différentes manières :
Tester l'intégration
Vous pouvez tester votre intégration en utilisant les IBAN ci-dessous. Les détails du moyen de paiement sont collectés pour chaque IBAN, mais présentent un comportement différent lorsqu’ils sont débités.