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.
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.
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.
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.

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.

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.
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.
b) Enable Bacs direct debit
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“
c) Type in the webhook URL (https://ca.engagingnetworks.app/page/stripe/webhook) and click “+ 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.
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.
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.
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.’
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.