1. Home
  2. Fundraising
  3. Payment Gateways
  4. Stripe Bacs Direct Debit UK

Stripe Bacs Direct Debit UK

You can use the Stripe gateway to enable your supporters to set up monthly BACS Direct Debits associated with UK banks using their account number and sort code. The payments are managed by Engaging Networks, so you can control the recurring donations from within the Lookup Supporters Recurring Donations gadget.

For details on other direct debit payment methods using the Stripe gateway (such as iDEAL and SEPA), please refer to this article.

User journey when setting up a Direct Debit

Web pages

The supporter will land on an Engaging Networks page to begin with, to enter their personal details and payment information. Account number and sort code are not taken at this stage.

Stripe Bacs User Flow

On submission of the page hosted by Engaging Networks, donors will be redirected to the Stripe Checkout page where they can enter their bank account details and billing address. This information cannot be retrieved from Engaging Networks and must be completed on the Stripe page.

Stripe Bacs Set up

Once completed, Stripe will show an additional confirmation page that will ask the donor to confirm their Direct Debit details, before they are redirected to the final thank you page in Engaging Networks.

Stripe Bacs Confirm

Email confirmations

Stripe will automatically send emails to the supporter about their direct debit, but you can also send an auto-acknowledgement email thank you email too if you wish, which can include details such as the supporter’s details, their Direct Debit Amount, Recurring Day and Frequency (but not the account number or sort-code since Stripe handles that)

Shortly after submitting the Direct Debit, the supporter will receive an email from Stripe (from [email protected]) with the subject “Confirming setup of Direct Debit Instruction”. It will contain the information given to Stripe (the account name, the redacted account number, and sort code) along with the Direct Debit Guarantee and link to the mandate. 

Confirming setup of Direct Debit Instruction email example
Confirming setup of Direct Debit Instruction email example – click to expand

Around two days after the day the payment is due to be pushed, an Advanced Notice email will be sent to the supporter with details of the amount and date the payment will be taken, along with a link to the mandate. The subject is “Debit initiated by Stripe” and sender [email protected] again.

Debit initiated by Stripe email example - click to expand
Debit initiated by Stripe email example – click to expand

How it works

There are some unique characteristics to Stripe Bacs Direct Debit.

When the page is submitted, Engaging Networks will create a mandate in Stripe. Then it will wait for the mandate to become active. At this point, no transaction is submitted, and no charges are made.  

The amount initially shows as zero because it’s not an actual transaction, and there is no amount to connect it to in Stripe. It corresponds to the initial mandate.

Click here to read more about Stripe Bacs Direct Debit payments.

Getting Started

1) You will need a validated Stripe account.

Follow the instructions here to add a Stripe gateway connection to your Engaging Networks account. If you are already using Stripe for card processing, you can use an existing connection.

You will also need to add a number of settings inside the gateway to get the Stripe Bacs integration working on your donation pages.

2) Enable Bacs Direct debit

Your Stripe account will need to have Bacs enabled. To do that:

a) In your Stripe dashboard, go to Settings > Payments > Payment methods.

Stripe Bacs Settings

b) Enable Bacs direct debit

Stripe Bacs Enable

3) Add webhooks and Stripe callback events

You will need to add webhooks to allow Engaging Networks and Stripe to communicate about payments. 

a) In Stripe, go to Developers > Webhooks or search for “webhooks”

b) Click “+ add endpoint

Stripe Bacs Listen

c) Type in the webhook URL (https://ca.engagingnetworks.app/page/stripe/webhook) and click “+ Select events

Stripe Bacs Select Events

d) Add the following Stripe callback events (you can use top search tool to search for relevant event names)

“Charge.dispute.funds_withdrawn”

“Payment_intent.canceled”

“Payment_intent.succeeded”

“Payment_intent.payment_failed”

“Checkout.session.completed”

“Mandate.updated”

“payment_method.automatically_updated”

4) Set up a Stripe PDD donation page in Engaging Networks

Required fields:

Form Field Recommend form block field type Comments
Email Address Text with Email Validator Email address identifying the supporter record
Payment Type

Select or Radio

Must be submitted as bacs_debit

Donation Amount Text, Radio with Input or Select with Input with Donation Amount validator May be entered as a whole number or number with two decimal places. Eg. Twelve dollars may be entered as ’12’ or ‘12.00’. Should not include the currency symbol
Recurring Payment Radio with Y and N values Must equal Y to submit as recurring payment
Recurring Frequency Hidden field with default value Can be MONTHLY, QUARTERLY, SEMI_ANNUAL, or ANNUAL.

Only MONTHLY is supported. You can use a hidden field with a value of MONTHLY for this

Recurring Day Hidden field The day of the month when the recurring payment is “pushed” by Engaging Networks to Stripe. In reality, the payment will be debited around 4 days after (see diagram above)
Payment Currency If allowing other options for additional payment types: select or radio Must equal GBP
First Name Text The cardholder’s first name.
Last Name Text The cardholder’s last name.
Address 1 Text The first address line of the cardholder
City Text The address city of the cardholder
ZIP/ postal code Text The post/postal/zip code of the
cardholder

 

After direct debit submission

When the mandate is initially submitted, you will see a transaction with status set to pending through the Supporter Lookup view.

Stripe Bacs Pending Mandate

After 3 days, this status will update to ‘Success’ once the mandate is cleared. 

At this point, the amount will reset to 0, and the Transaction ID will update to reflect the initial mandate.

Stripe Bacs Mandate Clear

Each payment processed as part of this mandate will then generate a transaction each month. You will also notice an UPDATE transaction in the Transaction History gadget.

Stripe Bacs Update

Stripe Bacs Final FBR

Exporting Data

The transaction types mentioned above with respective statuses will also be reflected in the exported file.

To export your Stripe Bacs transactions, please follow the instructions through finance reports.

For all Stripe Bacs transactions, select ‘Bank payments recurring transactions.’

Stripe Bacs Data Export

Updating the Mandate

Once the mandate is submitted, its details can be edited inside the Engaging Networks dashboard. You will be able to:

  • Update the amount
  • Update day of charge
  • Update frequency

You can also set an end date for the Bacs mandate or skip a number of payments.

Updated on March 8, 2023

Was this article helpful?

Need More Help?
Can't find the answer you're looking for?
Contact Support