Payments
Bank debits
BECS Direct Debit

BECS Direct Debit payments in Australia

Learn how to accept payments with BECS Direct Debit in Australia.

Stripe users in Australia can accept BECS Direct Debit payments from customers with an Australian bank account.

During the payment flow, businesses must collect a mandate: customers need to provide their bank account details—consisting of the account holder’s name, the Bank-State-Branch (BSB) number, and the bank account number—and accept the mandate Service Agreement. This gives the business an authorization to debit the account. Stripe is able to generate this mandate for businesses to present to their customers.

BECS Direct Debit is a reusable, delayed notification payment method. This means that it can take up to 4 business days to receive notification on the success or failure of a payment after you initiate a debit from the customer’s account.

Customer locations
Australia
Presentment currency
AUD
Payment confirmation
Business-intiated
Payment method family
Bank debits
Recurring payments
Yes
Payout timing
Standard payout timing applies
Connect support
Yes
Dispute support
Yes
Refunds / Partial refunds
Yes / yes
Stripe accounts in the following countries can accept BECS Direct Debit payments with local currency settlement.
Australia

Payment flow

Customer selects BECS Direct Debit at checkout

Customer completes the Direct Debit Request

Customer gets notification that the payment is complete

Preview the payment flow using the test information below or view the sample code on GitHub.

  • Any name
  • Any email address
  • Test BSB number: 000-000
  • Test bank account number: 000123456

Getting started

Get started with accepting BECS Direct Debit payments or saving BECS payment details for future payments.

Debit notification emails

The BECS scheme advises that you notify your customer when a mandate is established as well as each time you debit their account. For these cases, by default, Stripe automatically sends emails to the customer.

If you decide to send your customer a custom notification:

  • Turn off Stripe emails in the Stripe Dashboard email settings.
  • Use the payment_intent.processing event to trigger debit initiation emails.
  • It is best to share (a link to) the mandate in the mandate notification
  • The pre-debit notifications ideally include:
    • The last 4 digits of the customer’s bank account
    • The amount to be debited
    • Your contact information
    • The day you plan to debit the customer’s bank account
  • The BECS guidelines suggest to send notifications at least 14 calendar days before you create a payment, but are not prescriptive. The default Stripe pre-debit email happens the day before the account gets debited. These pre-debit notifications should help you avoid unnecessary debit failures and disputes. For recurring payments of the same amount (e.g., a subscription of a fixed amount), you may indicate multiple upcoming debits with corresponding dates in a single notice.

Disputed payments

BECS Direct Debit provides a dispute process for bank account holders to dispute payments. As such, you should make the appropriate decisions regarding your business and how you approach BECS Direct Debit payments.

For up to 7 years, a customer can dispute a debit payment on their account through their bank on a “no questions asked” basis. The customer’s bank honors all disputes within this period; if a customer disputes a charge and the customer’s bank accepts the request to return the funds, Stripe immediately removes the funds for the charge from your Stripe account.

If a dispute gets created, Stripe sends both the charge.dispute.created and charge.dispute.closed webhook events, and deducts the amount of the dispute and associated dispute fee from your Stripe balance.

Unlike credit card disputes, all BECS Direct Debit disputes are final, and there is no appeals process. If a customer successfully disputes a payment, you must reach out to them if you would like to resolve the situation. If you’re able to come to an arrangement and your customer is willing to return the funds to you, they need to make a new payment.

Mandates

During the payment flow, businesses must collect a mandate which gives them an authorization to debit the account. In the BECS Direct Debit system, these mandates are called Direct Debit Requests or DDRs.

Bank account holders can at all times request the cancellation of active mandates. To cancel a mandate, a bank account holder must either reach out to the party they established the mandate with, or to their bank. Canceling a mandate invalidates any future debit requests that you issue using this mandate. If you wish to accept additional payments from your customer, you need to establish a new mandate with them.

Mandate events

Event name Description
mandate.updated Occurs whenever a mandate is canceled by the customer or due to a permanent debit failure. The status property will change to inactive.

You can see the events in your Dashboard, but you should still set up a webhook endpoint.

Refunds

Refunds for payments made with BECS Direct Debit must be submitted within 90 days from the date of the original payment. Refunds require additional time to process (typically three to five business days). If you accidentally debit your customer, please contact them immediately to avoid a payment dispute.

Refunds are processed only after the payment process is complete. If you create a full or partial refund on a payment that has not yet completed, the refund is actioned when the Charge object’s status transitions to succeeded. If the Charge object’s status transitions to failed, the full or partial refund is marked as canceled because the money was never debited from the customer’s bank account.

BECS does not explicitly label refunds when the funds are deposited back to a customer’s bank account. Instead, refunds are processed as a credit and include a visible reference to the original payment’s statement descriptor.

Due to longer settlement time periods and how banks process BECS Direct Debit transactions, there is potential for confusion between you, your customer, your customer’s bank, and Stripe. For example, your customer may contact both you and their bank to dispute a payment. If you proactively issue your customer a refund while the customer’s bank also initiates the dispute process, your customer may receive two credits for the same transaction.

When issuing a refund, you should inform your customer immediately that the refund can take up to five business days to arrive in their bank account. Stripe will not automatically send the customer any email to inform them about this.

Statement descriptors

Every single BECS Direct Debit payment shows two fields on the customers’ bank statements: the name of the merchant and the lodgement reference unique to this transaction.

For BECS Direct Debit payments created with Stripe, the name of the merchant is your Stripe account’s statement descriptor. By default, the first portion of the lodgement reference defaults to (a trimmed portion of) your account’s statement descriptor as well. You can override this default behavior for every transaction independently by using a dynamic statement descriptor. To do so, you can specify the statement_descriptor parameter when creating the PaymentIntent.

The table below illustrates the merchant name and lodgement reference behavior you can expect on the customer’s bank statement:

Default statement descriptor Dynamic statement descriptor Merchant name Lodgement reference
Rocket Rides Unspecified RocketRides RocketRid_AB1234CD
Rocket Rides Sunday Ride RocketRides SundayRid_AB1234CD

Each bank in Australia formats these fields differently. Depending on your customer’s bank, some fields may appear in all lowercase or uppercase.

Statement descriptors and Connect

The charge type of Connect payments changes the statement descriptor and the merchant name, which appears on the customer’s bank statement.

Charge type Descriptor taken from
Direct Connected Account
Destination Platform
Separate charge and transfer Platform
Destination (with on_behalf_of) Connected Account
Separate charge and transfer (with on_behalf_of) Connected Account

A mandate collected for a PaymentIntent on_behalf_of a Connected Account cannot be used with a different Connected Account.

Was this page helpful?
Questions? Contact us.
Developer tutorials on YouTube.