Simulating Account Holder Verification
The sandbox environment for Account Holder Verification (AHV) allows you to test your integration before going live, including different match levels, name variations, and fallback conditions — without involving any real accounts or providers.
This simulator supports both:
- Confirmation of Payee (CoP): for GBP payments via Faster Payments
- Verification of Payee (VoP): for EUR payments via SEPA (SCT, SCT Inst, SDD)
Supported Features
In the sandbox, you can simulate:
- 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 CoP vs. VoP is Determined from Payload
There is no explicit field in the request to select CoP or VoP. Instead, the verification type is automatically inferred from the contents of the request:
Field Present in verification Object | Interpreted As | Use Case |
---|---|---|
bban (e.g. sortCode, accountNumber) | CoP | GBP – Faster Payments |
iban | VoP | EUR – SEPA SCT, SDD |
Note: You must provide either bban or iban, but not both. If both fields are present, the API will return an 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, and description.
Predefined CoP Test Cases
Test Case | individualFullName | CompanyName | Country | BranchCode | AccountNumber | MatchLevel | AccountHolder | ReasonCode | ReasonId | Description | DetailedDescription |
---|---|---|---|---|---|---|---|---|---|---|---|
Match - Personal Account | Samantha Smythe | GB | 999996 | 00000001 | Match | ||||||
Match - Business Account | Bridgford Gardening | GB | 999996 | 00000011 | Match | ||||||
Close Match - Wrong Name | Sam Smythe | GB | 999996 | 00000001 | Close match | MISS SAMANTHA SMYTHE | MBAM | 2 | 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 | GB | 999996 | 00000001 | No match | PANM | 4 | 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 | GB | 999996 | 00000011 | No match | BANM | 3 | 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 | GB | 999996 | 00000001 | No match | ANNM | 1 | 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 | GB | 999996 | 98989898 | No match | AC01 | 7 | Incorrect Account Number | Account does not exist in the CoP Responder's books | ||
No Match Opted Out | Johnson Logistics | GB | 999996 | 00000048 | No match | OPTO | 10 | 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 | GB | 999996 | 00000062 | No match | ACNS | 9 | Account type Not Supported for CoP | Account not supported for CoP by the CoP Responder | ||
Error | any non ASCII name | GB | any | any | Error | ValidationError | 400 Bad request | Search criteria is invalid.\nName: 'Name' is empty or has invalid data. | |||
Catch-All – Any other input | any | any | GB | any | any | No match | ANNM | 1 | Account Name does Not Match | Returned when input doesn't match predefined sandbox cases |
Predefined VoP Test Cases
Use the following IBAN-based inputs to simulate VoP responses.
Test Case | IndividualFullName | CompanyName | IBAN | MatchLevel | AccountHolder | ReasonCode | ReasonId | Description | DetailedDescription |
---|---|---|---|---|---|---|---|---|---|
Match – Exact | Maria Silva | PT50000100018763312236976 | Match | ||||||
Match – Close | Marya Silva | PT50000100018763312236976 | Close match | Maria Silva | |||||
Match - Exact | Some Company | NL16RABO7600386364 | Match | ||||||
Verification Not Possible | Maria Unknown | PT50000100018763312236976 | Error | NOAP | Verification check not possible. | Verification Check Not Possible or Validation Check is not applicable. | |||
Error – Internal Server Error | Unknown Unknown | PT50000100018763312236976 | Error | Error | Technical Error | Unexpected technical error. An exception occurs during code execution and the request cannot be further processed. | |||
No match Catch-All – Unknown Input | Any Name | Any Name | Any SEPA IBAN | No match |
Catch-All Fallback for Unknown Inputs
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 |
Unrecognized sort code, account number, or name |
|
Returned when sort code + account number combination is not predefined |
VoP |
Unrecognized IBAN or name |
|
Returned when IBAN is not predefined |
Notes
- The sandbox is stateless and returns predefined responses only
- No real data is accessed or verified
- CoP and VoP are both supported on the same AHV endpoint, selection is based on input fields
Updated about 18 hours ago