BACS direct debit and mandate processing

Pismo is integrating the UK BACS payment scheme through a provider, such as Form3, for clients. The provider allows BACS scheme connectivity, messaging, and notifications. Pismo's integration includes mandate management and inbound direct debit processing. A mandate in BACS is a formal authorization—officially called a Direct Debit Instruction (DDI)—that a customer gives to a business to collect money directly from their bank account.

Key details about BACS mandates

  • Permission - A business cannot take any money until the customer agrees to and signs this mandate.
  • Flexibility - It allows the business to collect varying amounts on regular dates, making it ideal for subscriptions or utility bills.
  • Information needed - The mandate includes the customer's name, bank name, account number, and branch sort code. It also lists the business's unique Service User Number (SUN).
  • Simplified integration - Simplified integration to BACS through Pismo

Enabling Pismo account for mandates

During account creation , or updating , pass the text - bacsMandataEnabled=true in themetadata parameter (creation) or thecustom_fields parameter (updating). Otherwise, the default is false

For more information, refer to Getting started - create and register Pismo accounts

Mandate management

Pismo provides the following API endpoints for mandate management. The events they generate, if any, are noted.

Mandate flow—Mandate received/created > validation > active > amend or suspension > cancel/expired

EndpointEvent
Create BACS mandate
POST /v1/payments/bacs/directdebit/paper-mandates
BACS mandate status change
List BACS direct debit mandates
GET /v1/payments/bacs/directdebit/mandates
None
List BACS direct debit transactions
GET /v1/payments/bacs/directdebit
None
Amend BACS mandate
PATCH /v1/payments/bacs/directdebit/mandates/{id}
BACS mandate status change
Cancel BACS mandate
POST /v1/payments/bacs/directdebit/mandates/{id}/cancel
BACS mandate status change

Inbound direct debit processing

In this paying-bank flow, the provider, such as Form3, sends an inbound direct debit message to Pismo. Pismo maps the message, identifies the account and mandate, performs validations, posts the debit where valid, records lifecycle information and notifies client.

End-to-end flow— Service user > BACS > Provider > Pismo validation and posting > Client consumption

Detailed processing

  1. Direct debit submitted—An external service user, such as a utility company or a insurance provider submits a direct debit collection through the BACS scheme
  2. BACS processing—The BACS scheme validates and processes the collection instruction according to scheme rules
  3. Pismo notified—Provider receives the scheme message and forwards it to Pismo
  4. Validation and transaction creation—Pismo validates the mandate status, account status, and product eligibility and creates an internal transaction record for processing
  5. Ledger posting—The customer's account is debited and ledger balances are updated
  6. Status update and client notification—The payment status at Pismo is updated and client is notified of final transaction outcome

The customer account is successfully debited and the transaction is available for reconciliation, reporting, customer viewing and audit review.

Direct debit returns

Pismo supports return processing when a direct debit collection cannot be completed or requires reversal after submission.

Returns can happen under the following conditions:

  • Account closed
  • Account transferred
  • Insufficient funds
  • Invalid account information
  • Mandate issues

Inbound flow —BACS scheme > Provider > Pismo > Client

Outbound flow—Pismo > Provide > BACS scheme > Events to Client

Detailed return processing

  1. Return initiated—Pismo generates the return and notifies Provider
  2. Original transaction matching—Pismo identifies the original direct debt, transaction reference, settlement references and customer account
  3. Return validation—Validations include duplicate return checks, reference validation, and account mapping verification.
  4. Return reversal—Where applicable, the original debit is reversed, balances adjusted, and ledger entries updated.
  5. Status updates—Transaction status updated.
  6. Client notification—Pismo generates an event indicating the return processed, reason code, original payment reference, and updated status.

The Provider can inform customers, update reporting, perform reconciliation and manage operational exceptions.







Did this page help you?