Issued: 06th January 2026 | TB-1631

Santander Bank UK will migrate to CMA9 v4.
As part of this migration:
- Santander will introduce dedicated endpoints for:
- Retail (Personal)
- Business
- Corporate
- All existing v3 customer consents will become invalid after the migration to CMA9 v4.
Changes associated with CMA9 v4:
- Bank raw responses are changing
- PCC codes are changing
- Improved error messaging
- Changes to Balance Type Identifiers
You may be impacted if:
- You do not implement changes to account for the new bank IDs for Santander Business and Corporate branches.
- You are initiating payments with banks using the UK Open Banking API standard, and your PIS integration relies on raw bank statuses.
- You depend on specific bank error messages in your processes.
You are not impacted if:
- You do not rely on raw bank responses.
You may be impacted if:
- You are making AIS calls to banks using the UK Open Banking API standard, and you validate balance types in your AIS integration.
You are not impacted if:
- You do not validate balance types in your AIS integration.
Santander will introduce dedicated brands and endpoints for Personal, Business, and Corporate customers.
Three bank endpoints will be available:
- Santander Personal —
ob-santander - Santander Business —
ob-santander-bus - Santander Corporate —
ob-santander-corp
Note:
Due to the migration to new dedicated brands, all customer v3 consents will be invalidated.
The bankPaymentStatus field will now return ISO 20022 standard payment status codes.
❗ Note: Token’s own status codes will remain unchanged.
If you have designed your implementation for raw bank statuses, you must decide how to handle the ISO 20022 version.
- V4 status repository and diagram
| Token Payment Status | ISO 20022 Raw Bank Payment Statuses |
|---|---|
| PROCESSING | PDNG, RCVD, ACTC, PATC, ACCP, ACFC, ACSP, ACWC, ACWP, ACSC |
| SUCCESS | ACCC |
| DECLINED | BLCK, RJCT |
| CANCELLED | CANC (domestic scheduled payments) |
| Existing Payment Statuses – v3 | New Payment Statuses – v4 |
|---|---|
| INITIATION_PROCESSING | PDNG, RCVD, ACTC, PATC, ACCP, ACFC, ACSP, ACWC, ACWP, ACSC |
| INITIATION_COMPLETED | ACCC |
| INITIATION_DECLINED | BLCK, RJCT |
| INITIATION_DECLINED | CANC (domestic scheduled payments) |
Bank error messages will be updated to match the CMA9 v4 specification for improved clarity and consistency.
providerDetails.status- POST
/transfers - GET
/transfers/{transferId} - GET
/transfers
- POST
bankPaymentStatus- GET
/v2/payments - GET
/v2/payments/{paymentId}
- GET
bankVrpConsentStatus- POST
/vrp-consents - GET
/vrp-consents - GET
/vrp-consents/{id} - DELETE
/vrp-consents/{id}
- POST
bankVrpStatus- GET
/vrp-consents/{id}/payments - POST
/vrps - GET
/vrps - GET
/vrps/{id}
- GET
Token.io currently populates the PCC field with a default value when none is provided.
With CMA9 v4, this will no longer occur.
If you would like to include a PCC, you must provide one as part of your request.
- POST
/token-request
- POST
/v2/payments
❗ Note:
If you do not send a PCC or send an incorrect PCC, your request will not fail. Token will ignore invalid PCC values and the field will be empty.
While PCC is not mandatory in CMA9 v4, it is recommended, as the Payment Context Code is a key transaction indicator and may be validated by the receiving bank.
| Existing Balance Type Identifier – v3 | New Balance Type Identifier – v4 |
|---|---|
| ClosingAvailable | CLAV |
| ClosingBooked | CLBD |
| ForwardAvailable | FWAV |
| Information | INFO |
| InterimAvailable | ITAV |
| InterimBooked | ITBD |
| OpeningAvailable | OPAV |
| OpeningBooked | OPBD |
| PreviouslyClosedBooked | PRCD |
| Expected | XPCD |
If you are impacted, to ensure a smooth transition we strongly recommend that you:
- Speak with your implementation manager, or
- Contact us at support@token.io
30th March 2026
For any questions, concerns, or to discuss your integration, please speak with your implementation manager or contact:
support@token.io