Configurer un abonnement avec iDEAL et par prélèvement automatique SEPA
Découvrez comment créer et facturer un abonnement avec iDEAL et le prélèvement automatique SEPA.
iDEAL est un moyen de paiement à usage unique qui nécessite l’authentification de chaque paiement par le client. Une fois le paiement authentifié par votre client, Stripe enregistre l’IBAN de votre client dans un paiement par prélèvement SEPA. Vous pouvez alors utiliser ce paiement par prélèvement SEPA pour accepter des paiements ultérieurs.
Grâce à cette intégration, Stripe prélève le premier paiement de l’abonnement via iDEAL afin de collecter les coordonnées bancaires de votre client. Si vous proposez un essai gratuit, Stripe prélève 1 EUR à votre client via iDEAL afin de collecter ses coordonnées bancaires, puis le rembourse immédiatement.
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. Après que le client est redirigé vers votre session Checkout, Stripe lui présente un formulaire de paiement qui lui permet d’effectuer son achat. Une fois son achat réalisé, il est redirigé 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.
À partir de la ligne de commande, utilisez un script d’installation ou téléchargez et extrayez un fichier d’archive versionné pour votre système d’exploitation afin d’installer la CLI.
Afin d’exécuter l’interface de ligne de commande Stripe, vous devez également l’associer à votre compte Stripe. Exécutez stripe login
et suivez les invites. Pour plus d’informations, consultez la page de documentation relative à la CLI 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.
Lorsque vous créez une session, vous pouvez spécifier des payment_
ou laisser Stripe choisir automatiquement des moyens de paiement en fonction des paramètres de votre Dashboard. Si vous ne spécifiez pas de payment_
, vous devez activer les paiements iDEAL récurrents dans le Dashboard. Cela active les prélèvements automatiques SEPA uniquement pour les paiements iDEAL récurrents, et non pas comme moyen de paiement à part entière.
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.
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_
. 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
À l’aide de vos clés API de test, sélectionnez une banque dans la liste. Après confirmation, nous vous redirigeons vers une page de test où vous pourrez valider ou faire échouer le paiement.
- Cliquez sur Autorisation du paiement test pour tester le cas où la configuration réussit.
- Cliquez sur Échec du paiement test pour tester le cas où le client ne parvient pas à s’authentifier.