Configurer un abonnement par prélèvement automatique Bacs
Découvrez comment créer et facturer un abonnement avec le prélèvement automatique Bacs.
Suivez ce guide pour configurer un abonnement avec le prélèvement automatique Bacs comme moyen de paiement et Checkout.
Configurer StripeCôté serveur
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
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.
Pour utiliser Checkout, vous devez d’abord créer un produit et un tarif. Vous devez créer un produit pour chacune de vos marchandises ou chacun de vos niveaux de service. Un produit peut être associé à un ou plusieurs tarifs.
Par exemple, vous pouvez créer un produit logiciel qui dispose de quatre tarifs : 10 € par mois, 100 € par an, 9 GBP par mois et 90 GBP 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 passer par l’API ou 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
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 Checkout avec l’ID d’un tarif existant. Assurez-vous d’avoir défini le mode sur subscription
et d’avoir transmis au moins un tarif récurrent. Vous pouvez ajouter des tarifs ponctuels en plus des tarifs récurrents. Après avoir créé la session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.
Une fois le paiement effectué, votre client est redirigé vers 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 le 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 le paiement
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.
However, Bacs Direct Debit is a delayed notification payment method, which means that funds aren’t immediately available. Because of this, delay order fulfillment until the funds are available. After the payment succeeds, the underlying PaymentIntent status changes from processing
to succeeded
.
Vous pouvez confirmer la réussite du paiement de différentes manières :
Tester l'intégration
There are several test bank account numbers you can use in a sandbox to make sure this integration is ready.
Code guichet | Numéro de compte | Description |
---|---|---|
10-88-00 | 00012345 | Le paiement aboutit et la facture bascule sur paid . |
10-88-00 | 90012345 | Le paiement aboutit au bout de trois minutes et la facture bascule sur paid . |
10-88-00 | 33333335 | Le paiement échoue avec un code d’échec debit_ et l’objet Invoice bascule sur open . L’objet Mandate devient inactive et le PaymentMethod ne peut plus être utilisé. |
10-88-00 | 93333335 | Le paiement échoue au bout de trois minutes avec un code d’échec debit_ et l’objet Invoice bascule sur open . L’objet Mandate devient inactive et le PaymentMethod ne peut plus être utilisé. |
10-88-00 | 22222227 | Le paiement échoue avec un code d’échec insufficient_ et l’objet Invoice bascule sur open . L’objet Mandate reste active et le PaymentMethod peut à nouveau être utilisé. |
10-88-00 | 92222227 | Le paiement échoue au bout de trois minutes avec un code d’échec insufficient_ et l’objet Invoice bascule sur open . L’objet Mandate reste active et le PaymentMethod peut à nouveau être utilisé. |
10-88-00 | 55555559 | Le paiement aboutit au bout de trois minutes et l’état de la facture passe à paid , mais un litige est immédiatement créé. |
10-88-00 | 00033333 | La création du moyen de paiement aboutit, mais le mandat est refusé par la banque du client et passe immédiatement à l’état inactif. |
10-88-00 | 00044444 | La demande de mise en place d’un prélèvement automatique Bacs échoue immédiatement en raison d’un numéro de compte non valide et le client est invité à mettre à jour ses informations avant de soumettre sa demande. Les données de paiement ne sont pas collectées. |
Pour vos tests, vous pouvez utiliser l’un des numéros de compte fournis ci-dessus. Cependant, dans la mesure où le traitement des paiements par prélèvement automatique Bacs prend plusieurs jours, privilégiez les numéros de compte de test qui fonctionnent avec un délai de trois minutes, de manière à mieux simuler le comportement en situation réelle.
Remarque
By default, Stripe automatically sends emails to the customer when payment details are initially collected and each time a debit will be made on their account. These notifications aren’t sent in sandboxes.