Search Overlay

BACS Direct Debit

Bankers' Automated Clearing System (BACS) Direct Debit is a payment method widely used in the UK for the automated collection of recurring payments directly from a customer's bank account. With BACS Direct Debit, organizations can collect payments on agreed dates, making it ideal for subscription services, utility bills, or loan repayments.

BACS enables efficient and secure processing of transactions such as direct debit and direct credit, commonly used for salary payments, invoices, and recurring bills. Operating across the UK, BACS simplifies domestic transfers by automating and streamlining the movement of funds between bank accounts.  

This system is widely trusted for handling large volumes of payments, ensuring that transactions are processed accurately and on time. 

Service User Guide and Rules for Direct Debit Scheme

BACS Direct Debit at a glance

Payment Method BACS Direct Debit
Region United Kingdom
The Customer is Debited in GBP
Processing Currency GBP
Single payments
  • Mandate creation necessary - Yes
  • Payment flow - No redirect
  • Payment API - Yes
  • Paysafe Checkout - No
  • Paysafe JS - No
Merchant Initiated Payments Yes
Processing Time
  • Payment - The Direct Debit instruction will be active on the 6th day. When the merchant sends the payment request it will take 3 business days for the payment to be completed (which lands on the 10th business day). You can process the payment anytime once the mandate is Active (not just on Day 6). 
  • New Mandate (Instruction) - Direct Debit instruction will be sent to the banking network on the same day (business day 1). By the 5th business day, the Direct Debit instruction is approved, if no instruction fails during this time the status will become Active from Pending. 
Refunds NA
Customer Indemnity Claims Supported under Direct Debit Guarantee (customer initiated). 
Reporting Transactions reviewable via Payments Optic Portal. 
Languages Supported EN

Key features

Authorization and Automation: Customers authorize a business to collect payments from their bank account by setting up a Direct Debit mandate. Once authorized, payments are collected automatically on agreed dates without the need for customer intervention. 

Secure and Protected: BACS Direct Debit is processed securely and comes with the direct debit guarantee, offering customers protection against incorrect or unauthorized payments, ensuring peace of mind for both parties.

 

Implementation flow

To process a BACS Direct Debit Core payment with Paysafe, follow these steps:

  • Set Up the Mandate: Obtain your customer’s consent for BACS payments by establishing a mandate. If you already have a mandate ID, you can skip this step and continue with the next.
  • Send a Pre-Notification: Notify your customer in advance about the planned debit from their account. This step ensures compliance and keeps your customer informed. 

Direct Debit Set Up and Payment Cycle:

The following scenarios represent a typical new sign up for a customer taking Direct Debit.

  • Day 1: Direct Debit Instruction (DDI) sent to banking network. 
  • Day 5: Direct Debit Instruction (DDI) approved. 
  • Day 6: Payment sent to banking network. 
  • Day 8: Customer debited. 
  • Day 10: Payment completed. 

The Paysafe Payments API supports BACS as a Payment Instrument. You can process BACS payments using the Payments API.

 Create a customer - Create a customer  profile with the required information. 

 Create paymentHandle -  Based on the payment type, create paymentHandle with the billing details. 

 Create a mandate - Create a mandate for each customer and link the mandate to the payment handle via unique reference number. 

 Make a payment with paymentHandle -  Initiate the payment processing request using the required transaction information. 

Paysafe supports the processing of Standard 18 (STD-18) files via SFTP connection. Our platform is fully compatible to provide all BACS native reports (ADDACCS, AUDDIS, ARUDD, etc.), ensuring smooth and efficient Direct Debit transactions. By offering support for the STD-18 format, we provide an optimal solution for seamless migration, allowing merchants to transition to our services with minimal disruption and operational impact.

Webhooks

Payment Handle Webhooks 

Webhook Description
PAYMENT_HANDLE_PAYABLE The payment handle for processing payments is created. 

Payment Webhooks

Webhook Description
PAYMENT_COMPLETED The transaction was completed successfully, and request is sent to the bank. 
SETTLEMENT_CANCELLED The settlement while in pending state (before request is sent to the bank) it is cancelled by the merchant. 
SETTLEMENT_COMPLETED The settlement is completed i.e., successfully sent to bank and received positive acknowledgement from the bank.
SETTLEMENT_CLEARED The settlement is cleared i.e., No return/rejection is received from bank. 
PAYMENT_RETURNED_COMPLETED Failed payment reported by the bank. 
PAYMENT_FAILED The payment failed during the validation process i.e., risk rule failure. 

The above PAYMENT_COMPLETED webhook notification is sent to a specified URL when a payment is completed successfully. It triggers backend processes like updating transaction records. 

