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
Revenus
Plateformes et places de marché
Gestion de fonds
Outils de développement
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
    Payer avec le solde Stripe
    Cryptomonnaies
    Prélèvements bancaires
      Prélèvement automatique ACH
      Prélèvement automatique Bacs
      Débit préautorisé au Canada
      Prélèvement automatique BECS en Australie
      Prélèvement automatique BECS en Nouvelle-Zélande
        Accepter un paiement
        Enregistrer les informations bancaires
        Migrer depuis un autre prestataire
      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 debitsNew Zeland BECS Direct Debit

Accepter un paiement par prélèvement automatique BECS néo-zélandais

Créez un formulaire de paiement personnalisé pour accepter des paiements par prélèvement sur un compte bancaire néo-zélandais.

Copier la page

Pour accepter les paiements prélèvement automatique BECS néo-zélandais sur votre site Web, créez un objet de suivi du paiement, collectez les informations relatives au moyen de paiement et l’accusé de réception du mandat, puis envoyez le paiement à Stripe pour traitement.

Pour représenter le paiement, Stripe utilise un objet PaymentIntent, lequel permet de suivre et de gérer l’ensemble des états du paiement jusqu’à ce qu’il aboutisse.

Configurer Stripe
Côté serveur

Pour commencer, vous devez créer un compte Stripe.

Utilisez nos bibliothèques officielles pour accéder à l’API Stripe à partir de 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 ou récupérer un objet Customer
Côté serveur

Pour réutiliser un compte bancaire à l’occasion de paiements ultérieurs, associez-le à un objet Customer.

Lorsque votre client crée un compte auprès de votre entreprise, créez-lui un objet Customer. En associant l’ID de l’objet Customer à votre propre représentation interne d’un client, vous pourrez récupérer et utiliser ultérieurement les informations du moyen de paiement sauvegardées.

Créez ou récupérez un objet Customer afin de l’associer à ce paiement. Pour créer un nouvel objet Customer, ajoutez le code ci-après sur votre serveur.

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

Créer un PaymentIntent
Côté serveur

Un PaymentIntent est un objet qui représente votre intention d’encaisser le paiement d’un client et qui suit le cycle de vie du processus de paiement étape par étape.

Tout d’abord, créez un PaymentIntent sur votre serveur et spécifiez le montant à collecter et la devise nzd. Si vous possédez déjà une autre intégration utilisant l’API Payment Intents, ajoutez nz_bank_account à la liste des types de moyens de paiement de votre PaymentIntent. Précisez aussi l’id de l’objet Customer.

Fournissez également le paramètre setup_future_usage avec une valeur de off_session afin d’enregistrer le moyen de paiement du client pour un usage ultérieur.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-05-28.basil; nz_bank_account_beta=v2" \ -d "payment_method_types[]"=nz_bank_account \ -d customer=
{{CUSTOMER_ID}}
\ -d amount=1099 \ -d currency=nzd \ -d setup_future_usage=off_session

Le PaymentIntent renvoyé contient une clé secrète du client, que le client doit utiliser pour achever de manière sécurisée le processus de paiement au lieu de transmettre la totalité de l’objet PaymentIntent. Vous pouvez utiliser différentes approches pour transmettre cette clé côté client.

Récupérer la clé secrète du client

Le PaymentIntent contient une clé secrète à utiliser côté client pour finaliser le processus de paiement en toute sécurité. Vous pouvez adopter différentes approches pour transmettre cette clé secrète côté client.

Récupérez la clé secrète du client à partir d’un endpoint sur votre serveur, à l’aide de la fonction fetch du navigateur. Cette approche est recommandée si votre côté client est une application d’une seule page, en particulier si elle repose sur un framework front-end moderne tel que React. Créez l’endpoint de serveur qui gère la clé secrète du client :

main.rb
Ruby
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

Récupérez ensuite la clé secrète du client à l’aide JavaScript côté client :

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Collecter les informations du moyen de paiement et obtenir un accusé de réception du mandat
Côté client

Configurer Stripe Elements

