> For the complete documentation index, see [llms.txt](https://docs.lhv.com/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lhv.com/home/connect/services/confirmation-of-payee-services/confirmation-of-payee-requester.md).

# Confirmation of Payee - Requester

## Service description

This service verifies if the creditor's account number matches the associated name.

## Request

<mark style="color:green;">`POST`</mark> <https://connect.lhv.com/payment/cop-request>

### Header

| Name           | Value              |
| -------------- | ------------------ |
| Content-Type   | `application/json` |
| Client-Code    | `customer value`   |
| Client-Country | `customer value`   |

### Body

<table><thead><tr><th>Name</th><th width="107">M/O</th><th>Description</th></tr></thead><tbody><tr><td>AccountCategory</td><td>M</td><td>Defines if the verification is expecting a <strong>PERSONAL</strong> or <strong>BUSINESS</strong> account</td></tr><tr><td>Identification</td><td>M</td><td>UK account number of the account to do a name verification on. BBAN (sort code + account number)</td></tr><tr><td>Name</td><td>M</td><td>The name string to be checked for a match.</td></tr><tr><td>SecondaryIdentification</td><td>O</td><td>Secondary reference information to identify the account. Can be any type of additional identification that is present with the account, e.g. a building society roll number</td></tr></tbody></table>

#### Example

{% tabs %}
{% tab title="Personal" %}

<pre class="language-json"><code class="lang-json"><strong>{
</strong>  "AccountCategory": "PERSONAL",
  "Identification": "12345612345678",
  "Name": "Account Name",
  "SecondaryIdentification": "secondaryIdentification"
}
</code></pre>

{% endtab %}

{% tab title="Business" %}

```json
{
  "AccountCategory": "BUSINESS",
  "Identification": "12345687654321",
  "Name": "Account Name LTD",
  "SecondaryIdentification": "secondaryIdentification"
}
```

{% endtab %}
{% endtabs %}

## Response

Confirmation of Payee Requester Response can be requested via the [Messages service](https://docs.lhv.com/home/connect/services/messages).

{% hint style="info" %}
HTTP Header Message-Response-Type: CONFIRMATION\_OF\_PAYEE
{% endhint %}

### Header

| Name         | Value              |
| ------------ | ------------------ |
| Content-Type | `application/json` |
| X-Bank-Code  | `LHVUK`            |

### Body

<table><thead><tr><th>Name</th><th width="107">M/O</th><th>Description</th></tr></thead><tbody><tr><td>OriginalMessageId</td><td>M</td><td></td></tr><tr><td>Data.Answer</td><td>M</td><td><p>Indicator if the verification has produced a full match or not.</p><p><strong>Confirmed</strong> - Verification has produced a full match</p><p><strong>Rejected</strong> - Verification did not produce a full match</p></td></tr><tr><td>Data.Identification</td><td>M</td><td>Account number from the request.</td></tr><tr><td>Data.ActualName</td><td>O</td><td>Actual name if the name in the request is a close match.</td></tr><tr><td>Data.Name</td><td>M</td><td>Name from the request.</td></tr><tr><td>ReasonCode</td><td>M</td><td>Find list of reason codes <a href="#reason-code-values-1">here</a>.</td></tr><tr><td>Description</td><td>M</td><td>Find list of reason code descriptions <a href="#reason-code-values-1">here</a>.</td></tr><tr><td>Errors</td><td>O</td><td></td></tr></tbody></table>

#### Example

{% tabs %}
{% tab title="Successful" %}

```json
{
  "OriginalMessageId": "...",
  "Data": {
    "Answer": "string",
    "Identification": "string",
    "ActualName": "string",
    "Name": [
      "string"
    ],
    "ReasonCode": "string",
    "Description": "string"
  },
  "Errors": null
}
```

{% endtab %}

{% tab title="Error" %}

```json
{
  "OriginalMessageId": "...",
  "Data": null,
  "Errors": [
    {
      "ErrorCode": "...",
      "ErrorMessage": "..."
    }
  ]
}
```

{% endtab %}
{% endtabs %}

## Example of the flow <a href="#reason-code-values" id="reason-code-values"></a>

<img src="/files/4eBNXkpnKpHsaqK9YxCk" alt="Confirmation of Payee Requester" class="gitbook-drawing">

<table><thead><tr><th width="111">Step</th><th width="293">Action</th><th>Description</th></tr></thead><tbody><tr><td>1.</td><td>Initiating Confirmation of Payee Request</td><td>CoP request can be initiated before making a payment to verify the account details of the intended recipient.</td></tr><tr><td>2.</td><td>Forwarding Request to the Directory</td><td>LHV receives the Request and forwards it to the CoP Directory for processing, ensuring accurate and timely validation of the account information.</td></tr><tr><td>3.</td><td>LHV will receive Response to the previously initiated Request</td><td>CoP Directory processes the Request and returns a Response. This Response indicates whether the provided account details match the account holder's information on record.</td></tr><tr><td>4.</td><td>LHV will forward response back to the PSP</td><td>Received Response is also forwarded back to the PSP.</td></tr></tbody></table>

### Reason code values <a href="#reason-code-values" id="reason-code-values"></a>

| ReasonCode | Description                                                                                                                                                                                       |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ACCP       | It's a match. The account name and details match those on record.                                                                                                                                 |
| AC01       | Account not found. There was no account with the account number you provided. Please check and try again.                                                                                         |
| ACNS       | Cannot check details. Confirmation of Payee is not supported by this account.                                                                                                                     |
| ANNM       | The name you provided doesn't match the name for the account. You can still continue with the payment, but your money may be sent to the wrong account.                                           |
| BAMM       | The account details are a close match. However, it is a business account, not a personal account and the actual name on the account is (...).                                                     |
| BANM       | The account details match. However, it is a business account, not a personal account.                                                                                                             |
| CASS       | <p>Account no longer exists. This account has been switched to a new one.</p><p>Please contact your recipient for updated account details.</p>                                                    |
| IVCR       | Cannot check details. Unable to locate the account based on the Reference provided. Please check and retry.                                                                                       |
| MBAM       | The name is a close match. The actual name on the account is (...).                                                                                                                               |
| OPTO       | Cannot check details. Confirmation of Payee is not supported by this account.                                                                                                                     |
| PAMM       | <p>The account details are a close match.</p><p>However, it's a personal account, not a business account and the actual name on the account is (...).</p>                                         |
| PANM       | Close match. The account details match, however it's a personal account, not a business account.                                                                                                  |
| SCNS       | Not a match. The sort code you provided doesn't match the account. Please check and try again.                                                                                                    |
| CNOR       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| FF01       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification.If you continue, please double check the details.  |
| AB07       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| TKCM       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| RC02       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| DS14       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| AB05       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| AB13       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| AB08       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| BE11       | Cannot check details. Confirmation of Payee is not supported by this account.                                                                                                                     |
| TECH       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |
| TM01       | We are currently unable to verify the account details. You can either try again in a few minutes or continue your payment without verification. If you continue, please double check the details. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.lhv.com/home/connect/services/confirmation-of-payee-services/confirmation-of-payee-requester.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