{
"variables": {
"payload": {
"accountId": "1003459920",
"id": "5263bd64-e0ff-4a09-bc80-7e58aa44cb73",
"merchantRefNum": "a19c49e0-336e-4db9-8e82-65d1e1c8106b",
"amount": 25469,
"currencyCode": "GBP",
"gatewayReconciliationId": "42071120",
"status": "COMPLETED",
"paymentType": "BACS",
"txnTime": "2024-09-04T23:05:32Z",
"statusTime": "2024-09-04T23:05:32Z",
"processorCode": "BACS",
"mandateId": "d1e51cb7-c561-48f1-8070-df3d6af7a0b3",
"dueDate": "2024-09-04T23:05:32Z",
"billingDetails": {
"street1": "17 William Nichols Court",
"city": "Peterborough",
"country": "GB",
"zip": "PE1 4DW"
},
"profile": {
"firstName": "abc def",
"lastName": "xyz",
"merchantCustomerId": "35658742681254125",
"id": "f56aeb15-6769-4893-9ebb-bf82a1e73bbe"
},
"customerId": "f56aeb15-6769-4893-9ebb-bf82a1e73bbe",
"settleWithAuth": true,
"bacs": {
"lastDigits": "9891",
"accountHolderName": "abc def",
"sortCode": "123456",
"mandateReference": "4677MNAO66",
"bankReference": "4677MNAO6642071120"
},
"settlementId": "5263bd64-e0ff-4a09-bc80-7e58aa44cb73",
"settlementAmount": 25469,
"settlementStatus": "PENDING"
},
"attemptNumber": "1",
"type": "PAYMENT",
"eventDate": "2024-09-04T23:05:32Z"
},
"type": "PAYMENT",
"eventName": "PAYMENT_COMPLETED"
}

{
"variables": {
"payload": {
"accountId": "1003459920",
"id": "5263bd64-e0ff-4a09-bc80-7e58aa44cb73",
"merchantRefNum": "a19c49e0-336e-4db9-8e82-65d1e1c8106b",
"amount": 25469,
"currencyCode": "GBP",
"gatewayReconciliationId": "42071120",
"status": "COMPLETED",
"statusTime": "2024-09-05T12:30:56Z",
"paymentType": "BACS",
"txnTime": "2024-09-04T23:05:32Z",
"processorCode": "BACS"
},
"attemptNumber": "1",
"type": "SETTLEMENT",
"eventDate": "2024-09-04T23:05:32Z"
},
"type": "SETTLEMENT",
"eventName": "SETTLEMENT_COMPLETED"
}

{
"variables": {
"payload": {
"accountId": "1003459920",
"id": "5263bd64-e0ff-4a09-bc80-7e58aa44cb73",
"merchantRefNum": "a19c49e0-336e-4db9-8e82-65d1e1c8106b",
"amount": 25469,
"currencyCode": "GBP",
"gatewayReconciliationId": "42071120",
"status": "COMPLETED",
"statusTime": "2024-09-11T18:04:47Z",
"paymentType": "BACS",
"txnTime": "2024-09-04T23:05:32Z",
"processorCode": "BACS"
},
"attemptNumber": "1",
"type": "SETTLEMENT",
"eventDate": "2024-09-04T23:05:32Z"
},
"type": "SETTLEMENT",
"eventName": "SETTLEMENT_CLEARED"
}

{
"variables": {
"payload": {
"accountId": "1003459920",
"id": "1c1129ab-e386-4c47-90f8-c5a8242c29a5",
"merchantRefNum": "a19c49e0-336e-4db9-8e82-65d1e1c8106b",
"amount": 25469,
"currencyCode": "GBP",
"gatewayReconciliationId": "42071120",
"status": "COMPLETED",
"paymentType": "BACS",
"txnTime": "2024-09-12T11:03:00Z",
"statusTime": "2024-09-12T11:03:00Z",
"processorCode": "BACS",
"paymentId": "5263bd64-e0ff-4a09-bc80-7e58aa44cb73",
"settlementId": "5263bd64-e0ff-4a09-bc80-7e58aa44cb73",
"bankResponse": {
"name": "Bacs",
"scheme": "BACS",
"message": "Refer to Payer",
"reasonCode": "0"
},
"reason": "No Funds"
},
"attemptNumber": "1",
"type": "PAYMENT_RETURN",
"eventDate": "2024-09-12T11:03:00Z"
},
"type": "PAYMENT_RETURN",
"eventName": "PAYMENT_RETURN_COMPLETED"
}

{
"variables" : {
"payload" : {
"accountId" : "1001770190",
"id" : "e8a80748-78e2-49de-b98f-d5c8aad297b6",
"merchantRefNum" : "373041564046027840",
"amount" : 500,
"currencyCode" : "GBP",
"gatewayReconciliationId" : "144755230",
"status" : "CANCELLED",
"statusTime" : "2024-09-20T12:33:23Z",
"paymentType" : "BACS",
"txnTime" : "2024-09-20T12:31:37Z",
"processorCode" : "BACS"
},
"attemptNumber" : "1",
"type" : "SETTLEMENT",
"eventDate" : "2024-09-20T12:31:37Z"
},
"subscriberId" : "1001770190",
"type" : "SETTLEMENT",
"eventName" : "SETTLEMENT_CANCELLED"
}

Testing Credentials

Account Number Sort Code
51120177 086081