Skip to content

Open banking standards testing requirements

Open banking standards define the APIs through which banks give licensed third parties access to payment accounts: the UK Open Banking Standard and Berlin Group NextGenPSD2, built on PSD2 and its RTS. Open banking testing verifies consent states, certificates, access limits, idempotency, and interface availability. FintechAssuranceLabs delivers API conformance test results and a consent flow test suite.

Jurisdiction
EU and EEA (PSD2 and Delegated Regulation (EU) 2018/389, Berlin Group NextGenPSD2); UK (Open Banking Standard, CMA Retail Banking Market Investigation Order 2017)

Engineering interpretation of testing requirements, not compliance advice.

What open banking standards require

The EU legal layer. Directive (EU) 2015/2366 (PSD2) Article 66(3) forbids a payment initiation provider (payment initiation and account information providers are third-party providers, TPPs) to store sensitive payment data or to modify the amount, the payee, or any other feature of the transaction. Article 67(2) limits an account information provider to designated payment accounts and forbids a request for sensitive payment data. Chapter V of Delegated Regulation (EU) 2018/389 (checked on 2026-09-16) sets the interface rules:

  • Article 30. The bank documents the interface, gives at least 3 months' notice of a specification change (Article 30(4)), and provides a testing facility for TPPs (Article 30(5)).
  • Article 32. A dedicated interface offers the same availability and performance as the customer interface, and the bank publishes quarterly statistics for both.
  • Article 33. Unplanned unavailability may be presumed when five consecutive requests get no reply within 30 seconds. Exemption from the fallback mechanism requires, among other conditions, at least 3 months of wide use (Article 33(6)), with criteria in EBA/GL/2018/07 (checked on 2026-09-16).
  • Article 34. TPPs identify themselves with qualified eIDAS certificates for website authentication or electronic seals, which carry the PSD2 role and the name of the competent authority.
  • Article 36. The bank gives an account information provider the same data the customer sees, and answers funds confirmation in a yes or no format. Errors return a notification message with the reason (Article 36(2)). Without the customer present, an account information provider accesses data no more than four times in 24 hours unless the bank and the provider agree a higher frequency (Article 36(5)(b)).

The UK Open Banking Standard. Open Banking Limited maintains the Open Banking Standard (checked on 2026-09-16): Read/Write API specification version 4.0.1, the security profile, and the Customer Experience and Operational Guidelines. Version 4 of the standard adopted the final FAPI 1 Advanced security profile of the OpenID Foundation. In the Read/Write Data API profile, a bank must treat a POST with the same x-idempotency-key from the same TPP within 24 hours as idempotent, and the key is at most 40 characters. Token expiry should not change the state of a long-lived consent. Pagination has no transaction isolation, so the same transaction can appear on more than one page.

Berlin Group NextGenPSD2. The Berlin Group publishes the NextGenPSD2 Access to Account Framework (checked on 2026-09-16). The Implementation Guidelines are the normative text. The OpenAPI file on the Berlin Group GitLab is version 1.3.16, dated 27 November 2025. It defines redirect, OAuth, decoupled, and embedded SCA approaches and the consent status values received, valid, revokedByPsu, expired, and terminatedByTpp, among others. frequencyPerDay is at most 4 unless agreed bilaterally, and HTTP 429 on account information calls carries the code ACCESS_EXCEEDED.

In the US, the CFPB announced on 8 January 2025 its recognition of Financial Data Exchange (FDX) as a standard-setting body; the rule's status is on the CFPB Section 1033 page. Authentication rules for account access are on the PSD2 SCA page.

What open banking API testing verifies

RequirementWhat we testEvidence produced
RTS Article 34: TPP identification with a qualified eIDAS certificate that carries the PSD2 roleAccount information calls with a valid certificate, an expired certificate, and a certificate without the account information roleRequest and response log per certificate case
RTS Article 36(5)(b): at most four account information accesses in 24 hours without the customer presentA fifth background account information request within 24 hours, and a request with the customer present after the limitAccess counter log with the HTTP status of each request
PSD2 Article 67(2)(d): account information access only to designated payment accountsBalance and transaction requests for an account ID outside the consented account listAccess decision table per account ID and permission
PSD2 Article 66(3)(h): the payment initiation provider does not modify the amount or the payeeAmount, currency, and creditor account in the payment consent compared with the submitted payment orderField comparison log from payment consent to payment order
RTS Article 36(1)(c): funds confirmation answers yes or noFunds confirmation requests below, equal to, and above the available balanceFunds confirmation response log per requested amount
RTS Article 33(1) and 33(3): five consecutive requests without a reply within 30 seconds presume unavailability, and the problem is reportedA stub bank interface that delays five consecutive responses beyond 30 seconds, and the TPP detection and incident triggerTimeout log with request timestamps and the incident trigger record
RTS Article 32(1): dedicated interface availability and performance equal to the customer interfaceResponse time and error rate of the dedicated interface and the customer interface under the same loadLatency and availability comparison report per endpoint
UK Read/Write Data API profile v4.0.1: x-idempotency-key is honoured for 24 hours and is at most 40 charactersA payment resubmitted with the same key, a 41-character key, and a changed body under the same keyResource ID comparison log per resubmission
UK Read/Write Data API profile v4.0.1: token expiry should not change the consent statusConsent status read before and after access token and refresh token expiry, and after a DELETEConsent status transition log with timestamps
Berlin Group NextGenPSD2: frequencyPerDay at most 4 and consent status after DELETEConsent creation with frequencyPerDay 5, then a GET on the consent after a DELETE by the TPPConsent object snapshot per step

