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>