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 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

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 CaseverificationNameaccountmatchLevelaccountHolderreasonCodedescriptiondetailedDescription
Match – Personal Account (DE)Max MustermannDE74100000002234400001Match
Close Match – Personal (DE)Max MustermanDE47100000002234400002Close matchMax Mustermann
Match – Business Account (DE)Beispiel GmbHDE20100000002234400003Match
Error – Verification Not PossibleMustermann UnknownDE90100000002234400004ErrorNOAPExternal_ErrorVerification Check Not Possible or Validation Check is not applicable.
Error – Internal Server ErrorUnknown UnknownDE63100000002234400005ErrorErrorInternal_ErrorAn 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 CaseverificationNamefinancialInstitutionaccountcountrymatchLevelreasonCodedescriptiondetailedDescription
Match - Personal AccountMichael Thomas572507987456301AUMatch
Match - Business AccountLobster Limited9950212338015AUMatch
Close Match - Personal AccountMichal Tomas572507987456301AUClose match
No Match - Business Accountany business name except Lobster Limited9950212338015AUNo match
Error - External - No RecordHomer Simpson9950211000003AUErrorCOP.API.9011External_ErrorThe referenced record cannot be found.
Error - External - Account ClosedStan Smith995021123802300AUErrorCOP.API.9021External_ErrorAccount closed.
Error - InternalDean Huijsen995021123802401AUErrorFIS.API.9503Internal_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).