The consent and token refresh guide lists requests and timings for the consent rows.

Artifacts regulators and bank partners request

  • The interface technical documentation and the public summary on the bank's website (RTS Article 30(3)).
  • Change notices sent to TPPs at least 3 months before a specification change, and the record of emergency changes (Article 30(4)).
  • The testing facility description for TPP connection and functional testing (Article 30(5)).
  • Key performance indicators and service level targets for the dedicated interface, with the quarterly availability and performance statistics (Articles 32(2) and 32(4)).
  • The contingency strategy and communication plan (Articles 33(1) and 33(2)).
  • For a fallback exemption: stress test results for the dedicated interface (Article 32(2)), evidence of wide use for at least 3 months, and the problem resolution record (Article 33(6) and EBA/GL/2018/07).
  • In the UK, the self-attestation answers of the Operational Guidelines Checklist from Open Banking Limited.
  • For a TPP that used the fallback interface: logs of the data accessed, provided to the competent authority on request (Article 33(5)(c)).
  • API conformance test results against the implemented specification version, such as UK Read/Write API v4.0.1 or NextGenPSD2 1.3.16.

Common findings in open banking API testing

  • Background refresh above the access limit. An aggregator refreshes every connected account every 4 hours without the customer present, which makes six unattended requests a day. The defect breaks RTS Article 36(5)(b), and on a NextGenPSD2 bank the fifth call can return ACCESS_EXCEEDED, which the connector reports as a broken connection.
  • Consent expired on token expiry. The bank sets a consent to EXPD when the refresh token expires, so customers re-authenticate before the consent end date. The defect departs from the Read/Write Data API profile v4.0.1 guidance that token expiry should not change the consent status.
  • Duplicate payment on retry. A TPP retries a payment after a gateway timeout with the same x-idempotency-key, and the bank creates a second payment because it keeps keys for one hour. The defect breaks the 24-hour idempotency window of the Read/Write Data API profile v4.0.1.
  • Duplicate transactions from pagination. A TPP joins transaction pages without de-duplication and counts one card payment twice in a cash flow model. The defect ignores the Read/Write Data API profile v4.0.1 pagination rule that one transaction can appear on more than one page.
  • Consent kept after revocation. A customer revokes access in the TPP app, and the TPP never sends DELETE for the account access consent. The defect breaks the Account Access Consents rule that the TPP deletes the resource as soon as practically possible.
  • Certificate role not checked. The bank accepts a certificate without the payment initiation role on payment endpoints, which breaks RTS Articles 30(1)(a) and 34(3)(a).
  • Error without a reason. The bank returns HTTP 500 with an empty body for a consent with an unsupported permission, which breaks the notification message rule in RTS Article 36(2).

How we cover open banking standards

Open banking API testing produces the consent and reauthorisation flow test suite, the bank connector coverage report, data normalisation accuracy checks, and API conformance test results against the UK Read/Write API or the NextGenPSD2 version a bank implements. A stub bank interface covers timeout and error cases that a bank sandbox may not reproduce. Test data is synthetic; any real payment account data stays under our security controls.

We test open banking flows for open banking and data aggregation providers and for neobank, lending, accounting, and business banking products that read account information or initiate payments. Performance testing measures the Article 32 latency and availability comparison under load. Changes that the EU payments package brings to access interfaces are tracked on the PSD3 and PSR page.

Questions

What is open banking?

Open banking is the sharing of payment account information and payment initiation between a bank and a licensed third party through an API, with the customer's explicit consent. In the EU, PSD2 Articles 66 and 67 give customers the right to use payment initiation and account information providers. In the UK, the nine largest banks implement the Open Banking Standard under the CMA Retail Banking Market Investigation Order 2017.

How does open banking work?

An open banking connection starts when a customer gives consent to a third-party provider. The provider creates a consent resource at the bank and, in the EU, identifies itself with a qualified eIDAS certificate. The customer authenticates at the bank in a redirect, decoupled, or embedded flow. The bank issues tokens, and the provider calls account information, payment initiation, or funds confirmation endpoints within the consented scope.

Who regulates open banking?

In the EU, national competent authorities authorise account information and payment initiation providers under PSD2 and supervise bank access interfaces under Delegated Regulation (EU) 2018/389. In the UK, the FCA authorises or registers these providers under the Payment Services Regulations 2017. Standards bodies such as Open Banking Limited, the Berlin Group, and Financial Data Exchange (FDX) publish API specifications and do not act as regulators.

Scope your testing

Send FintechAssuranceLabs your product, segment, money flows, and the standards that need evidence, and get a proposed test scope with its deliverables.

Scope your testing