Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
    Présentation
    Options d'intégration des moyens de paiement
    Gérer les moyens de paiement par défaut dans le Dashboard
    Types de moyens de paiement
    Cartes bancaires
    Prélèvements bancaires
      Prélèvement automatique ACH
      Prélèvement automatique Bacs
        Accepter un paiement
        Exporter des données Bacs depuis Stripe
        Importer des données Bacs dans Stripe
        Enregistrer les informations bancaires
      Débit préautorisé au Canada
      Prélèvement automatique BECS en Australie
      Prélèvement automatique BECS en Nouvelle-Zélande
      Prélèvement automatique SEPA
    Virements avec redirection bancaire
    Virements bancaires
    Virements (Sources)
    Achetez maintenant, payez plus tard
    Paiements en temps réel
    Coupons
    Portefeuilles
    Activer des moyens de paiement locaux par pays
    Moyens de paiement personnalisés
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Web Elements
Elements intégrés à l'application
Scénarios de paiement
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Autres produits Stripe
Financial Connections
Cryptomonnaies
Climate
AccueilPaiementsAdd payment methodsBank debitsBacs Direct Debit

Enregistrer les coordonnées bancaires de prélèvement automatique Bacs

Découvrez comment utiliser Checkout pour enregistrer les informations du moyen de paiement de vos clients pour leurs paiements futurs par prélèvement automatique Bacs.

Copier la page

Utilisez Stripe Checkout pour collecter les informations du moyen de paiement par prélèvement automatique Bacs en amont, en vue d’un paiement dont la date et le montant seront déterminés ultérieurement. Ceci est utile aux fins suivantes :

  • Enregistrement des moyens de paiement dans un portefeuille pour faciliter les achats ultérieurs.
  • Encaissement de suppléments de facturation après la fourniture d’un service.
  • Démarrer une période d’essai gratuit dans le cadre d’un abonnement.

Configurer Stripe
Côté serveur

Pour commencer, il vous faut un compte Stripe. Inscrivez-vous.

Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Créer un client
Côté serveur

Pour que la réutilisation d’un moyen de paiement par prélèvement automatique Bacs soit possible pour de futurs paiements, celui-ci doit être rattaché à un objet Customer. Créez un objet Customer lorsqu’un client ouvre un compte sur votre site et associez l’ID de l’objet Customer à votre propre représentation interne du client afin de pouvoir utiliser ultérieurement les données du moyen de paiement stockées. Si vous possédez déjà un objet Customer, ignorez cette étape.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Créer une session Checkout
Côté client
Côté serveur

Stripe Checkout propose une page de paiement hébergée qui satisfait aux exigences applicables aux prélèvements automatiques Bacs.

Si vous souhaitez créer votre propre formulaire de prélèvement automatique Bacs, veuillez contacter notre équipe commerciale.

Pour que vous puissiez accepter les paiements par prélèvement automatique, votre client doit au préalable vous fournir ses coordonnées bancaires et vous donner l’autorisation de débiter son compte (au moyen de ce que l’on appelle un mandat) via Stripe Checkout.

Ajoutez sur votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une session Checkout.

index.html
<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 en mode setup pour recueillir les informations requises. Après avoir créé la session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.

Command Line
curl
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"="bacs_debit" \ -d mode=setup \ -d customer=
{{CUSTOMER_ID}}
\ -d success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d cancel_url="https://example.com/cancel"

Quand votre client fournit les informations de son moyen de paiement, il est redirigé vers l’URL success_url, une page de votre site Web qui l’informe que son moyen de paiement a bien été enregistré. Mettez l’ID de session à disposition sur votre page de confirmation de paiement en incluant la variable de modèle {CHECKOUT_SESSION_ID} dans l’URL success_url, comme illustré ci-dessus.

Si lors d’une session Checkout, votre client clique sur votre logo sans fournir les données de son moyen de paiement, Checkout le redirige vers votre site Web sur la page cancel_url. Cette page est généralement celle que le client a consultée sur votre site avant d’être redirigé vers Stripe Checkout.

Mise en garde

Ne vous fiez pas uniquement à la redirection vers le success_url pour détecter l’initiation du paiement, sachant que :

  • Des utilisateurs malveillants pourraient accéder directement au success_url sans payer et obtenir l’accès à vos biens ou à vos services.
  • Il peut arriver que le client n’aboutisse pas au success_url à l’issue de son paiement. Il peut par exemple lui arriver de fermer l’onglet de son navigateur avant que la redirection n’intervienne.

Remarque

Les règles applicables aux prélèvements automatiques Bacs prévoient l’envoi obligatoire au client d’une notification par e-mail à la collecte de ses informations de paiement. Par défaut, ces e-mails sont envoyés automatiquement par Stripe, mais vous pouvez également choisir d’envoyer vos propres notifications Bacs à vos clients.

Récupérer le moyen de paiement
Côté serveur

Une fois que le client a soumis ses informations de paiement, récupérez l’objet PaymentMethod. Un PaymentMethod stocke les informations bank account du client pour ses paiements ultérieurs. Vous pouvez récupérer cet objet de manière synchrone en utilisant la success_url ou de manière asynchrone au moyen de webhooks.

