# Notice of Change – Open Banking Improvements: CMA9 v4 API – Danske Bank EU

Issued: 11th February 2026 | TB-1633

![AIS/PIS](/assets/ais-pis.cae356edcd7b630129229253e3a0506c39dcffc674bb5faf5e999e6c348f1e84.25996077.png)

## What's Changing?

Danske Bank EU will migrate to **CMA9 v4**.

As part of this migration:

- Bank raw responses are changing
- PCC codes are changing
- Improved error messaging
- Changes to Balance Type Identifiers


All changes are available in the **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 EU 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 EU 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 integration to rely on raw bank statuses, you must decide how to handle the ISO 20022 mappings.

- [CMA9 v4 statuses repository](https://github.com/OpenBankingUK/External_Internal_CodeSets/blob/6ed21c444472d237b7d6d60f620bf3bfad8e1ddf/4Q2023_ExternalCodeSets_v2.json#L2750)
- [Status model diagram](https://openbankinguk.github.io/read-write-api-site3/v4.0/resources-and-data-models/pisp/domestic-payments.html#state-model)


#### How Token Handles v4 Statuses for APIv1

| Token Payment Status | ISO 20022 Raw Bank Payment Statuses |
|  --- | --- |
| PROCESSING | PDNG, RCVD, ACTC, PATC, ACCP, ACFC, ACSP, ACWC, ACWP |
| SUCCESS | ACSC, ACCC (FI & SEPA Instant only) |
| DECLINED | BLCK, RJCT |
| CANCELLED | CANC (domestic scheduled payments) |


#### How Token Handles v4 Statuses for APIv2

| Existing Payment Statuses – v3 | New Payment Statuses – v4 |
|  --- | --- |
| INITIATION_PROCESSING | PDNG, RCVD, ACTC, PATC, ACCP, ACFC, ACSP, ACWC, ACWP |
| INITIATION_COMPLETED | ACSC, ACCC (FI & SEPA Instant only) |
| INITIATION_DECLINED | BLCK, RJCT |
| INITIATION_DECLINED | CANC (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}`


### Handling of PCC Codes

[Token.io](http://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.

You can find more information about the new PCCs here:

- [v1 documentation](https://reference.token.io/tag/Requests-for-Payments-v1-or-AIS#operation/GatewayService.StoreTokenRequest!path=requestPayload/0/transferBody/instructions/metadata/providerTransferMetadata/0/cma9TransferMetadata/risk/paymentContextCode&t=request)
- [v2 documentation](https://reference.token.io/tag/Payments-v2#operation/InitiatePayment!path=initiation/risk/paymentContextCode&t=request)


#### Affected Endpoints

##### V1 API

- POST `/token-request`


##### V2 API

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


## Account Information Services

### Changes to Balance Type Identifiers

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


## What Action Do I Need to Take?

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

- Review your implementation for payment statuses, PCC handling, and balance type identifiers.
- Test your integration in the **Sandbox** environment.
- Speak with your implementation manager, or
- Contact us at [support@token.io](mailto:support@token.io)


## When Will This Change Apply to All Impacted Customers?

**18th February 2026**

## 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](mailto:support@token.io)