Verify account holder names via API
Check if the cardholder name matches the name on file with the issuing bank before processing a transaction.
Account Name Inquiry lets you verify if the name provided by a customer matches the name registered with their card issuer. This check happens before the actual transaction and helps reduce fraud or misdirected payments.
You can perform the check:
- During customer onboarding
- Right before a transaction
- At regular intervals
- On demand
The card issuer compares the first, middle, and last names with their records and returns a match result for each, along with an overall match status.
We recommend using this functionality with account verification or zero-amount transactions. Using it with other transaction types may cause unexpected results.
Supported transaction types for name inquiry
You can include Account Name Inquiry parameters in the following transaction types via the Processing API or WPF API:
authorize
,authorize3d
sale
,sale3d
init_recurring_sale
,init_recurring_sale3d
account_verification
payout
,credit
Request parameters
Include the
element inside your transaction request. It supports the following optional fields:
Parameter | Type | Description |
---|---|---|
first_name |
string | Account owner’s first name |
middle_name |
string | Account owner’s middle name |
last_name |
string | Account owner’s last name |
Example request
<payment_transaction>
<transaction_id>119643250547501c79d8295</transaction_id>
<usage>40208 concert tickets</usage>
<remote_ip>245.253.2.12</remote_ip>
<amount>100</amount>
<currency>USD</currency>
<token>ee946db8-d7db-4bb7-b608-b65b153e127d</token>
<card_holder>Travis Pastrana</card_holder>
<cvv>834</cvv>
<expiration_month>12</expiration_month>
<expiration_year>2026</expiration_year>
<customer_email>travis@example.com</customer_email>
<customer_phone>+1987987987987</customer_phone>
<account_owner>
<first_name>Travis</first_name>
<middle_name>Joe</middle_name>
<last_name>Pastrana</last_name>
</account_owner>
</payment_transaction>
Response and match results
The response includes match results for each name field and an overall result:
Field | Type | Description |
---|---|---|
full_name_match |
string |
Overall match result (Match , Partial , No match ) |
first_name_match |
string | Result for first name |
middle_name_match |
string | Result for middle name |
last_name_match |
string | Result for last name |
type |
string |
Account type (e.g., personal ) |
Tip: The matched text is included in the response only if the issuing bank returns a name match response code.
Example response
<payment_response>
<transaction_id>119643250547501c79d8295</transaction_id>
<amount>100</amount>
<currency>USD</currency>
<token>ee946db8-d7db-4bb7-b608-b65b153e127d</token>
<card_holder>Travis Pastrana</card_holder>
<account_owner>
<first_name>Travis</first_name>
<middle_name>Joe</middle_name>
<last_name>Pastrana</last_name>
<full_name_match>Partial match</full_name_match>
<first_name_match>Match</first_name_match>
<middle_name_match>No match</middle_name_match>
<last_name_match>Match</last_name_match>
<type>personal</type>
</account_owner>
</payment_response>