Incluez le script Stripe.js sur votre page de paiement en l’ajoutant au head de votre fichier HTML. Chargez toujours Stripe.js directement à partir de js.stripe.com. Vous ne devez pas inclure le script dans un lot ni en héberger de copie.

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>

Créez une instance de l’objet Stripe en indiquant comme premier paramètre votre clé API publiable et en transmettant l’indicateur bêta nz_bank_account_beta_2 pour accéder aux Elements :

checkout.js
// Set your publishable key: remember to change this to your live publishable key in production // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { betas: ['nz_bank_account_beta_2'], apiVersion: "2025-05-28.basil;nz_bank_account_beta=v2" });

Ajouter le composant Payment Element à votre page de paiement

Sur votre page de paiement, créez un nœud DOM vide avec un ID unique pour y afficher le Payment Element.

checkout.html
<form id="payment-form"> <h3>Payment</h3> <div id="payment-element"></div> <button id="submit">Submit</button> </form>

Une fois que le formulaire ci-dessus a été chargé, créez un nouveau groupe Elements et transmettez la clé secrète du client de l’étape précédente dans le cadre de la configuration. Vous pouvez également transmettre l’option appearance pour personnaliser les Elements et les adapter au design de votre site.

Ensuite, créez une instance du composant Payment Element et intégrez-la au nœud DOM correspondant :

checkout.js
// Customize the appearance of Elements using the Appearance API. const appearance = { /* ... */ }; // Create an elements group from the Stripe instance, passing the clientSecret (obtained in step 2) and appearance (optional). const elements = stripe.elements({clientSecret, appearance}); // Create Payment Element instance. const paymentElement = elements.create("payment"); // Mount the Payment Element to its corresponding DOM node. paymentElement.mount("#payment-element");

Le composant Payment Element affiche un formulaire dynamique qui permet à votre client de choisir un type de moyen de paiement. Le formulaire recueillera automatiquement toutes les informations de paiement nécessaires pour le type de moyen de paiement sélectionné par le client. Pour les paiements par prélèvement automatique BECS en Nouvelle-Zélande, ces informations comprennent le nom du client, son adresse e-mail et son numéro de compte bancaire.

Confirmation du mandat

Le composant Payment Element affiche également les conditions générales du service de prélèvement automatique BECS néo-zélandais à votre client et recueille son accord avec ces conditions. Vous n’avez rien d’autre à faire.

Si vous n’utilisez pas le composant Payment Element, vous devez afficher séparément ces conditions générales à votre client et confirmer son acceptation.

Remarque

En fournissant vos coordonnées bancaires et en confirmant ce paiement, vous autorisez Stripe New Zealand Limited (code d’autorisation 3143978), à débiter votre compte bancaire des montants des prélèvements automatiques de Rocket Rides (« nous », « notre », « nos » ou « le Marchand »), conformément à la présente autorisation.

Vous acceptez que la présente autorisation soit soumise aux :

  • Conditions générales de votre banque qui se rapportent à votre compte, et
  • the Direct Debit Service Terms and Conditions

Vous confirmez être l’unique titulaire du compte susmentionné ou être un signataire autorisé à gérer ce compte bancaire individuellement.

Nous vous enverrons une confirmation par e-mail sous 5 jours ouvrables une fois que vous aurez confirmé cette autorisation de prélèvement automatique.

Si nous vous le demandons, vous devez fournir rapidement à Stripe un enregistrement des mandats.

FacultatifPersonnaliser l'apparence
Côté client

Soumettre le paiement à Stripe
Côté client

Utilisez stripe.confirmPayment pour recueillir les coordonnées du compte bancaire, créer un PaymentMethod et rattacher ce PaymentMethod au PaymentIntent.

Pour certains autres types de moyens de paiement, votre client peut d’abord être redirigé vers un site intermédiaire, comme une page d’autorisation bancaire, avant d’être redirigé vers le return_url. Fournissez un return_url à cette fonction pour indiquer où Stripe doit rediriger le client après s’être acquitté du paiement.