La décision de récupérer l’objet PaymentMethod de manière synchrone ou asynchrone dépend de votre tolérance aux abandons de paiement. En effet, il peut arriver que le client n’aboutisse pas au success_url à l’issue de son paiement (il peut par exemple lui arriver de fermer l’onglet de son navigateur avant que la redirection n’intervienne). L’utilisation de webhooks vous permet d’éviter que votre intégration ne subisse ce type d’abandon.

Gérez des webhooks checkout.session.completed, qui contiennent un objet Session. Pour en savoir plus, consultez la page sur la configuration de webhooks. Voici un exemple de réponse checkout.session.completed :

{ "id": "evt_1Ep24XHssDVaQm2PpwS19Yt0", "object": "event", "api_version": "2019-03-14", "created": 1561420781, "data": { "object": { "id": "cs_test_MlZAaTXUMHjWZ7DcXjusJnDU4MxPalbtL5eYrmS2GKxqscDtpJq8QM0k", "object": "checkout.session", "billing_address_collection": null, "cancel_url": "https://example.com/cancel", "client_reference_id": null, "customer": null, "customer_email": null, "display_items": [], "mode": "setup", "setup_intent": "seti_1EzVO3HssDVaQm2PJjXHmLlM", "submit_type": null, "subscription": null, "success_url": "https://example.com/success" } }, "livemode": false, "pending_webhooks": 1, "request": { "id": null, "idempotency_key": null }, "type": "checkout.session.completed" }

Notez la valeur de la clé setup_intent, qui constitue l’ID du SetupIntent créé avec la session Checkout. Un SetupIntent est un objet utilisé pour configurer les informations bank account du client pour les paiements futurs. Récupérez l’objet SetupIntent avec l’ID.

Command Line
cURL
curl https://api.stripe.com/v1/setup_intents/seti_1EzVO3HssDVaQm2PJjXHmLlM \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Gérer les événements post-configuration
Côté serveur

Une fois la session Checkout terminée, les informations de paiement sont soumises à la banque sous forme de mandat.

Un mandat peut changer à tout moment après avoir été collecté. Par exemple, le client peut demander à sa banque de le modifier ou peut changer de banque. Lorsqu’un mandat est modifié, Stripe envoie les événements suivants :

Nom de l’événementDescriptionPeut accepter les paiements ?
mandate.updatedDéclenché lorsque le mandat est rejeté, annulé ou réactivé par le réseau Bacs. Consultez le mandate.status pour déterminer si le mandat peut continuer à être utilisé.Oui, si le nouvel état est active
payment_method.automatically_updatedDéclenché lorsque les coordonnées bancaires du client changent.Oui

Vous pouvez visualiser ces événements dans votre Dashboard, mais il est néanmoins souhaitable de configurer un webhook pour les gérer de manière programmatique.

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 guichetNuméro de compteDescription
10880000012345Le paiement aboutit et l’état du PaymentIntent passe de processing à succeeded.
10880090012345Le paiement aboutit au bout de trois minutes et l’état du PaymentIntent passe de processing à succeeded.
10880033333335Le paiement est accepté, mais échoue immédiatement avec un code d’échec debit_not_authorized et le PaymentIntent bascule de processing à requires_payment_method. L’objet Mandate devient inactive et le PaymentMethod ne peut plus être utilisé.
10880093333335Le paiement échoue au bout de trois minutes avec un code d’échec debit_not_authorized et le PaymentIntent bascule de processing à requires_payment_method. L’objet Mandate devient inactive et le PaymentMethod ne peut plus être utilisé.
10880022222227Le paiement échoue avec un code d’échec insufficient_funds et le PaymentIntent bascule de processing à requires_payment_method. L’objet Mandate reste active et le PaymentMethod peut à nouveau être utilisé.
10880092222227Le paiement échoue au bout de trois minutes avec un code d’échec insufficient_funds et le PaymentIntent bascule de processing à requires_payment_method. L’objet Mandate reste active et le PaymentMethod peut à nouveau être utilisé.
10880055555559Le paiement aboutit au bout de trois minutes et l’état du PaymentIntent passe de processing à succeeded, mais un litige est immédiatement créé.
10880000033333La création du moyen de paiement aboutit, mais le mandat est refusé par la banque du client et passe immédiatement à l’état inactif.
10880000044444La 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.
10880034343434The payment fails with a charge_exceeds_source_limit failure code due to the payment amount causing the account to exceed its weekly payment volume limit.
10880012121212The payment fails with a charge_exceeds_weekly_limit failure code due to the payment amount exceeding the account’s transaction volume limit.

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.

Utiliser le moyen de paiement pour les paiements ultérieurs
Côté serveur

Une fois le PaymentMethod configuré, vous pouvez accepter les paiements ultérieurs par prélèvement automatique Bacs en créant et confirmant un PaymentIntent.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"="bacs_debit" \ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d customer=
{{CUSTOMER_ID}}
\ -d confirm=true \ -d amount=100 \ -d currency=gbp
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc