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
        Accepter un paiement
        Enregistrer les informations bancaires
      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 debitsAustralia BECS Direct Debit

Accepter un paiement par prélèvement automatique BECS en Australie

Découvrez comment accepter les paiements par prélèvement automatique BECS en Australie.

Copier la page

Fonctionnement

Consultez la page consacrée aux prélèvements automatiques BECS pour en savoir plus sur ce moyen de paiement.

Les utilisateurs de Stripe en Australie peuvent utiliser le Payment Element et un Paiement Intent pour initier des paiements par prélèvement automatique BECS des clients titulaires d’un compte bancaire australien.

Mise en garde

Le contenu de cette section fait référence à un produit antérieur. Vous devez plutôt consulter le guide relatif à l’acceptation d’un paiement pour en savoir plus sur le chemin d’intégration le plus récent. Stripe prend toujours en charge ce produit, néanmoins cette prise en charge peut prendre fin si le produit devient obsolète.

Utilisez Stripe Elements, nos composants d’interface préconfigurés, pour créer un formulaire de paiement qui vous permettra de collecter de manière sécurisée les coordonnées bancaires de vos clients en éliminant les manipulations de données client sensibles. L’acception des paiements par prélèvement automatique BECS sur votre site Web implique la création d’un objet de suivi du paiement, la collecte des informations du moyen de paiement et de la confirmation du mandat, et la soumission du paiement à Stripe pour traitement. Stripe utilise l’objet PaymentIntent créé pour suivre et gérer les états successifs du paiement jusqu’à son aboutissement.

Les utilisateurs de Stripe en Australie peuvent utiliser le composant Element Australia Bank Account et un objet PaymentIntent pour accepter les paiements par prélèvement automatique BECS de leurs clients titulaires d’un compte bancaire australien.

Configurer Stripe
Cô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 :

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 Customer
Côté serveur

Pour que la réutilisation d’un compte de prélèvement automatique BECS soit possible pour de futurs paiements, celui-ci doit être associé à un objet Customer.

Créez un objet Customer lorsque votre client crée un compte auprès de votre entreprise. L’association de l’ID de l’objet Customer à votre propre représentation interne d’un client vous permet de récupérer et d’utiliser ultérieurement les informations du moyen de paiement stocké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 un paiement auprès d’un client et qui suit le cycle de vie du processus de paiement étape par étape. Pour commencer, créez un PaymentIntent sur votre serveur et précisez le montant à encaisser ainsi que la devise aud (le prélèvement automatique BECS ne prend pas en charge les autres devises). Si vous disposez déjà d’une intégration utilisant l’API Payment Intents, ajoutez au_becs_debit à la liste des types de moyens de paiement pour votre PaymentIntent.

Pour enregistrer le compte de prélèvement automatique BECS en vue de le réutiliser, définissez le paramètre setup_future_usage sur off_session. Le prélèvement automatique BECS accepte uniquement la valeur off_session pour ce paramètre.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "setup_future_usage"="off_session" \ -d "currency"="aud" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "payment_method_types[]"="au_becs_debit"

Après la création d’un PaymentIntent, Stripe renvoie un objet PaymentIntent contenant une propriété client_secret. Transmettez la clé secrète du client du côté client.

Avertissement

Utilisez la clé secrète pour débiter le client du montant spécifié au niveau du PaymentIntent. La clé secrète ne doit pas être enregistrée, intégrée aux URL ni révélée à d’autres personnes que votre client.

Recueillir les informations du moyen de paiement et la confirmation du mandat
Cô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

Stripe Elements est automatiquement disponible en tant que fonctionnalité de Stripe.js. Intégrez le script Stripe.js sur votre page de paiement, entre les balises head de votre fichier HTML. Chargez toujours Stripe.js directement à partir de js.stripe.com pour maintenir votre conformité PCI. Vous ne devez pas inclure le script dans un lot ni en héberger de copie.

submit_payment.html
<head> <title>Submit Payment</title> <script src="https://js.stripe.com/v3/"></script> </head>

Créez une instance d’Elements avec le JavaScript suivant sur votre page de paiement :

