On This Page
Account Name Inquiry with a Zero Amount Authorization
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.
How to Request an ANI
ANI does not run automatically.
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.nameMatchPossible values:
- 00: Name match performed
- 01: Name match not performed
- 02: Name match not supported
- processorInformation.electronicVerificationResults.codePossible values:
- Y: Match
- N: No match
- O: Partial match
- U: Not performed or supported
- processorInformation.electronicVerificationResults.firstNamePossible values:
- Y: Match
- N: No match
- O: Partial match
- U: Not performed or supported
- processorInformation.electronicVerificationResults.lastNamePossible values:
- Y: Match
- N: No match
- O: Partial match
- U: Not performed or supported
- processorInformation.electronicVerificationResults.middleNamePossible 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
.Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/paymentsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/paymentsRequired Fields for Account Name Inquiry
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- Set the value to0.
- orderInformation.billTo.address1
- orderInformation.billTo.address2
- orderInformation.billTo.administrativeArea
- orderInformation.billTo.country
- orderInformation.billTo.email
- orderInformation.billTo.firstName
- orderInformation.billTo.lastName
- 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.checkANI
- Set toY.
Country-Specific Required Fields for Account Name Inquiry with Zero Amount Authorization
Use these country-specific required fields to process an account name inquiry with zero amount authorization.
Argentina
- merchantInformation.taxId
- Required for Mastercard transactions.
- merchantInformation.transactionLocalDateTime
- Required in Argentina when the time zone is not included in your account. Otherwise, this field is optional.
Brazil
- paymentInformation.card.sourceAccountType
- Required for combo card transactions.
- paymentInformation.card.sourceAccountTypeDetails
- Required for combo card line-of-credit and prepaid-card transactions.
Saudi Arabia
- processingInformation.authorizationOptions.transactionMode
Taiwan
- paymentInformation.card.hashedNumber
Optional Fields for Account Name Inquiry
- orderInformation.billTo.middleName
- processingInformation.authorizationOptions.declineAniFlags
- Possible 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
REST Example: Account Verification with Account Name Inquiry
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "TC50171_3" }, "paymentInformation": { "card": { "number": "CARD_NUMBER", "expirationMonth": "12", "expirationYear": "2031", "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": "[email protected]", "phoneNumber": "4158880000" } } }
Response to a Successful Request
{ "_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": "2025-12-22T11:00:36Z" }