# Confirmation of Payee - Responder

## Service description

The CoP Responder Service enables other banks to request confirmation of creditor account details, including account name, type, and other required fields. To utilize this service, accounts must be synchronized with all mandatory CoP fields.&#x20;

{% hint style="info" %}
The documentation of account sync can be found [here](/home/connect/services/indirect-scheme-access/agency-account-synchronization.md#account-synchronization-v2).
{% endhint %}

Upon receiving a request, a notification is generated. If you would like to receive these notifications, please contact your relationship manager.

## Inbound CoP Request Notification

Incoming CoP Request Notification can be requested via the [Messages Services](/home/connect/services/messages.md).

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

### Body

<table><thead><tr><th width="354">Field</th><th width="77">M/O</th><th>Description</th></tr></thead><tbody><tr><td>Request.DebtorParty.AccountWith.BankName</td><td>O</td><td>Structure containing information about the debtor of the request.<br><strong>NB! This field is not currently supported.</strong></td></tr><tr><td>Request.Data.Id</td><td>M</td><td>Name verification ID.</td></tr><tr><td>Request.Data.CreatedOn</td><td>M</td><td>Verification time.</td></tr><tr><td>Request.Data.Attributes.AccountClassification</td><td>M</td><td>Classification of the account to do a name verification on. Can be <strong>BUSINESS</strong> or <strong>PERSONAL.</strong></td></tr><tr><td>Request.Data.Attributes.AccountNumber</td><td>M</td><td>UK account number of the account to do a name verification on.</td></tr><tr><td>Request.Data.Attributes.AccountNumberCode</td><td>M</td><td>Type of the account number, always '<strong>BBAN</strong>'.</td></tr><tr><td>Request.Data.Attributes.BankId</td><td>M</td><td>UK sort code of the account to do a name verification on.</td></tr><tr><td>Request.Data.Attributes.BankIdCode</td><td>M</td><td>Type of bank ID, always '<strong>GBDSC</strong>'.</td></tr><tr><td>Request.Data.Name</td><td>M</td><td>The name string to be checked for a match.</td></tr><tr><td>Request.Data.SecondaryIdentification</td><td>O</td><td>Secondary reference information to identify the account.</td></tr><tr><td>Response.Data.Attributes.Status</td><td>M</td><td>Admission status, indicates if the request has been successfully received from the counterparty and could be responded to. <strong>confirmed</strong> in case of success, <strong>failed</strong> otherwise.</td></tr><tr><td>Response.Data.Attributes.Answer</td><td>O</td><td>Indicator if the verification has produced a (full) match or not. <strong>CONFIRMED</strong> in case of a full match, <strong>REJECTED</strong> otherwise. Not populated if request failed.</td></tr><tr><td>Response.Data.Attributes.ActualName</td><td>O</td><td>The actual name of the account holder. Only present in case of a close match</td></tr><tr><td>Response.Data.Attributes.ReasonCode</td><td>O</td><td>Encoded reason for mismatch. Only populated if answer is rejected. <a href="#reason-code-values">Possible values</a>.</td></tr><tr><td>Response.Data.Attributes.Reason</td><td>O</td><td>Human-readable description of reason code . Only populated if reason code is.</td></tr></tbody></table>

#### Examples

{% tabs %}
{% tab title="Full Match" %}

```json
{
  "Request": {
    "DebtorParty": {
      "AccountWith": {
        "BankName": "Some Bank Ltd"
      }
    },
    "Data": [
      {
        "Id": "4942f12c-5430-4d1b-8b56-c7f1c8a9118d",
        "CreatedOn": "2021-10-15T18:13:40Z",
        "Attributes": {
          "AccountClassification": "PERSONAL",
          "AccountNumber": "12345678",
          "AccountNumberCode": "BBAN",
          "BankId": "123456",
          "BankIdCode": "GBDSC",
          "Name": [
            "Joe Bloggs"
          ],
          "SecondaryIdentification": "123"
        }
      }
    ]
  },
  "Response": {
    "Data": {
      "Attributes": {
        "Status": "confirmed",
        "Answer": "CONFIRMED"
      }
    }
  }
}
```

{% endtab %}

{% tab title="Close Match" %}

```json
{
  "Request": {
    "DebtorParty": {
      "AccountWith": {
        "BankName": "Some Bank Ltd"
      }
    },
    "Data": [
      {
        "Id": "4942f12c-5430-4d1b-8b56-c7f1c8a9118d",
        "CreatedOn": "2021-10-15T18:13:40Z",
        "Attributes": {
          "AccountClassification": "PERSONAL",
          "AccountNumber": "12345678",
          "AccountNumberCode": "BBAN",
          "BankId": "123456",
          "BankIdCode": "GBDSC",
          "Name": [
            "Jo Boggs"
          ],
          "SecondaryIdentification": "123"
        }
      }
    ]
  },
  "Response": {
    "Data": {
      "Attributes": {
        "Status": "confirmed",
        "Answer": "REJECTED",
        "ActualName": "Joe Bloggs",
        "ReasonCode": "MBAM",
        "Reason": "String is a close match to the account name"
      }
    }
  }
}
```

{% endtab %}

{% tab title="No Match" %}

```json
{
  "Request": {
    "DebtorParty": {
      "AccountWith": {
        "BankName": "Some Bank Ltd"
      }
    },
    "Data": [
      {
        "Id": "4942f12c-5430-4d1b-8b56-c7f1c8a9118d",
        "CreatedOn": "2021-10-15T18:13:40Z",
        "Attributes": {
          "AccountClassification": "PERSONAL",
          "AccountNumber": "87654321",
          "AccountNumberCode": "BBAN",
          "BankId": "123456",
          "BankIdCode": "GBDSC",
          "Name": [
            "Joe Bloggs"
          ],
          "SecondaryIdentification": "123"
        }
      }
    ]
  },
  "Response": {
    "Data": {
      "Attributes": {
        "Status": "confirmed",
        "Answer": "REJECTED",
        "ReasonCode": "AC01",
        "Reason": "There is no account with the given account number."
      }
    }
  }
}
```

{% endtab %}
{% endtabs %}

## Example of the flow

<img src="/files/D4NQjmgAXD8QP18DN6GP" alt="Confirmation of Payee Responder" class="gitbook-drawing">

<table><thead><tr><th width="107">Step</th><th>Action</th><th>Description</th></tr></thead><tbody><tr><td>1.</td><td>Sync accounts with details required for Confirmation of Payee.</td><td>To utilize this service, accounts must be synchronized with all mandatory CoP fields. The documentation of account sync can be found <a href="/pages/pY2oq25LrrQ5Q4sMUnGt#account-synchronization-v2">here</a>. </td></tr><tr><td>2.</td><td>LHV will confirm the synchronization.</td><td>See possible error codes <a href="/pages/pY2oq25LrrQ5Q4sMUnGt#error-codes">here</a>.</td></tr><tr><td>3.</td><td>LHV receives inbound CoP Request.</td><td>LHV will receive inbound CoP Request from Debtor Party. </td></tr><tr><td>4.</td><td>LHV will provide notification of inbound CoP Request.</td><td>LHV will issue a notification regarding a previously received request. This notification will include details about both the request and response.</td></tr></tbody></table>

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

<table><thead><tr><th>ReasonCode</th><th>Description</th><th data-hidden></th></tr></thead><tbody><tr><td>AC01</td><td>Account not found. There was no account with the account number you provided. Please check and try again.</td><td></td></tr><tr><td>ACNS</td><td>Cannot check details. Confirmation of Payee is not supported by this account.</td><td></td></tr><tr><td>ANNM</td><td>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.</td><td></td></tr><tr><td>BAMM</td><td>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 (...).</td><td></td></tr><tr><td>BANM</td><td>The account details match. However, it is a business account, not a personal account.</td><td></td></tr><tr><td>CASS</td><td><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></td><td></td></tr><tr><td>IVCR</td><td>Cannot check details. Unable to locate the account based on the Reference provided. Please check and retry.</td><td></td></tr><tr><td>MBAM</td><td>The name is a close match. The actual name on the account is (...).</td><td></td></tr><tr><td>OPTO</td><td>Cannot check details. Confirmation of Payee is not supported by this account.</td><td></td></tr><tr><td>PAMM</td><td><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></td><td></td></tr><tr><td>PANM</td><td>Close match. The account details match, however it's a personal account, not a business account.</td><td></td></tr><tr><td>SCNS</td><td>Not a match. The sort code you provided doesn't match the account. Please check and try again.</td><td></td></tr></tbody></table>


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
