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.
Apprenez à créer et débiter un abonnement grâce à un prélèvement SEPA.
Remarque
Contrairement à ce qui est indiqué dans ce guide, nous recommandons aux nouveaux utilisateurs d’utiliser le composant Payment Element plutôt que Stripe Elements. Le composant Payment Element propose un chemin d’intégration avec peu de code et des optimisations de conversion intégrées. Pour connaître la procédure à suivre, consultez la documentation consacrée à la création d’un abonnement.
Créer un produit et un tarifDashboard
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 :
- Go to the Products page and click Create product.
- Saisissez un Nom pour le produit. Vous pouvez éventuellement ajouter une Description et télécharger une image du produit.
- Select a Product tax code. Learn more about product tax codes.
- Sélectionnez Récurrent. Saisissez ensuite pour le prix et sélectionnez comme devise.
- Choose whether to Include tax in price. You can either use the default value from your tax settings or set the value manually. In this example, select Auto.
- Pour Période de facturation, sélectionnez Mensuel.
- Click More pricing options. Then select Flat rate as the pricing model for this example. Learn more about flat rate and other pricing models.
- Add an internal Price description and Lookup key to organize, query, and update specific prices in the future.
- Cliquez sur Suivant. Cliquez ensuite sur Ajouter un 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_
.
Créer un clientCôté serveur
Un abonnement doit être associé à un objet Customer afin de pouvoir réutiliser les moyens de paiement et suivre les paiements récurrents. Créez un objet Customer
lorsque votre client crée un compte auprès de votre entreprise.
Créer un abonnementCôté serveur
Créez l’abonnement à l’aide des ID de client et de tarif. Renvoyez côté client le client_
du confirmation_secret.client_secret de la dernière facture ou, pour les abonnements ne collectant pas immédiatement le premier paiement, du pending_setup_intent. De plus, définissez :
- l’attribut payment_behavior sur
default_
pour simplifier la collecte du mandat de prélèvement automatique SEPA.incomplete - la méthode save_default_payment_method sur
on_
pour enregistrer un moyen de paiement comme moyen de paiement par défaut pour l’abonnement lorsque le paiement aboutit. L’enregistrement d’un moyen de paiement par défaut augmente le taux de réussite des paiements futurs.subscription
Collecter les informations du moyen de paiement et la confirmation du mandatCôté client
Vous êtes prêt à collecter les informations de paiement sur le client avec Stripe Elements. Elements est un ensemble de composants d’interface utilisateur prédéfinis pour la collecte des informations de paiement.
Un composant Element contient une balise iframe qui envoie de manière sécurisée les informations de paiement à Stripe par une connexion HTTPS. Pour que votre intégration fonctionne, l’adresse de votre page de règlement doit aussi commencer par https:// au lieu de http://.
Vous pouvez tester votre intégration sans utiliser le protocole HTTPS. Activez-le au moment d’accepter des paiements en mode production.
Configurer Stripe Elements
Soumettre les informations du moyen de paiement à StripeCôté client
Utilisez l’attribut confirmSepaDebitPayment ou, pour les abonnements n’encaissant pas immédiatement le premier paiement, l’attribut confirmSepaDebitSetup pour confirmer l’abonnement et créer un objet PaymentMethod pour prélèvement automatique SEPA. Ajoutez le nom et l’adresse e-mail du client dans les propriétés payment_
.
Configurer le moyen de paiement par défautCôté serveur
Vous devez ajouter un moyen de paiement enregistré au client afin que les paiements à venir puissent aboutir. Pour ce faire, vous devez configurer le moyen de paiement que vous avez recueilli au niveau racine de l’objet Customer et définir ce moyen de paiement comme moyen de paiement par défaut pour les factures :
Gérer l'état de l'abonnementCôté client
Si le paiement initial aboutit, l’état de l’abonnement est actif
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 de recouvrement automatique. Avisez votre client que le paiement a échoué et débiter-le avec un autre moyen de paiement.
Remarque
Les paiements par prélèvement automatique SEPA ne sont jamais automatiquement relancés, même si vous avez configuré une planification de relance pour les autres moyens de paiement.
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.
Testez les numéros IBAN
FacultatifDéfinir la période de facturation
Lorsque vous créez un abonnement, le système définit automatiquement le cycle de facturation par défaut. Par exemple, si un client s’abonne à un plan mensuel le 7 septembre, il est ensuite facturé le 7 de chaque mois. Certaines entreprises préfèrent définir le cycle de facturation manuellement afin de pouvoir facturer leurs clients conjointement à chaque cycle. L’argument billing cycle anchor vous permet d’effectuer cette opération.
La définition manuelle du cycle de facturation facture automatiquement au client un montant au prorata pour la période écoulée entre la création de l’abonnement et la date de début du cycle de facturation. Si vous ne souhaitez pas que les clients soient facturés pour cette période, vous pouvez définir l’argument proration_behavior sur none
. Vous pouvez également combiner la date de début du cycle de facturation avec des périodes d’essai pour permettre aux clients d’accéder gratuitement à votre produit et ensuite leur facturer un montant au prorata.
FacultatifPériodes d'essai avant abonnement
Les essais gratuits permettent aux clients d’accéder à votre produit gratuitement pendant une certaine période. L’utilisation d’essais gratuits est différente de la définition de proration_behavior sur none
, car vous pouvez personnaliser la durée des périodes gratuites. Transmettez un horodatage dans fin de l’essai pour définir la période d’essai.
Vous pouvez également combiner une date de début du cycle de facturation avec un essai gratuit. Supposons par exemple que nous sommes le 15 septembre et que vous voulez offrir à votre client un essai gratuit de sept jours, puis lancer le cycle de facturation normal le 1er octobre. Vous pouvez définir la fin de l’essai gratuit le 22 septembre et l’ancre du cycle de facturation le 1er octobre. Ainsi, le client bénéficie d’un essai gratuit pendant sept jours et paye un montant au prorata pour la durée comprise entre la fin de l’essai et le 1er octobre. Le 1er octobre, vous facturez à ce client le montant normal de l’abonnement pour son premier cycle de facturation complet.
FacultatifCréer des paiements par prélèvement SEPA avec d'autres moyens de paiement
Vous pouvez créer des paiements par prélèvement automatique SEPA avec d’autres moyens de paiement comme Bancontact, iDEAL ou Sofort. L’utilisation de ces moyens de paiement nécessite quelques étapes supplémentaires. Pour iDEAL :
- Utilisez un composant Element idealBank pour collecter les informations de paiement.
- Confirmez l’abonnement à l’aide du paramètre confirmIdealPayment ou, pour les abonnements n’encaissant pas immédiatement le premier paiement, du paramètre confirmIdealSetup.
- Affichez la liste des moyens de paiement du client, recherchez le moyen de paiement par prélèvement automatique SEPA, puis définissez-le comme moyen de paiement par défaut du client.
Pour Bancontact et Sofort, remplacez :
confirmIdealPayment
par confirmBancontactPayment ou confirmSofortPaymentconfirmIdealSetup
par confirmBancontactSetup ou confirmSofortSetup