---
updatedAt: 2026-03-24T09:54:36.000Z
agentTools:
  projectIndex: https://docs.pci-proxy.com/llms.txt
---

# Account Name Verification

Verify cardholder identity in real-time with our standalone Account Name Verification (ANV) service.

This real-time API service validates whether a provided account holder name matches the name on file with the issuer or network for a given PAN or token.

It helps to reduce fraud, supports KYC/AML compliance, and improves payment integrity by returning a match status (e.g., match, partial match, no match) based on issuer response. Common use cases include verifying recipient names during payouts, checking account ownership during onboarding or enhancing risk checks for high-value transactions.

## Get Started

To get started, please [contact our team](mailto:support@pci-proxy.com) to activate the Account Name Verification feature on your merchantID.

## Sample Request

To perform an account name verification, call the [PATCH /alias endpoint](https://docs.pci-proxy.com/reference/aliasespatch#/) with a previously created alias.

```curl Request w/alias
curl -L -X PATCH 'https://api.sandbox.datatrans.com/v1/aliases/{{alias}}' \
-H 'Authorization: Basic {{basicAuth}}' \
--data-raw '{
    "cardHolderNameVerification": {
        "firstName": "Frank",         
        "lastName": "Portman", 
        "middleName": "John"
    } 
}'
```

PCI DSS-compliant organisations are eligible to call the [/cards endpoint](https://docs.pci-proxy.com/reference/nameverification#/) using a plain card number:

```curl Request w/PAN
curl -L -X POST 'https://api.sandbox.datatrans.com/v1/cards/verify' \
-H 'Authorization: Basic {{basicAuth}}' \
--data-raw '{
    "pan": "4343434343434345",
    "cardHolderNameVerification": {
        "firstName": "Frank",         
        "lastName": "Portman", 
        "middleName": "John"
    } 
}'
```

## Sample Response

The API response will provide status values indicating the matching results from the issuer.

```curl Response
{
    "cardHolderNameVerification": {
        "nameMatch": "PARTIAL",
        "firstNameMatch": "FULL",
        "lastNameMatch": "NONE",
        "middleNameMatch": "PARTIAL"
    }
}
```

Account Name matching results:

| Value   | Description                                                       |
| :------ | :---------------------------------------------------------------- |
| FULL    | The provided name **fully** matches the name on file              |
| PARTIAL | **Some parts** of the name provided do not match the name on file |
| NONE    | The provided name **does not match** the name on file **at all**  |

**Note:**
A successful response from the Account Name Verification service does not guarantee that an issuer will approve a funding or payment transaction. Other factors, such as transaction limits and the issuer’s compliance and fraud checks, may cause it to decline a transaction.

<Callout icon="📘" theme="info">
  As the Account Name Verification service is sending a payment validation request, the cardholder might receive a notification in his issuer application. 
</Callout>

**Errors**

If an Account Name Verification (ANV) request cannot be performed, the API returns a `NOT_VERIFIED` error. This may occur, for example, if the card has been reported as stolen or if the issuer does not support ANV. In these cases, the request is not charged.

## Supported card brands & Issuer coverage

As of today Visa and Mastercard branded cards are supported. Further card brands to be added upon availability and demand.

> 📘 Issuer coverage
>
> Please note that the coverage depends on issuer support and can vary based on geographic region.

## Testing

Your sandbox account is connecting to our Account Name Verification simulator. Please use the following credentials and rules for testing.

**Test Card numbers**

| Card brand | Card number         | Type                     |
| :--------- | :------------------ | :----------------------- |
| Visa       | 4343 4343 4343 4345 | PAN or tokenized (alias) |
| Mastercard | 5353 5353 5353 5351 | PAN or tokenized (alias) |

<br />

**Name matching logic**

The simulator determines match type for each field based on the first character of the name:

| Starts with | Match type         |
| :---------- | :----------------- |
| `F`         | Full name match    |
| `P`         | Partial name match |
| `Any other` | No name match      |

<br />