Information related to the API Package: Payments | Money Transfers (v4.0) by Banca Sella
The following article contains information on how to integrate APIs related to the Verification of Payee (VoP) Service within the Money Transfer package.
Introduction
The Verification of Payee (VoP) allows checking the correspondence between the IBAN and the beneficiary's name (or other identifiers such as VAT number / LEI Code in the case of transfers between companies) indicated by the payer of a transfer before authorizing the sending of funds to the recipient. The service is active for both instant transfers and ordinary transfers between banks within the European area (headquartered in an EU Member State whose currency is the euro).
How it works
- Payment creation: when a customer initializes a payment, they enter the beneficiary's name (or other identifiers such as VAT number or LEI code) together with the payment account identifier (IBAN).
- Beneficiary verification: before authorizing the operation, a VoP request is sent to the beneficiary's bank to verify if the IBAN and the beneficiary's name (or other identifiers such as VAT number or LEI code) match.
-
Beneficiary verification results: the service returns one of the following possible results:
-
MATCH
: the beneficiary's name (or other identifiers such as VAT number or LEI code) matches the account holder of the credit account; -
CLOSE MATCH
: the provided name is similar but not identical to the account holder's name; -
NO MATCH
: what indicated by the payer does not correspond with the account holder of the credit account; -
NOT APPLICABLE
: it was not possible to proceed with the verification.
-
- User choice: based on the result, the customer can decide whether to proceed with the payment or cancel it.
For more information on the VoP scheme within the SEPA area, you can visit the EPC (European Payments Council) website at this link.
Variations on API integration flows
This paragraph describes the alternatives available to clients.
CASE 1: Not performing the Verification of Payee (VoP)
It is possible not to execute a VoP call during a Money Transfer; in this case, it is sufficient to use the Money Transfer API package to execute an outgoing transfer.
This scenario corresponds to the current behavior of the exposed APIs. No changes to integrations are required, which will therefore continue to function identically to today.
CASE 2: Requesting the execution of the Verification of Payee (VoP)
It is possible to execute the VoP verification by setting the following header:
- X-VoP-Force-Verification: if set to
true
, the header indicates to execute the VoP verification for the related call.
If not specified, the default value of the header is false
(i.e., no Verification of Payee is executed).
In this case, the POST Create Money Transfer
API returns a "400 - Bad Request" error in cases where the Verification of Payee results in any of the following results:
-
CLOSE MATCH
; -
NO MATCH
; -
NOT APPLICABLE
.
The following schema shows a use case of the X-VoP-Force-Verification header.
Regardless of the VoP result, the ordering customer can still decide to proceed with the authorization of the transfer, taking responsibility for the operation (for example, in the case where the beneficiary does not correspond).
It is important that the payer is aware of the verification result and that, by authorizing the payment in case of near or no correspondence or verification not available, it could result in the transfer of funds to a payment account not held by the indicated beneficiary.
If, during the request to execute a transfer, a 400 Bad Request error is returned, it is still possible to force the execution of the same with the request through the POST Create Money Transfer
API, using the same request body and setting the following header:
- X-VoP-Id: containing the ID contained in the vopResponse result of the previous call.
If not specified, the default value of the header is null
. The system verifies the correspondence of the previously provided data with the new request and in case of match, the transfer is executed. The following schema shows the interaction in the case of using the X-VoP-Id header.
Integration environments
The VoP service will soon be available in the following environments to support the development lifecycle:
Environment | Purpose | Base URL |
Sandbox | Development and testing | https://sandbox.fabrick.com |
Production | Live operations | https://api.fabrick.com |