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 the verification type is determined from the payload
There is no explicit field in the request to select CoP UK, VoP EU or CoP AU. Instead, the verification type is automatically inferred from the contents of the request:
Verification service applied | Country Code |
|
| Notes |
|---|---|---|---|---|
CoP (UK) |
| GB Account Number | Sort Code | For GBP payments via Faster Payments |
VoP (EU) | SEPA country codes (e.g. | IBAN | Optional BIC / empty | For EUR payments via SEPA Credit Transfer, SEPA Instant, SEPA Direct Debit. Note: A GB-IBAN is also always treated as VoP (not CoP). |
CoP (AU) |
| AU Account Number | BSB | For AUD via Australian scheme. Simulator uses BSB + accountNumber. |
Important notes:
- IBANs will always be checked using the VoP service, even if they are GB IBANs
- To trigger a request via CoP UK, you must specify both an account number and sort code
- Invalid or mixed combinations will result in a validation error
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 |
Predefined CoP - AU Test Cases
Note on AU response accountHolder names:
- **Match / Close match (Personal & Business) **→ returns accountHolder as one string.
- Single holder: "Michael Thomas"
- Joint account (High match score name + and others): "John Smith and others"
- Multiple high match score names (comma-separated + and others): "John Smith, John Smith1 and others"
- No match (Personal) → no accountHolder name returned.
- No match (Business) → returns **accountHolder **name
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 | accountHolder | reasonCode | description | detailedDescription |
|---|---|---|---|---|---|---|---|---|---|
| Match - Personal Account - Single | Michael Thomas | 572507 | 987456301 | AU | Match | Michael Thomas | |||
| Match - Personal Account - Multiple High Match Score Name | John Smith12 | 772000 | 640399309 | AU | Match | John Smith1, John Smith2 and others | |||
| Match - Business Account - Single | Lobster Limited | 995021 | 2338015 | AU | Match | Lobster Limited | |||
| Close Match - Personal Account - Single | Michal Tomas | 572507 | 987456301 | AU | Close match | Michael Thomas | |||
| No Match - Business Account | any business name **except ** Lobster Limited | 995021 | 2338015 | AU | No match | Lobster Limited | |||
| 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 | COP.API.9007 | 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 about 11 hours ago
