Account Holder Verification
Introduction
The Account Holder Verification (AHV) endpoint allows for the verification of an account holder's identity before initiating a payment.
This helps reduce fraud and prevents payments from being misdirected, ensuring that payments are either sent to the correct recipient or debited from the correct payer account before processing.
The AHV will support two verification types depending on the payment method:
- Confirmation of Payee (CoP): used for GBP payments via Faster Payments
- Verification of Payee (VoP): used for EUR payments via SEPA. Support of VoP requests via the API will be available in the beginning of October, 2025, and available for testing in the sandbox during September, 2025.
How it works
After you have submitted an AHV request, we will verify the provided details through either the VoP scheme or CoP service. You can get the result of the verification via the Webhook service, the AccountHolderVerification
event type, or by calling the AHV GET endpoint. The result will indicate whether the provided details generate a Match
, a Close Match
, No Match
, or anError
.
See the request example and response example for implementation details.
The response also includes a reason code that provides further details on the verification result.
Request Rules
When making a request, the following rules apply:
- Either
individualFullName
orcompanyName
must be provided - only one of the options should be provided - Either
bban
(for CoP) oriban
(for VoP) must be provided — not both
Reason Codes
The reason codes in the response payload provide additional context on the verification result, indicating the level of match or any issues identified during the verification process.
Reason Code | Code Description | Detailed Description | Account Name Passed Back |
---|---|---|---|
ANNM | Account Name does Not Match | The CoP Responder has performed the matching and confirms it is not a match | No |
MBAM | There may be a match on the Account Name | The CoP Responder has performed the matching and it is a close match | Yes |
BANM | Business account, name matches | The CoP Requester indicated that the Payer intends to pay a personal account, but the actual account is a business account and the name matches | No |
PANM | Personal account, name matches | The CoP Requester indicated that the Payer intends to pay a business account, but the actual account is a personal account and the name matches | No |
BAMM | Business account, name may be a match | The CoP Requester indicated that the Payer intends to pay a personal account, but the actual account is a business account and the name is a close match | Yes |
PAMM | Personal account, name may be a match | The CoP Requester indicated that the Payer intends to pay a business account, but the actual account is a personal account and the name is a close match | Yes |
AC01 | Incorrect Account Number | Account does not exist in the CoP Responder's books | No |
IVCR | Invalid Customer Reference | The CoP Responder was unable to locate the customer account based on the secondary reference data contained within the SecondaryIdentification field | No |
ACNS | Account type Not Supported for CoP | Account not supported for CoP by the CoP Responder | No |
OPTO | Opted out of CoP Scheme | Payee has been opted out of the CoP service by the CoP Responder | No |
CASS | Account has been switched | The Payee's account has been switched using the Current Account Switch Service (CASS) | No |
SCNS | Sort code not supported at endpoint | The CoP Responder has incorrectly received a CoP request for a sort code that does not belong to them | No |
Error | 400 Bad request | Request has malformed, missing or non-compliant JSON body or URL parameters | No |
Error | 401 Unauthorised | Authorization header missing or invalid token | No |
Error | 403 Forbidden | Token has incorrect scope, or a security policy was violated, used when a CoP Requester tries to access a resource that it does not have permission to access. | No |
Error | 404 Not Found | CoP API is not supported by the Payee ASPSP | No |
Error | 405 Method not allowed | The CoP Requester tried to access the resource with a method that is not supported | No |
Error | 406 Not acceptable | The request contained an accept header that requested a content-type other than application/JSON and a character set other than UTF-8 | No |
Error | 429 Too Many Requests | The CoP Responder should include a Retry-After header in the response indicating how long the CoP Requester must wait before retrying the operation | No |
Error | 500 Internal server error | Something went wrong on the API gateway or micro-service | No |
Error | 503 Service Unavailable | The CoP Responder’s service is down for maintenance. The CoP Responder should include a Retry-After header in the response indicating how long the CoP Requester must wait before retrying the operation | No |
Updated 2 days ago