Run a standalone Verification of Payee check for a list of beneficiaries
curl --request POST \
--url https://{environment}.ebury.io/vop \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"beneficiaries": [
{
"beneficiary_id": "<string>",
"account_id": "<string>",
"beneficiary_name": "<string>",
"iban": "<string>",
"swift_code": "<string>"
}
]
}
'import requests
url = "https://{environment}.ebury.io/vop"
payload = { "beneficiaries": [
{
"beneficiary_id": "<string>",
"account_id": "<string>",
"beneficiary_name": "<string>",
"iban": "<string>",
"swift_code": "<string>"
}
] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
beneficiaries: [
{
beneficiary_id: '<string>',
account_id: '<string>',
beneficiary_name: '<string>',
iban: '<string>',
swift_code: '<string>'
}
]
})
};
fetch('https://{environment}.ebury.io/vop', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{environment}.ebury.io/vop",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'beneficiaries' => [
[
'beneficiary_id' => '<string>',
'account_id' => '<string>',
'beneficiary_name' => '<string>',
'iban' => '<string>',
'swift_code' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{environment}.ebury.io/vop"
payload := strings.NewReader("{\n \"beneficiaries\": [\n {\n \"beneficiary_id\": \"<string>\",\n \"account_id\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{environment}.ebury.io/vop")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"beneficiaries\": [\n {\n \"beneficiary_id\": \"<string>\",\n \"account_id\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment}.ebury.io/vop")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"beneficiaries\": [\n {\n \"beneficiary_id\": \"<string>\",\n \"account_id\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"authorization_id": "<string>",
"results": [
{
"message": "<string>",
"name": "<string>",
"scheme_response_codes": [
"<string>"
],
"status": "<string>"
}
],
"status": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}Running VoP checks
Run a standalone Verification of Payee check for a list of beneficiaries
POST
/
vop
Run a standalone Verification of Payee check for a list of beneficiaries
curl --request POST \
--url https://{environment}.ebury.io/vop \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"beneficiaries": [
{
"beneficiary_id": "<string>",
"account_id": "<string>",
"beneficiary_name": "<string>",
"iban": "<string>",
"swift_code": "<string>"
}
]
}
'import requests
url = "https://{environment}.ebury.io/vop"
payload = { "beneficiaries": [
{
"beneficiary_id": "<string>",
"account_id": "<string>",
"beneficiary_name": "<string>",
"iban": "<string>",
"swift_code": "<string>"
}
] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
beneficiaries: [
{
beneficiary_id: '<string>',
account_id: '<string>',
beneficiary_name: '<string>',
iban: '<string>',
swift_code: '<string>'
}
]
})
};
fetch('https://{environment}.ebury.io/vop', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{environment}.ebury.io/vop",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'beneficiaries' => [
[
'beneficiary_id' => '<string>',
'account_id' => '<string>',
'beneficiary_name' => '<string>',
'iban' => '<string>',
'swift_code' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{environment}.ebury.io/vop"
payload := strings.NewReader("{\n \"beneficiaries\": [\n {\n \"beneficiary_id\": \"<string>\",\n \"account_id\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{environment}.ebury.io/vop")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"beneficiaries\": [\n {\n \"beneficiary_id\": \"<string>\",\n \"account_id\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment}.ebury.io/vop")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"beneficiaries\": [\n {\n \"beneficiary_id\": \"<string>\",\n \"account_id\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"authorization_id": "<string>",
"results": [
{
"message": "<string>",
"name": "<string>",
"scheme_response_codes": [
"<string>"
],
"status": "<string>"
}
],
"status": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}{
"code": "<string>",
"details": "<string>",
"message": "<string>"
}Runs a standalone Verification of Payee check for the given Beneficiaries list. The beneficiary data can be provided with
beneficiary_id + account_id combination, or with beneficiary_name + iban + swift_code combination.
The result’s authorization_id can be used in a following Payment request as vop_authorization_id queryparam, as long as the beneficiary information in the VoP check request and the payment request are the same.Authorizations
An API Key.
Query Parameters
The ID of the client
Body
application/json
List of beneficiaries to check.
Show child attributes
Show child attributes
Response
The Verification of Payee outcome with a list of results, one for each provided beneficiary dataset.
The details of a Verification of Payee check.
The ID of the VoP check. Can be provided in payment requests as vop_authorization_id queryparam to confirm VoP checks.
The list of VoP results, one for each beneficiary data object provided.
Show child attributes
Show child attributes
Summary of the VoP status of the whole batch. It is the highest priority status of all the results.