Simulating Account Holder Verification
This page describes the behaviour of version 2 of the endpoint. For the article for version 1, see Simulating Account Holder Verification (v1).
The sandbox environment supports Account Holder Verification (AHV) workflows, allowing you to test your integration before going live, including different match levels, name variations, and fallback conditions, all without involving any real accounts or providers.
The simulator supports:
- Confirmation of Payee (CoP - UK): for GBP payments via Faster Payments
- Verification of Payee (VoP - EU): for EUR payments via SEPA (SEPA Credit Tranfer, SEPA Instant, SEPA Direct Debit)
- Confirmation of Payee (CoP - AU): for AUD payments via the Australian scheme (BSB + Account Number)
Test scenarios in the sandbox
In the sandbox, you can simulate and test how your integration handles:
- Exact name matches
- Close matches (e.g. spelling differences or mismatched account types)
- No matches (e.g. incorrect names, invalid accounts, opt-outs)
- Fallback behavior for unknown (non-predefined) inputs
- Error responses (e.g. technical error)
All responses follow the same API format as in production — enabling accurate and efficient testing.
How to Simulate Specific Match Scenarios
To trigger a specific match result, submit one of the predefined input combinations as listed below. The sandbox will respond with the corresponding matchLevel, reasonCode, description and detailedDescription.
Predefined CoP - UK Test Cases
| Test Case | verificationName | verificationType | financialInstitution | account | country | matchLevel | accountHolder | reasonCode | description | detailedDescription |
|---|---|---|---|---|---|---|---|---|---|---|
| Match - Personal Account | Samantha Smythe | Personal | 999996 | 00000001 | GB | Match | ||||
| Match - Business Account | Bridgford Gardening | Business | 999996 | 00000011 | GB | Match | ||||
| Close Match - Wrong Name | Sam Smythe | Personal | 999996 | 00000001 | GB | Close match | MISS SAMANTHA SMYTHE | MBAM | There may be a match on the Account Name | The CoP Responder has performed the matching and it is a close match |
| No Match - Wrong Type P2B | Samantha Smythe | Business | 999996 | 00000001 | GB | No match | PANM | Personal account, name matches | The CoP Requester indicated a business account, but it is actually a personal account and the name matches | |
| No Match - Wrong Type B2P | Bridgford Gardening | Personal | 999996 | 00000011 | GB | No match | BANM | Business account, name matches | The CoP Requester indicated a personal account, but it is actually a business account and the name matches | |
| No Match - Wrong Name | David Smythe | Personal | 999996 | 00000001 | GB | No match | ANNM | Account Name does Not Match | The CoP Responder has performed the matching and confirms it is not a match | |
| No Match - Invalid Account | Samantha Smythe | Personal | 999996 | 98989898 | GB | No match | AC01 | Incorrect Account Number | Account does not exist in the CoP Responder’s books | |
| No Match - Opted Out | Johnson Logistics | Business | 999996 | 00000048 | GB | No match | OPTO | Opted out of CoP Scheme | Payee has been opted out of the CoP service by the CoP Responder | |
| No Match -Account Not Supp. | Not Supported | Personal | 999996 | 00000062 | GB | No match | ACNS | Account type Not Supported for CoP | Account not supported for CoP by the CoP Responder | |
| Error | Samantha Smythe | Personal | 000000 | 00000001 | GB | Error | Error | 400 Bad request | Invalid SortCode MI Reference: 474 | |
| No match Catch-All – Unknown Input | any | any | any | any | GB | No match | ANNM | Account Name does Not Match | Returned when input doesn't match predefined sandbox cases |
Predefined VoP - EU Test Cases
Use the following IBAN-based inputs to simulate VoP responses.
| Test Case | verificationName | account | matchLevel | accountHolder | reasonCode | description | detailedDescription |
|---|---|---|---|---|---|---|---|
| Match – Personal Account | Maria Silva | PT50000100018763312236976 | Match | ||||
| Close Match – Personal Account | Marya Silva | PT50000100018763312236976 | Close match | Maria Silva | |||
| Match - Business Account | Some Company | NL16RABO7600386364 | Match | ||||
| Error - External | Maria Unknown | PT50000100018763312236976 | Error | NOAP | External_Error | Verification Check Not Possible or Validation Check is not applicable. | |
| Error – Internal | Unknown Unknown | PT50000100018763312236976 | Error | Error | Internal_Error | An internal error occurred. Please contact support. | |
| No match Catch-All – Unknown Input | any | any | No match |
Additional Predefined VoP – EU Test Cases (DE IBAN Pool, unique per scenario)
Some clients require unique IBANs per test case for end-to-end testing with external schemes/platforms.
To support this, we provide an additional set of predefined VoP test cases with unique IBANs per scenario.
Notes
- This is additional — the original VoP test cases above remain unchanged.
- Each scenario uses a unique DE IBAN to support E2E testing.
| Test Case | verificationName | account | matchLevel | accountHolder | reasonCode | description | detailedDescription |
|---|---|---|---|---|---|---|---|
| Match – Personal Account (DE) | Max Mustermann | DE74100000002234400001 | Match | ||||
| Close Match – Personal (DE) | Max Musterman | DE47100000002234400002 | Close match | Max Mustermann | |||
| Match – Business Account (DE) | Beispiel GmbH | DE20100000002234400003 | Match | ||||
| Error – Verification Not Possible | Mustermann Unknown | DE90100000002234400004 | Error | NOAP | External_Error | Verification Check Not Possible or Validation Check is not applicable. | |
| Error – Internal Server Error | Unknown Unknown | DE63100000002234400005 | Error | Error | Internal_Error | An internal error occurred. Please contact support. |
Predefined CoP - AU Test Cases
Note on AU responses:
Due to updated regulatory requirements, no accountHolder information is returned in CoP AU responses, regardless of match level or account type.
The response only indicates the matchLevel and, where applicable, a reasonCode.
ReasonCode:
- Match / Close match / No match → empty/null.
- Error → scheme external/scheme internal codes (e.g., COP.API.9011, COP.API.9021)
| Test Case | verificationName | financialInstitution | account | country | matchLevel | reasonCode | description | detailedDescription |
|---|---|---|---|---|---|---|---|---|
| Match - Personal Account | Michael Thomas | 572507 | 987456301 | AU | Match | |||
| Match - Business Account | Lobster Limited | 995021 | 2338015 | AU | Match | |||
| Close Match - Personal Account | Michal Tomas | 572507 | 987456301 | AU | Close match | |||
| No Match - Business Account | any business name except Lobster Limited | 995021 | 2338015 | AU | No match | |||
| Error - External - No Record | Homer Simpson | 995021 | 1000003 | AU | Error | COP.API.9011 | External_Error | The referenced record cannot be found. |
| Error - External - Account Closed | Stan Smith | 995021 | 123802300 | AU | Error | COP.API.9021 | External_Error | Account closed. |
| Error - Internal | Dean Huijsen | 995021 | 123802401 | AU | Error | FIS.API.9503 | Internal_Error | An internal error occurred. Please contact support. |
| No Match Catch-All – Unknown Input | any | any | any | AU | No match |
Catch-All Fallback for Unknown Inputs (all schemes)
If your input does not match any predefined sandbox test case, the system returns a default "No Match" response — allowing you to test how your application handles unrecognized or unknown accounts.
Type | Trigger | Fallback Response | Notes |
|---|---|---|---|
CoP (UK) | Unrecognized sort code, account number, or name | matchLevel: No match reasonCode: ANNM description: Account Name does Not Match detailedDescription: The CoP Responder has performed the matching and confirms it is not a match | Returned when sort code + account number combination is not predefined |
VoP (EU) | Unrecognized IBAN or name | matchLevel: No match | Returned when IBAN is not predefined |
CoP (AU) | Unrecognized BSB + account number or name | matchLevel: No match | Returned when BSB + account number is not predefined (personal accounts). |
Notes
- The sandbox is stateless and returns predefined responses only
- No real data is accessed or verified
- CoP UK, VoP EU, and CoP AU are supported on the same AHV endpoint; selection is based on input fields (see table above).
Updated 6 days ago
