Payee / payer name check

Confirmation of Payee
live demo

Try name verification against bank account details - see Match, Close Match and No Match responses in action.

  • Name match results
  • Free modulus check included
  • JSON + code samples

Test Confirmation of Payee

Enter UK bank details and a payee name to verify account ownership before making a payment.

Demo version: This demonstration is not linked to the live Confirmation of Payee service. For live bank-account verification, sign up for an account and get 5 free credits.
Test data

Sort code: 000000
Account: 00110022
Name: Selena GomezMATCH
Name: Selena GomeCLOSE_MATCH
Type: PERSONAL

Test service

This demo uses a test endpoint to mimic validation. Sign up for 5 free credits to try the live CoP environment.

Verification request

6 digits (no hyphens)
8 digits
Full name as registered with the bank
Only if required by the bank

API endpoint

GET https://wsp.esortcode.com/uk/v1/cop

Parameters: key, sortcode, accountNumber, name, accountType

API response

Enter account details and payee name to see results

Integration examples

curl -X GET "https://wsp.esortcode.com/uk/v1/cop?key=YOUR_API_KEY&sortcode=404784&accountNumber=00110022&name=Selena%20Gomez&accountType=PERSONAL"
const sortcode = '404784';
const accountNumber = '00110022';
const name = 'Selena Gomez';
const accountType = 'PERSONAL';
const apiKey = 'YOUR_API_KEY';

const url = `https://wsp.esortcode.com/uk/v1/cop?key=${apiKey}&sortcode=${sortcode}&accountNumber=${accountNumber}&name=${encodeURIComponent(name)}&accountType=${accountType}`;

fetch(url)
  .then(response => response.json())
  .then(data => {
    console.log('CoP Result:', data.cop.code);
    console.log('Description:', data.cop.description);
    console.log('Advice:', data.cop.advice);
  })
  .catch(error => console.error('Error:', error));
import requests
from urllib.parse import quote

sortcode = '404784'
account_number = '00110022'
name = 'Selena Gomez'
account_type = 'PERSONAL'
api_key = 'YOUR_API_KEY'

url = f'https://wsp.esortcode.com/uk/v1/cop'
params = {
    'key': api_key,
    'sortcode': sortcode,
    'accountNumber': account_number,
    'name': name,
    'accountType': account_type
}

response = requests.get(url, params=params)
data = response.json()

print(f"CoP Result: {data['cop']['code']}")
print(f"Description: {data['cop']['description']}")
print(f"Advice: {data['cop']['advice']}")
<?php
$sortcode = '404784';
$accountNumber = '00110022';
$name = 'Selena Gomez';
$accountType = 'PERSONAL';
$apiKey = 'YOUR_API_KEY';

$url = "https://wsp.esortcode.com/uk/v1/cop?key=$apiKey&sortcode=$sortcode&accountNumber=$accountNumber&name=" . urlencode($name) . "&accountType=$accountType";

$response = file_get_contents($url);
$data = json_decode($response, true);

echo "CoP Result: " . $data['cop']['code'] . "\n";
echo "Description: " . $data['cop']['description'] . "\n";
echo "Advice: " . $data['cop']['advice'];
?>

Ready to integrate?

Get your API key and start verifying names before payments