Skip to main content
Welcome to the preview portal — This is an early release of the new Doc Hub experience, with more content coming soon.

Account Name Inquiries


Account name inquiry (ANI) is an optional enhancement to the zero-amount authorization for verifying that the customer's name matches the name on their card account with the issuing bank. ANI verification reduces fraud risk, especially for an account funding transaction (AFT) or original credit transaction (OCT).

ANI verification is useful in these scenarios:

  • Customer account set up.
  • Before an AFT or OCT.
  • To support regulatory and anti-money laundering expectations, particularly in gambling and money movement cases.

Supported Processors

  • Visa Platform Connect

How to Request an ANI

ANI does not run automatically on the Visa Platform Connect processor.

To request an ANI verification on a zero amount authorization, include the processingInformation.cardVerification.checkANI field in the authorization request, and set the value to Y.

Card Types

ANI is available for Mastercard and Visa. More card types will support ANI in the future.

Handling Match Results

Use match results to decide whether to proceed, retry, or flag the transaction for fraud checks.

The ANI response includes name match results in these fields:

  • processorInformation.merchantAdvice.nameMatch

    Possible values:

    • 00: Name match performed
    • 01: Name match not performed
    • 02: Name match not supported
  • processorInformation.electronicVerificationResults.code

    Possible values:

    • Y: Match
    • N: No match
    • O: Partial match
    • U: Not performed or supported
  • processorInformation.electronicVerificationResults.firstName

    Possible values:

    • Y: Match
    • N: No match
    • O: Partial match
    • U: Not performed or supported
  • processorInformation.electronicVerificationResults.lastName

    Possible values:

    • Y: Match
    • N: No match
    • O: Partial match
    • U: Not performed or supported
  • processorInformation.electronicVerificationResults.middleName

    Possible values:

    • Y: Match
    • N: No match
    • O: Partial match
    • U: Not performed or supported

Controlling ANI Results

By default, a no match or partial match ANI result might not result in a decline.

You can change this behavior by including the processingInformation.authorizationOptions.declineAniFlags request field to specify a space-separated list of ANI result codes. If the ANI response matches one of those values, the transaction is declined.

Example: decline_ani_flags = N O results in a decline on No match or Partial match.

The decline response code is ANI_FAILED.

Endpoints

Account name inquiry uses the payments service with a zero amount.

POST /pts/v2/payments

POST /pts/v2/payments

POST /pts/v2/payments

Examples

Visa Platform Connect Example

This example includes optional fields.

{  "clientReferenceInformation": {    "code": "TC50171_3"  },  "paymentInformation": {    "card": {      "number": "CARD_NUMBER",      "expirationMonth": "12",      "expirationYear": "2030",      "securityCode": "501"    }  },  "orderInformation": {    "amountDetails": {      "totalAmount": "0.00",      "currency": "USD"    },    "billTo": {      "firstName": "John",      "lastName": "Doe",      "address1": "1 Market St",      "locality": "san francisco",      "administrativeArea": "CA",      "postalCode": "94105",      "country": "US",      "email": "",      "phoneNumber": "4158880000"    }  }}
{  "_links": {    "authReversal": {      "method": "POST",      "href": "/pts/v2/payments/7664012361876450803814/reversals"    },    "self": {      "method": "GET",      "href": "/pts/v2/payments/7664012361876450803814"    },    "capture": {      "method": "POST",      "href": "/pts/v2/payments/7664012361876450803814/captures"    }  },  "clientReferenceInformation": {    "code": "TC50171_3"  },  "id": "7664012361876450803814",  "orderInformation": {    "amountDetails": {      "authorizedAmount": "0.00",      "currency": "USD"    }  },  "paymentAccountInformation": {    "card": {      "type": "001"    }  },  "paymentInformation": {    "tokenizedCard": {      "type": "001"    },    "card": {      "type": "001"    }  },  "processorInformation": {    "systemTraceAuditNumber": "065281",    "electronicVerificationResults": {      "lastName": "Y",      "firstName": "Y",      "code": "Y",      "middleNameRaw": "01",      "firstNameRaw": "01",      "lastNameRaw": "01",      "codeRaw": "01",      "middleName": "Y"    },    "merchantNumber": "123456789012",    "approvalCode": "831000",    "cardVerification": {      "resultCodeRaw": "M",      "resultCode": "M"    },    "merchantAdvice": {      "code": "01",      "codeRaw": "M001",      "nameMatch": "00"    },    "networkTransactionId": "016153570198200",    "retrievalReferenceNumber": "535611065281",    "consumerAuthenticationResponse": {      "code": "2",      "codeRaw": "2"    },    "transactionId": "016153570198200",    "responseCode": "00",    "avs": {      "code": "Y",      "codeRaw": "Y"    }  },  "reconciliationId": "7664012361876450803814",  "status": "AUTHORIZED",  "submitTimeUtc": "2026-12-22T11:00:36Z"}

Required Fields

Default Required Fields

These fields are required when processing an account name inquiry with a zero amount authorization.

FieldDescription
orderInformation.amountDetails.currency—
orderInformation.amountDetails.totalAmountSet the value to 0.
orderInformation.billTo.address1—
orderInformation.billTo.address2—
orderInformation.billTo.administrativeArea—
orderInformation.billTo.country—
orderInformation.billTo.email—
orderInformation.billTo.lastNameSee Card Types.
orderInformation.billTo.locality—
orderInformation.billTo.phoneNumber—
orderInformation.billTo.postalCode—
paymentInformation.card.expirationMonth—
paymentInformation.card.expirationYear—
paymentInformation.card.number—
paymentInformation.card.securityCode—
paymentInformation.card.type—
processingInformation.cardVerification.checkANISet to Y.

Processor-Specific Required Fields

Visa Platform Connect

FieldDescription
orderInformation.billTo.firstName—

Country-Specific Required Fields

Use these country-specific required fields to process an account name inquiry with zero amount authorization.

Argentina

FieldDescription
merchantInformation.taxIdRequired for Mastercard transactions.
merchantInformation.transactionLocalDateTimeRequired in Argentina when the time zone is not included in your account. Otherwise, this field is optional.

Brazil

FieldDescription
paymentInformation.card.sourceAccountTypeRequired for combo card transactions.
paymentInformation.card.sourceAccountTypeDetailsRequired for combo card line-of-credit and prepaid-card transactions.

Saudi Arabia

FieldDescription
processingInformation.authorizationOptions.transactionMode—

Taiwan

FieldDescription
paymentInformation.card.hashedNumber—

Optional Fields

Optional Fields
FieldDescription
orderInformation.billTo.firstName—
orderInformation.billTo.middleName—
processingInformation.authorizationOptions.declineAniFlagsPossible values separated by a space: Y: Match, O: Partial match, N: No match, U: Unverified, R: Retry.
recipientInformation.firstName—
recipientInformation.middleName—
senderInformation.firstName—
senderInformation.middleName—

Last published: October 28, 2026

Not available for your audience

This page isn't available for your current audience selection.