Paiements par prélèvement automatique Bacs
Comment accepter les paiements par prélèvement automatique Bacs.
Les utilisateurs de Stripe au Royaume-Uni ont la possibilité d’utiliser le Payment Element et un PaymentIntent pour accepter les paiements par prélèvement automatique Bacs de leurs clients titulaires d’un compte bancaire britannique.
Démarrage
Vous devez intégrer le Payment Element pour pouvoir accepter des prélèvements automatiques Bacs via le Payment Element. Suivez notre guide QuickStart pour être en mesure d’accepter des paiements à l’aide du Payment Element.
Remarque
Les règles relatives aux prélèvements automatiques Bacs prévoient l’acceptation d’un mandat de la part du client afin que Stripe puisse débiter son compte. Le Payment Element collecte ce mandat lorsque vous acceptez les données de paiement du client. Aucune action n’est requise de votre part pour vous conformer à cette exigence.
Configurer l'Element Payment pour accepter des prélèvements automatiques Bacs
Remarque
Le prélèvement automatique Bacs est uniquement disponible pour les paiements en GBP, ce qui signifie que les autres devises de votre PaymentIntent ne sont pas prises en charge.
Il existe deux manières d’ajouter le prélèvement automatique Bacs aux moyens de paiement de votre intégration de le Payment Element.
Gérer les événements post-paiement
Les prélèvements automatiques Bacs sont asynchrones, ce qui signifie que les fonds ne sont pas immédiatement disponibles.
Un PaymentIntent effectué par prélèvement automatique Bacs peut demeurer en souffrance jusqu’à cinq jours ouvrables à compter de sa création s’il est associé à un mandat nouvellement créé, ou jusqu’à trois jours ouvrables dans les autres cas. Une fois le paiement abouti, l’état du PaymentIntent bascule sur succeeded
.
Délais des prélèvements automatiques Bacs
Il faut 3 jours ouvrés pour confirmer l’aboutissement ou l’échec d’un paiement par prélèvement automatique Bacs lorsque le mandat existe déjà, et 6 jours ouvrés lorsqu’un nouveau mandat doit être obtenu. Les paiements effectués après 20 h 00 UTC sont soumis le jour ouvré suivant.
Dans certains cas, la banque peut nous informer d’un échec de paiement après que le paiement a été marqué comme abouti sur votre compte Stripe. Le cas échéant, l’échec de paiement est identifié comme un litige et reçoit le code de motif approprié.
Le tableau suivant présente la chronologie d’un prélèvement automatique Bacs en jours ouvrés à partir de l’instant (T) où un paiement est effectué lorsqu’un nouveau mandat doit être collecté :
T + 0 | Soumission du mandat |
T + 3 | Le mandat est actif et le paiement a été effectué |
T + 5 | Les fonds quittent le compte en banque du client |
T + 6 | Les fonds sont disponibles sur Stripe |
Configuration de webhooks
Stripe envoie plusieurs événements pendant le processus de paiement et après sa finalisation. Utilisez l’outil de webhook du Dashboard ou suivez le guide consacré aux webhooks pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un flux de livraison.
Pour les prélèvements automatiques Bacs, vous devez gérer l’événement payment_intent.succeeded afin de confirmer l’aboutissement du paiement. Stripe vous recommande également de gérer les événements payment_intent.processing et payment_intent.payment_failed.
Pour tester des webhooks en local, vous pouvez utiliser la CLI Stripe. Après l’avoir installée, vous pouvez transférer des événements à votre serveur :
stripe listen --forward-to localhost:4242/webhook Ready! Your webhook signing secret is '{{WEBHOOK_SIGNING_SECRET}}' (^C to quit)
En savoir plus sur la configuration des webhooks.
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 |
---|---|---|
108800 | 00012345 | Le paiement aboutit et l’état du PaymentIntent passe de processing à succeeded . |
108800 | 90012345 | Le paiement aboutit au bout de trois minutes et l’état du PaymentIntent passe de processing à succeeded . |
108800 | 33333335 | Le paiement est accepté, mais échoue immédiatement avec un code d’échec debit_ et le PaymentIntent bascule de processing à requires_ . L’objet Mandate devient inactive et le PaymentMethod ne peut plus être utilisé. |
108800 | 93333335 | Le paiement échoue au bout de trois minutes avec un code d’échec debit_ et le PaymentIntent bascule de processing à requires_ . L’objet Mandate devient inactive et le PaymentMethod ne peut plus être utilisé. |
108800 | 22222227 | Le paiement échoue avec un code d’échec insufficient_ et le PaymentIntent bascule de processing à requires_ . L’objet Mandate reste active et le PaymentMethod peut à nouveau être utilisé. |
108800 | 92222227 | Le paiement échoue au bout de trois minutes avec un code d’échec insufficient_ et le PaymentIntent bascule de processing à requires_ . L’objet Mandate reste active et le PaymentMethod peut à nouveau être utilisé. |
108800 | 55555559 | Le paiement aboutit au bout de trois minutes et l’état du PaymentIntent passe de processing à succeeded , mais un litige est immédiatement créé. |
108800 | 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. |
108800 | 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. |
108800 | 34343434 | The payment fails with a charge_ failure code due to the payment amount causing the account to exceed its weekly payment volume limit. |
108800 | 12121212 | The payment fails with a charge_ 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.
Échecs de paiement
Payments can fail for a variety of reasons. The reason for a failure is available through charge.failure_code. Only payments with certain failure codes may be retried. If a payment can’t be retried, we recommend reaching out to the customer and asking them to pay again using a different bank account or a different payment method.
Les codes d’échec que nous envoyons actuellement pour les prélèvements automatiques Bacs sont indiqués ci-dessous. Cette liste est susceptible d’être enrichie à tout moment, et il importe donc de ne pas la considérer comme exhaustive dans le cadre du développement et de la maintenance de votre code.
Code d’échec | Description | Nouvelle tentative possible |
---|---|---|
account_ | Le compte bancaire a été clôturé. | Non |
bank_ | Le compte a été transféré à un nouveau prestataire de services de paiement (PSP). Vérifiez si les coordonnées du nouveau PSP vous ont été communiquées. Si ce n’est pas le cas, vous devez obtenir un nouveau mandat auprès du client. | Non |
debit_ | Le client a informé sa banque que le paiement n’était pas autorisé ou que la banque payeuse ne détient aucun mandat. | Non |
generic_ | Le paiement n’a pas pu être traité. | Oui |
insufficient_ | Le compte du client ne dispose pas de fonds suffisants pour couvrir le paiement. | Oui |
invalid_ | The account number is not valid. This could mean it is not for a GBP account or that the account can’t process Direct Debit payments. | Non |
Pour effectuer une nouvelle tentative de paiement, confirmez le PaymentIntent à nouveau à l’aide du même PaymentMethod.
Pour mettre toutes les chances de votre côté que le paiement aboutisse, nous vous conseillons de contacter le payeur avant la nouvelle tentative.