const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const elements = stripe.elements();

Demande de prélèvement automatique

Avant de pouvoir procéder à un paiement par prélèvement automatique BECS, votre client doit accepter le contrat de service de demande de prélèvement automatique. Pour ce faire, il doit envoyer une demande de prélèvement remplie. Son approbation vous confère un mandat pour débiter son compte. Le Mandate est un enregistrement de l’autorisation de débiter un moyen de paiement.

Pour l’acceptation des mandats en ligne, vous pouvez créer un formulaire afin de collecter les informations nécessaires. Servez le formulaire via HTTPS et capturez les informations suivantes :

InformationsDescription
Nom du compteLe nom complet du titulaire du compte
Numéro BSBLe numéro Bank-State-Branch du compte bancaire (par exemple, 123-456)
Numéro de compteLe numéro de compte bancaire (par exemple, 87654321)

Lorsque vous recevez une demande de prélèvement automatique, suivez les Conditions d’utilisation des prélèvements automatiques BECS. Dans votre formulaire de paiement :

  • Affichez les conditions précises du Contrat d’utilisation du service de demande de prélèvement automatique de Stripe, soit directement sur le formulaire, soit sur une page dont le lien figure dans le formulaire, sous l’appellation « Contrat d’utilisation du service de demande de prélèvement ».
  • Afficher le texte d’autorisation standard suivant afin que votre client puisse accepter les demandes de prélèvement automatique BECS. Leur acceptation vous autorise à commencer les paiements par prélèvement automatique BECS.

Remarque

En fournissant vos coordonnées bancaires et en confirmant ce paiement, vous acceptez cette demande de prélèvement automatique et le contrat de service de demande de prélèvement automatique. Vous autorisez également Stripe Payments Australia Pty Ltd ACN 160 180 343, numéro d’ID d’utilisateur de prélèvement automatique 507156 (« Stripe ») à débiter votre compte par le biais du Bulk Electronic Clearing System (BECS) pour le compte du (« Marchand ») de tout montant vous ayant été communiqué individuellement par le Marchand. Vous certifiez être le titulaire du compte indiqué ci-dessus ou son signataire autorisé.

Les informations du mandat accepté sont générées lors de la configuration d’un PaymentMethod ou de la confirmation d’un PaymentIntent. Vous devez à tout moment être en mesure de communiquer ce mandat (la demande de prélèvement acceptée et son contrat de service associé) à votre client, que ce soit sous forme de document imprimé ou de copie numérique non modifiable (par exemple, par e-mail). Stripe l’héberge pour vous sous la propriété url de l’objet Mandate lié au PaymentMethod.

Ajouter et configurer un composant Element Australia Bank Account

Le composant Australia Bank Account Element vous permet de collecter et de valider à la fois le numéro BSB et le numéro de compte du client. Incluez-le dans votre formulaire de paiement en créant des nœuds DOM (conteneurs) vides avec des ID uniques. Par ailleurs, votre client doit lire et accepter les conditions du Contrat d’utilisation du service de demande de prélèvement automatique.

submit_payment.html
HTML
<form action="/charge" method="post" id="payment-form"> <div class="form-row inline"> <div class="col"> <label for="accountholder-name"> Name </label> <input id="accountholder-name" name="accountholder-name" placeholder="John Smith" required /> </div> <div class="col"> <label for="email"> Email Address </label> <input id="email" name="email" type="email" placeholder="john.smith@example.com" required /> </div> </div> <div class="form-row"> <!-- Using a label with a for attribute that matches the ID of the Element container enables the Element to automatically gain focus when the customer clicks on the label. --> <label for="au-bank-account-element"> Bank Account </label> <div id="au-bank-account-element"> <!-- A Stripe Element will be inserted here. --> </div> </div> <!-- Used to display bank (branch) name associated with the entered BSB --> <div id="bank-name"></div> <!-- Used to display form errors. --> <div id="error-message" role="alert"></div> <!-- Display mandate acceptance text. --> <div class="col" id="mandate-acceptance"> By providing your bank account details and confirming this payment, you agree to this Direct Debit Request and the <a href="stripe.com/au-becs-dd-service-agreement/legal">Direct Debit Request service agreement</a>, and authorise Stripe Payments Australia Pty Ltd ACN 160 180 343 Direct Debit User ID number 507156 (“Stripe”) to debit your account through the Bulk Electronic Clearing System (BECS) on behalf of Rocket Rides (the "Merchant") for any amounts separately communicated to you by the Merchant. You certify that you are either an account holder or an authorised signatory on the account listed above. </div> <!-- Add the client_secret from the PaymentIntent as a data attribute --> <button id="submit-button" data-secret="{{CLIENT_SECRET}}">Confirm Payment</button> </form>

