Skip to content
Last updated

Notice of Change – Open Banking Improvements: CMA9 v4 API – Nationwide

Issued: TODO: publication date
Tech Bulletin ID: TBD

AIS/PIS


What's Changing?

Nationwide will migrate to CMA9 v4.

Changes associated with CMA9 v4:

PIS:

  • Bank raw responses are changing
  • PCC codes are changing
  • Improved error messaging

AIS:

  • Changes to Balance Type Identifiers

All changes are available on Sandbox for testing.


Does This Change Affect You?

Payment Initiation Services (PIS)

You may be impacted if:

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

Account Information Services (AIS)

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.

Changes in Detail

Payment Initiation Services

Standardised Payment Statuses

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.

How Token handles v4 statuses for APIv1:

Token Payment StatusISO 20022 Raw Bank Payment Statuses
PROCESSINGPDNG, RCVD, ACTC, PATC, ACCP, ACFC, ACSP, ACWC, ACWP
SUCCESSACCC, ACSC
DECLINEDBLCK, RJCT
CANCELLEDCANC (domestic scheduled payments)

How Token handles v4 statuses for APIv2:

Existing Payment Statuses – v3New Payment Statuses – v4
INITIATION_PROCESSINGPDNG, RCVD, ACTC, PATC, ACCP, ACFC, ACSP, ACWC, ACWP
INITIATION_COMPLETEDACCC, ACSC
INITIATION_DECLINEDBLCK, RJCT
INITIATION_DECLINEDCANC (domestic scheduled payments)

Consistent Error Messaging

Bank error messages will be updated to match the CMA9 v4 specification for improved clarity and consistency.

Affected Endpoints:

V1 API

  • providerDetails.status
    • POST /transfers
    • GET /transfers/{transferId}
    • GET /transfers

V2 API

  • bankPaymentStatus
    • GET /v2/payments
    • GET /v2/payments/{paymentId}

VRP API

  • bankVrpConsentStatus

    • POST /vrp-consents
    • GET /vrp-consents
    • GET /vrp-consents/{id}
    • DELETE /vrp-consents/{id}
  • bankVrpStatus

    • GET /vrp-consents/{id}/payments
    • POST /vrps
    • GET /vrps
    • GET /vrps/{id}

Handling of PCC Codes

Token.io currently populates the PCC field with a default value when none is provided. However, with v4, this will no longer occur.

If you would like to include a PCC, you must provide one as part of your request.
More information on PCCs can be found in our documentation for v1 and v2.

Affected Endpoints:

V1 API

  • POST /token-request

V2 API

  • POST /v2/payments

Note:
If you decide not to send a PCC or send an incorrect PCC, your request will not fail. Token will ignore any incorrect PCC, and the field will be empty.
While PCC is not mandatory currently or in CMA9 v4, it is recommended to include it, as the Payment Context Code is a key transaction indicator that may be validated by the receiving bank.


Account Information Services

Changes to Balance Type Identifiers
Existing Balance Type Identifier – v3New Balance Type Identifier – v4
ClosingAvailableCLAV
ClosingBookedCLBD
ForwardAvailableFWAV
InformationINFO
InterimAvailableITAV
InterimBookedITBD
OpeningAvailableOPAV
OpeningBookedOPBD
PreviouslyClosedBookedPRCD
ExpectedXPCD

What Action Do I Need to Take?

If you are impacted, to ensure a smooth transition we strongly recommend that you:


When Will This Change Apply to All Impacted Customers?

November 12, 2025


Where Can I Get Further Information?

For any questions, concerns, or to discuss your integration, please speak with your implementation manager or contact:
support@token.io