Verification of Payee
Verification of Payee
Verification of Payee (VoP) is a name and IBAN verification service that checks whether the payee name provided by the payer matches the account holder name at the receiving payment service provider (PSP).
VoP is designed to help users avoid making payments to the wrong person, thus reducing fraud and misdirected payments and enhancing payer confidence. VoP is a pre-authorisation check, meaning it must be completed before each payment is initiated.
The VoP service will query the account holder name at the receiving PSP in real-time and indicate whether the details match, and if so, whether there is a full or partial match.
For example, if the remitter intends to pay 'Maria Green', but the account belongs to 'John Taylor', our VoP endpoint will return NMTC
- No match. The following table defines each of the VoP outcomes with examples:
Code | Meaning | Definition | Provided name | Actual name |
---|---|---|---|---|
MTCH | Exact match | The name provided by the payer matches the account holder’s name at the receiving bank. | Maria Green | Maria Green |
CMTC | Close match | The name is similar but not identical, or there’s a mismatch in account type (for example, personal vs business). | ABC Solicitors | ABC Solicitor Ltd |
NMTC | No match | The name provided does not match the account holder’s name. | Maria Green | John Taylor |
NOAP | Can't match/Verification not possible | The check cannot be completed due to missing or incompatible data. | N/A | N/A |
A NOAP
result may be received if:
- The account is not reachable via VoP.
- The account is held at a PSP not participating in the VoP scheme.
- VoP check timed out due to slow or no response from receiving PSP (response SLA of 5 seconds)
- Technical issues prevent the check.
The following message flow diagram shows the steps involved in using the Verification of Payee endpoint:
Valid VoP field combinations
Only the following field combinations are valid when submitting a VoP request. Note that IBAN is a required field so must be populated in every request in combination with either:
- Name, or
- Identification > OrganisationId > LEI, or
- Identification > OrganisationId > anyBIC, or
- Identification > OrganisationId > Others > IdentificationNumber and SchemeNameCode, or
- Identification > OrganisationId > Others > IdentificationNumber and SchemeNameProprietary
Examples of valid payloads
Party name:
{"party": {"name": "Mrs Mary L Green"},"partyAccount": {"iban": "NL59ABNA8424598490"},"partyAgent": {"financialInstitutionId": {"bicFi": "CLRBNL2AXXX"}}}
LEI:
{"party": {"identification": {"organisationId": {"lei": "646700J3LMYRBDP9MA86"}}},"partyAccount": {"iban": "NL59ABNA8424598490"},"partyAgent": {"financialInstitutionId": {"bicFi": "CLRBNL2AXXX"}}}
anyBIC:
{"party": {"identification": {"organisationId": {"AnyBIC": "ABNANL2AXXX"}}},"partyAccount": {"iban": "NL59ABNA8424598490"},"partyAgent": {"financialInstitutionId": {"bicFi": "CLRBNL2AXXX"}}}
identificationNumber with schemeNameCode:
{"party": {"identification": {"organisationId": {"others": {"identificationNumber": "DE89ZZZ44862148843541","schemeNameCode": "CUST","issuer": "string"}}}},"partyAccount": {"iban": "NL59ABNA8424598490"},"partyAgent": {"financialInstitutionId": {"bicFi": "CLRBNL2AXXX"}}}
identificationNumber with schemeNameProprietary:
{"party": {"identification": {"organisationId": {"others": {"identificationNumber": "DE89ZZZ44862148843541","schemeNameProprietary": "Prtry","issuer": "string"}}}},"partyAccount": {"iban": "NL59ABNA8424598490"},"partyAgent": {"financialInstitutionId": {"bicFi": "CLRBNL2AXXX"}}}
Simulate Verification of Payee responses
You can test your handling of the VoP outcomes in our simulation environment by populating the unstructuredRemittanceInformation
field with the following:
Field value | Result |
---|---|
["--match--"] | Simulates a match response |
["--nomatch--"] | Simulates a no match response |
["--closematch--"] | Simulates a close match response |
["--notapplicable--"] | Simulates a not applicable response |