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:

  1. Exact name matches
  2. Close matches (e.g. spelling differences or mismatched account types)
  3. No matches (e.g. incorrect names, invalid accounts, opt-outs)
  4. Fallback behavior for unknown (non-predefined) inputs
  5. 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

account Format

financialInstitution Format

Notes

CoP (UK)

GB

GB Account Number

Sort Code

For GBP payments via Faster Payments

VoP (EU)

SEPA country codes (e.g. DE, PT, NL) / optional

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

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 CaseverificationNameverificationTypefinancialInstitutionaccountcountrymatchLevelaccountHolderreasonCodedescriptiondetailedDescription
Match -  Personal AccountSamantha SmythePersonal99999600000001GBMatch
Match -  Business AccountBridgford GardeningBusiness99999600000011GBMatch
Close Match -  Wrong NameSam SmythePersonal99999600000001GBClose matchMISS SAMANTHA SMYTHEMBAMThere may be a match on the Account NameThe CoP Responder has performed the matching and it is a close match
No Match - Wrong Type P2BSamantha SmytheBusiness99999600000001GBNo matchPANMPersonal account, name matchesThe CoP Requester indicated a business account, but it is actually a personal account and the name matches
No Match -  Wrong Type B2PBridgford GardeningPersonal99999600000011GBNo matchBANMBusiness account, name matchesThe CoP Requester indicated a personal account, but it is actually a business account and the name matches
No Match - Wrong NameDavid SmythePersonal99999600000001GBNo matchANNMAccount Name does Not MatchThe CoP Responder has performed the matching and confirms it is not a match
No Match - Invalid AccountSamantha SmythePersonal99999698989898GBNo matchAC01Incorrect Account NumberAccount does not exist in the CoP Responder’s books
No Match - Opted OutJohnson LogisticsBusiness99999600000048GBNo matchOPTOOpted out of CoP SchemePayee has been opted out of the CoP service by the CoP Responder
No Match -Account Not Supp.Not SupportedPersonal99999600000062GBNo matchACNSAccount type Not Supported for CoPAccount not supported for CoP by the CoP Responder
ErrorSamantha SmythePersonal00000000000001GBErrorError400 Bad requestInvalid SortCode MI Reference: 474
No match Catch-All – Unknown InputanyanyanyanyGBNo matchANNMAccount Name does Not MatchReturned when input doesn't match predefined sandbox cases

Predefined VoP - EU Test Cases

Use the following IBAN-based inputs to simulate VoP responses.

Test CaseverificationNameaccountmatchLevelaccountHolderreasonCodedescriptiondetailedDescription
Match – Personal AccountMaria SilvaPT50000100018763312236976Match
Close Match – Personal AccountMarya SilvaPT50000100018763312236976Close matchMaria Silva
Match - Business AccountSome CompanyNL16RABO7600386364Match
Error - ExternalMaria UnknownPT50000100018763312236976ErrorNOAPExternal_ErrorVerification Check Not Possible or Validation Check is not applicable.
Error – InternalUnknown UnknownPT50000100018763312236976ErrorErrorInternal_ErrorAn internal error occurred. Please contact support.
No match Catch-All – Unknown InputanyanyNo 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 CaseverificationNamefinancialInstitutionaccountcountrymatchLevelaccountHolderreasonCodedescriptiondetailedDescription
Match - Personal Account - SingleMichael Thomas572507987456301AUMatchMichael Thomas
Match - Personal Account - Multiple High Match Score NameJohn Smith12772000640399309AUMatchJohn Smith1, John Smith2  and others
Match - Business Account - SingleLobster Limited9950212338015AUMatchLobster Limited
Close Match - Personal Account - SingleMichal Tomas572507987456301AUClose matchMichael Thomas
No Match - Business Accountany business name **except ** Lobster Limited9950212338015AUNo matchLobster Limited
Error - External - No RecordHomer Simpson9950211000003AUErrorCOP.API.9011External_ErrorThe referenced record cannot be found.
Error - External - Account ClosedStan Smith995021123802300AUErrorCOP.API.9021External_ErrorAccount closed.
Error - InternalDean Huijsen995021123802401AUErrorCOP.API.9007Internal_ErrorAn internal error occurred. Please contact support.
No match Catch-All – Unknown InputanyanyanyAUNo 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).