Lors du chargement du formulaire, vous pouvez créer une instance du composant Element Australia Bank Account et la monter sur le conteneur Element :

// Custom styling can be passed to options when creating an Element const style = { base: { color: '#32325d', fontSize: '16px', '::placeholder': { color: '#aab7c4' }, ':-webkit-autofill': { color: '#32325d', }, }, invalid: { color: '#fa755a', iconColor: '#fa755a', ':-webkit-autofill': { color: '#fa755a', }, } }; const options = { style: style, disabled: false, hideIcon: false, iconStyle: "default", // or "solid" } // Create an instance of the auBankAccount Element. const auBankAccount = elements.create('auBankAccount', options); // Add an instance of the auBankAccount Element into // the `au-bank-account-element` <div>. auBankAccount.mount('#au-bank-account-element');

Soumettre le paiement à Stripe
Côté client

Au lieu de transmettre au client l’objet PaymentIntent dans son intégralité, utilisez la clé secrète du client de l’étape 2. Cette clé est différente de vos clés API qui servent à authentifier les requêtes à l’API Stripe.

Utilisez stripe.confirmAuBecsDebitPayment pour collecter le mandat et lancer le paiement lorsque l’utilisateur envoie le formulaire. Il est nécessaire d’inclure l’adresse électronique et le nom du client dans la propriété billing_details du paramètre payment_method pour créer un PaymentMethod de prélèvement automatique BECS.

const form = document.getElementById('payment-form'); const accountholderName = document.getElementById('accountholder-name'); const email = document.getElementById('email'); const submitButton = document.getElementById('submit-button'); const clientSecret = submitButton.dataset.secret; form.addEventListener('submit', (event) => { event.preventDefault(); stripe.confirmAuBecsDebitPayment( clientSecret, { payment_method: { au_becs_debit: auBankAccount, billing_details: { name: accountholderName.value, email: email.value } } } ); });

Une fois le PaymentIntent confirmé, partagez l’URL du mandat de l’objet Mandate avec votre client. Nous vous recommandons également de communiquer au client les informations suivantes lors de la confirmation de la création de son mandat :

  • Un message de confirmation explicite indiquant qu’un mandat de prélèvement automatique a été mis en place

  • La dénomination sociale qui figurera sur le relevé bancaire du client lorsque son compte sera débité

  • Le montant et le calendrier des paiements (le cas échéant)

  • Un lien vers l’URL du mandat généré pour les demandes de prélèvement automatique

    Vous pouvez accéder à l’ID de l’objet Mandate​ dans le champ the payment_method_details de l’attribut latest_charge du PaymentIntent en le récupérant.

Utilisateurs de la version du 01/08/2022 de l’API ou d’une version antérieure :

Vous pouvez accéder à l’ID de l’objet Mandate dans le champ payment_method_details de l’objet Charge du PaymentIntent (inclus avec l’événement payment_intent.processing​ envoyé après la confirmation), ou le récupérer.

Confirmer l'aboutissement du PaymentIntent
Côté serveur

BECS Direct Debit is a delayed notification payment method, which means that funds aren’t immediately available. A BECS Direct Debit PaymentIntent typically remains in a processing state for 2 business days after submission to the BECS network. This submission happens once per day. Once the payment succeeds, the associated PaymentIntent status updates from processing to succeeded.

Les événements suivants sont envoyés lorsque le PaymentIntent change d’état :

