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
| Endpoint | Event | |
|
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
- 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
- BACS processing—The BACS scheme validates and processes the collection instruction according to scheme rules
- Pismo notified—Provider receives the scheme message and forwards it to Pismo
- Validation and transaction creation—Pismo validates the mandate status, account status, and product eligibility and creates an internal transaction record for processing
- Ledger posting—The customer's account is debited and ledger balances are updated
- 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
- Return initiated—Pismo generates the return and notifies Provider
- Original transaction matching—Pismo identifies the original direct debt, transaction reference, settlement references and customer account
- Return validation—Validations include duplicate return checks, reference validation, and account mapping verification.
- Return reversal—Where applicable, the original debit is reversed, balances adjusted, and ledger entries updated.
- Status updates—Transaction status updated.
- 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.
Updated about 13 hours ago