Stripe users in Australia can accept BECS Direct Debit payments from customers with an Australian bank account.
As part of the payment process, businesses must collect a mandate that includes the customer’s bank account details (account holder’s name, the Bank-State-Branch or BSB number, and the bank account number) and must also accept the mandate Service Agreement. This gives the business an authorization to debit the account. Stripe can 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 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
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 and each time you debit their account. 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’s 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 sending notifications at least 14 calendar days before you create a payment, but this isn’t mandatory. 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 can include multiple upcoming debits with corresponding dates in a single notice.
BECS Direct Debit provides a dispute process for bank account holders to dispute payments so you should familiarize yourself with this process if you decide to accept BECS Direct Debit payments.
For up to 7 years, a customer can dispute a debit payment through their bank on a “no questions asked” basis. Their bank honors all disputes within this period. If they dispute a charge and their bank accepts the request to return the funds, Stripe immediately removes the funds from your Stripe account.
If a dispute gets created, Stripe sends both the
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 can’t be appealed. If a customer successfully disputes a payment, contact them to resolve the situation. If you can come to an agreement and your customer is willing to return the funds to you, they need to make a new payment.
During the payment process, businesses must collect a mandate that authorizes them to debit the account. In the BECS Direct Debit system, these mandates are called Direct Debit Requests, or DDRs.
Bank account holders can request the cancellation of active mandates at any time. To cancel a mandate, a bank account holder must either contact their bank or the party they established the mandate with. Canceling a mandate invalidates any future debit requests that you issue using it. If you want to accept additional payments from your customer, establish a new mandate with them.
||Occurs whenever a mandate is canceled by the customer or due to a permanent debit failure. The
You can see the events in your Dashboard, but you should still set up a webhook endpoint.
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 3-5 business days). If you accidentally debit your customer, contact them immediately to avoid a payment dispute.
Refunds are processed only after the payment process completes. If you create a full or partial refund on a payment that hasn’t completed yet, the refund process starts 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 doesn’t explicitly label refunds when they’re deposited back into a 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 5 business days to arrive in their bank account. Stripe won’t automatically send the customer any email to inform them about this.
Every 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. You can override this default behavior for every transaction independently by using a dynamic statement descriptor. To do so, specify the
statement_descriptor parameter when creating the
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|
Each bank in Australia formats these fields differently. Depending on your customer’s bank, some fields may appear in all lowercase or all uppercase.
Statement descriptors and Connect
The charge type of Connect payments changes the statement descriptor and the merchant name, which appear on the customer’s bank statement.
|Charge type||Descriptor taken from|
|Separate charge and transfer||Platform|
|Separate charge and transfer (with
You can’t use a mandate collected for a
on_behalf_of a Connected Account with a different Connected Account.