ÉvénementDescriptionÉtapes suivantes
payment_intent.processingLe paiement du client a bien été envoyé à Stripe.Attendez que le paiement effectué aboutisse ou échoue.
payment_intent.succeededLe paiement du client a abouti.Traitez la commande de biens ou de services qui ont été achetés.
payment_intent.payment_failedLe paiement du client a été refusé.Contact the customer through email or push notification and request another payment method.

Les paramètres setup_future_usage et customer ayant été définis, le PaymentMethod sera associé à l’objet Customer dès lors que le paiement passera à l’état processing. Cette association intervient quelle que soit l’issue du paiement, qu’il aboutisse ou qu’il échoue.

Lorsqu’une tentative de prélèvement automatique échoue, Stripe envoie un événement payment_intent.payment_failed contenant un objet PaymentIntent. L’attribut last_payment_error du PaymentIntent comprend un code et un message décrivant l’échec.

L’échec peut être temporaire ou permanent pour le mandat associé au PaymentIntent rejeté. En cas d’échec permanent, Stripe révoque le mandat pour éviter des coûts supplémentaires. Dans ce cas de figure, lorsque vous avez besoin que le paiement s’effectue, il est de votre responsabilité de contacter votre client pour établir un nouveau mandat en collectant à nouveau ses coordonnées bancaires.

Pour les codes d’échec renvoyés suivants, Stripe change l’état du mandat comme suit :

Code d’échecDescriptionÉtat du mandat
debit_not_authorizedÉchec permanent dû à une restriction ou à un blocage empêchant de débiter le compte. Vous devez contacter votre client.inactif
account_closedÉchec permanent dû au fait que le compte a été clôturé. Vous devez contacter votre client.inactif
no_accountÉchec permanent dû au fait que les coordonnées bancaires fournies ne correspondent à aucun compte. Vous devez contacter votre client.inactif
refer_to_customerÉchec temporaire (fonds insuffisants par exemple). Vous pouvez lancer une nouvelle tentative de prélèvement sans nécessité de collecter un nouveau mandat.actif

Nous vous recommandons d’utiliser des webhooks pour obtenir confirmation de l’aboutissement ou de l’échec du paiement et pour informer votre client que l’établissement du mandat et le paiement ont abouti ou qu’ils nécessitent une intervention supplémentaire.

Tester l'intégration

Vous pouvez tester votre formulaire en utilisant le numéro BSB de test 000-000 et l’un des numéros de compte de test fournis dans votre requête confirmAuBecsDebitPayment.

Numéro BSBNuméro de compteDescription
000-000000123456L’état du PaymentIntent passe de processing à succeeded. L’état du mandat reste active.
000-000900123456L’état du PaymentIntent passe de processing à succeeded (avec un délai de trois minutes). L’état du mandat reste active.
000-000111111113L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec account_closed. L’état du mandat devient inactive.
000-000111111116L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec no_account. L’état du mandat devient inactive.
000-000222222227L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec refer_to_customer. L’état du mandat reste active.
000-000922222227L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec refer_to_customer (avec un délai de trois minutes). L’état du mandat reste active.
000-000333333335L’état du PaymentIntent passe de processing à requires_payment_method avec un code d’échec debit_not_authorized. L’état du mandat devient inactive.
000-000666666660L’état du PaymentIntent passe de processing à succeeded, mais un litige est immédiatement créé.
000-000343434343The PaymentIntent fails with a charge_exceeds_source_limit error due to the payment amount causing the account to exceed its weekly payment volume limit.
000-000121212121The PaymentIntent fails with a charge_exceeds_transaction_limit error due to the payment amount exceeding the account’s transaction volume limit.

Using test account numbers triggers webhook events. In a sandbox, PaymentIntents succeed and fail immediately, and as a result, the respective payment_intent.succeeded and payment_intent.payment_failed events trigger immediately as well. In live mode, the webhooks get triggered with the same delays as those of their related PaymentIntent successes and failures.

FacultatifValider le composant Element Australia Bank Account
Côté client

FacultatifConfigurer la date de prélèvement du client

Voir aussi

  • Enregistrer les informations de prélèvement automatique BECS en Australie en vue de futurs paiements
  • Paiements Connect
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