Les prélèvements automatiques BECS néo-zélandais ne nécessitent pas de redirection, vous pouvez donc également définir redirect sur if_required au lieu de fournir un return_url. Un return_url ne sera nécessaire que si vous ajoutez plus tard un autre moyen de paiement avec redirection.

script.js
confirmationForm.addEventListener('submit', (ev) => { ev.preventDefault(); stripe.confirmPayment({elements, redirect: "if_required"}) .then(({paymentIntent, error}) => { if (error) { console.error(error.message); // The confirmation failed for some reason. } else if (paymentIntent.status === "requires_payment_method") { // Confirmation failed. Attempt again with a different payment method. } else if (paymentIntent.status === "processing") { // Confirmation succeeded! The account will be debited. // Display a message to the customer. } }); });

Sauf échec de l’opération, Stripe renvoie un objet PaymentIntent présentant l’état processing. Reportez-vous à l’étape suivante sur la manière de confirmer le succès du PaymentIntent.

E-mails de notification des clients

Vous devez envoyer un e-mail de confirmation du mandat et les coordonnées bancaires recueillies à votre client après avoir confirmé le PaymentIntent.

En outre, pour chaque paiement encaissé, y compris celui-ci, vous devez envoyer à votre client une notification par e-mail de la date et du montant du débit au plus tard le jour de celui-ci.

Stripe gère l’envoi de ces e-mails pour vous par défaut, mais vous pouvez choisir d’envoyer des notifications personnalisées.

Confirmer l'aboutissement du PaymentIntent
Côté serveur

Les prélèvements automatiques BECS néo-zélandais sont un moyen de paiement à notification différée. En outre, ils exigent que votre client soit informé de tout prélèvement sur son compte bancaire au plus tard à la date du prélèvement.

Vous recevrez ensuite une notification d’aboutissement ou d’échec du PaymentIntent dans un délai de 3 jours ouvrés. Une fois le paiement réussi, l’état du PaymentIntent passe de processing à succeeded.

Les événements suivants sont envoyés lorsque l’état du PaymentIntent change :

ÉvénementDescriptionÉtape suivante
payment_intent.processingLe client a envoyé son paiement à Stripe.Attendez que le paiement aboutisse ou échoue.
payment_intent.succeededLe paiement du client a abouti.Traitez la commande de biens ou de services.
payment_intent.payment_failedLe paiement du client a été refusé.Envoyez un e-mail ou une notification Push pour demander au client d’utiliser un autre moyen de paiement.

Nous vous recommandons d’utiliser des webhooks afin de confirmer que le paiement a abouti et d’informer le client que le paiement a été effectué. Vous pouvez également afficher les événements sur le Dashboard Stripe.

Acceptation des futurs paiements
Côté serveur

Lorsque le PaymentIntent a abouti, que vous avez fourni un Customer et que le paramètre setup_future_usage a basculé sur off_session, le PaymentMethod est désormais associé à l’objet Customer. Vous pouvez utiliser ces objets pour initier de futurs paiements sans avoir à demander une nouvelle fois ses informations bancaires à votre client.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-05-28.basil; nz_bank_account_beta=v2" \ -d "payment_method_types[]"=nz_bank_account \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d confirm=true \ -d amount=100 \ -d currency=nzd \ -d off_session=true

Tester votre intégration

Numéros de comptes de test

In a sandbox, you can use the following parameters to simulate specific errors.

Testez votre formulaire en utilisant le code de banque 11, le code d’agence 0000 et l’un des numéros de compte suivants.

Numéro de compteDescription
0000000010L’état du PaymentIntent passe de processing à succeeded. L’état du mandat reste active.
2222222027L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec insufficient_funds. L’état du mandat reste active.
8888888000L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec refer_to_customer. L’état du mandat reste active.
1111111016L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec no_account. L’état du mandat devient inactive.
5555555059L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec debit_not_authorized. L’état du mandat devient inactive.
9999999000Le PaymentIntent passe à l’état processing et y demeure. Pour le faire progresser, utilisez une requête à l’API comme indiqué ci-dessous.

FacultatifConfigurer la date de prélèvement du client

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