# Initiate Confirmation of Payee (CoP)

Initiate Confirmation of Payee (CoP) in order to verify that the owner of a UK bank account matches who you expect. This must be done on all UK bank accounts before sending domestic OutboundPayments. If the result is a partial match or a non match, explicit acknowledgement using AcknowledgeConfirmationOfPayee is required before sending funds.

## Request

```curl
curl -X POST https://api.stripe.com/v2/core/vault/gb_bank_accounts/gbba_test_61RNFB9lnOYye6krT16RMXKs0JSQpGKHUiBrbrLjk2XA/initiate_confirmation_of_payee \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2025-09-30.preview"
```

### Response

```json
{
  "id": "gbba_test_61RNFB9lnOYye6krT16RMXKs0JSQpGKHUiBrbrLjk2XA",
  "object": "v2.core.vault.gb_bank_account",
  "archived": false,
  "bank_account_type": "checking",
  "bank_name": "Test Bank",
  "last4": "2345",
  "confirmation_of_payee": {
    "result": {
      "created": "2024-10-25T17:23:51.000Z",
      "match_result": "match",
      "matched": {
        "business_type": "personal",
        "name": "Jenny Rosen"
      },
      "message": "The provided name Jenny Rosen and business type matches what the bank has on file for this account.",
      "provided": {
        "business_type": "personal",
        "name": "Jenny Rosen"
      }
    },
    "status": "confirmed"
  },
  "created": "2024-10-25T17:22:47.788Z",
  "sort_code": "108800",
  "livemode": true
}
```

## Parameters

- `id` (string, required)
  The GBBankAccount for which to perform Confirmation of Payee.

- `business_type` (enum, optional)
  The business type to be checked against. Legal entity information will be used if unspecified.
Possible enum values:
  - `business`
    Business Account.

  - `personal`
    Personal Account.

- `name` (string, optional)
  The name of the user to be checked against. Legal entity information will be used if unspecified.

## Returns

## Response attributes

- `id` (string)
  The ID of the GBBankAccount object.

- `object` (string, value is "v2.core.vault.gb_bank_account")
  String representing the object’s type. Objects of the same type share the same value of the object field.

- `archived` (boolean)
  Whether this bank account object was archived. Bank account objects can be archived through the /archive API, and they will not be automatically archived by Stripe. Archived bank account objects cannot be used as outbound destinations and will not appear in the outbound destination list.

- `bank_account_type` (enum)
  The type of the bank account (checking or savings).
Possible enum values:
  - `checking`
    Checking account.

  - `savings`
    Savings account.

- `bank_name` (string)
  The name of the bank.

- [`confirmation_of_payee`](https://docs.stripe.com/api/v2/core/vault/gb-bank-accounts/initiate.md?query=confirmation_of_payee&api-version=2025-09-30.preview) (object)
  Information around the status of Confirmation of Payee matching done on this bank account. Confirmation of Payee is a name matching service that must be done before making OutboundPayments in the UK.

- `created` (timestamp)
  Creation time.

- `last4` (string)
  The last 4 digits of the account number or IBAN.

- `livemode` (boolean)
  Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.

- `sort_code` (string)
  The Sort Code of the bank account.

## Error Codes

| HTTP status code | Code | Description |
| --- | --- | --- |
| 404 | not_found | The resource wasn’t found. |
| 409 | idempotency_error | An idempotent retry occurred with different request parameters. |
