# Mastercard Send Account Verification Service
source: https://developer.mastercard.com/mastercard-send-avs/documentation/index.md

## Overview {#overview}

The [Mastercard Send](https://developer.mastercard.com/product/mastercard-send/) Account Verification Service (AVS) enables Originating Institutions and Transaction Initiators to perform real-time card account checks with card issuers **before** initiating funding transactions or payment transactions (person-to-person payments or disbursements) with those card accounts. The service helps protect against fraudulent card use by checking the following:

* That the account is open and valid
* That the supplied postal code and (optionally) the billing address and/or Card Verification Code (CVC or CVV) match what is on record for the cardholder

![Mastercard Send AVS overview](https://static.developer.mastercard.com/content/mastercard-send-avs/documentation/img/mastercard-send-avs-overview.png)

The service responds with status values that can be used to determine whether to proceed with a transaction using that card account. This service supports Mastercard debit, credit, and prepaid card accounts in the U.S., Canada, and U.K. In the U.S., the service also supports Visa debit; Mastercard Send will route the query to the appropriate Receive Network.

See [the product page](https://developer.mastercard.com/product/mastercard-send/) for marketing and case study details.
Note: This optional service can be used to enhance a Mastercard Send transfer solution. Additional fees might apply for using this service, as set forth in the *Mastercard Consolidated Billing System* manual generated by the Pricing Guide tool in the Pricing and Billing Resource Center on [Mastercard Connect](https://www.mastercardconnect.com/) or otherwise communicated by Mastercard to the Program Participant.

## How It Works {#how-it-works}

You (as an Originating Institution or Transaction Initiator) make an **Account Verification** API call (POST request) for each card account, supplying as many details as possible. For example, you could make API calls when a card account is first captured (e.g. during consumer registration or when added to your app) and again prior to submitting a funding/payment request, as shown below (step 2).

Person-to-person (P2P) payment example:

![Mastercard Send AVS how it works](https://static.developer.mastercard.com/content/mastercard-send-avs/documentation/img/mastercard-send-avs-how-it-works.png)

*\* When checking a receiving card account, the card issuer and Receiving Institution are the same entity.*

Mastercard Send uses a non-financial request to validate the supplied card account details with the card issuer. The issuer's response codes are translated into status values that are provided to you in the API response (step 5), which you can use to determine app functionality (e.g. whether to proceed with the transfer flow).

This service might be unable to validate card accounts with card issuers when:

* The Receive Network has not enabled issuer verification of account/address information
* The issuer cannot or does not provide a response

### API Requests {#api-requests}

We recommend you submit as much account and address information as possible in your API request, because additional detail improves the accuracy of the service. In particular:

* Account URI: The CVC/CVV is optional, but we recommended providing it as an extra security measure.

* Merchant Verification Value (MVV): If the API request is for a Visa token (tokenized PAN), you must provide the Visa-provided MVV.

* Address:

  * You must include a postal code of 5 or 9 digits (for example 63368, 633685555 or 63368-5555). For USA or Canada, this must be a valid value. For regions where postal codes are alternative formats/lengths or not used at all, specify an arbitrary 5 or 9-digit value, such as 12345 (cannot be blank filled).

  * You can provide some or all of the other address fields.

#### Aliases and Tokenized PANs {#aliases-and-tokenized-pans}

Depending on your implementation, you can use different types of aliases in your API requests to identify card accounts (Account URIs), such as:

* PANs and tokenized PANs
* Accounts registered in the Mastercard Send Consumer Mapping service
* Temporary tokens for card accounts captured using the Mastercard Send Lightbox service\*\*

You supply the alias using the appropriate schema, see [Account URIs](https://developer.mastercard.com/mastercard-send-avs/documentation/code-and-formats/index.md#account-uris).

*\*\* AVS cannot check the CVC for these card accounts because it cannot be stored on file and so it is not part of the tokenized information.*

### API Responses {#api-responses}

The API response will include `address_status`, `postal_code_status` and `cvc_status`. The status values can be MATCHED, NOT_MATCHED, or NOT_VERIFIED. See [Status Values](https://developer.mastercard.com/mastercard-send-avs/documentation/code-and-formats/index.md).
Note: A successful response from the Account Verification API service does not guarantee that the funding issuer or receiving issuer (Receiving Institution) will approve the funding/payment transaction. Other factors, such as transaction limits and the issuer's compliance and fraud checks, may cause it to decline a transaction.

### Additional Resources {#additional-resources}

* **Customer Portal** ---The Mastercard Move: Send Customer Portal is a near real‑time, self‑service tool to search transactions and download reconciliation reports for your Mastercard Send activity. You can look up financial and non‑financial transactions using multiple search filters, export results, and view transaction details and API payloads. The portal enables you to research and validate transactions quickly, helping you assist your consumers without needing Mastercard Support. See [Customer Portal](https://developer.mastercard.com/mastercard-send/documentation/customer-site/).

* **API changes and announcements** ---We provide advance notice of changes to the APIs. There may also be Mastercard announcements that impact Mastercard Send API customers. See [Release History](https://developer.mastercard.com/mastercard-send-avs/documentation/release-history/index.md).

## Getting Started {#getting-started}

### Before You Start {#before-you-start}

* **Sandbox**---This service has a Sandbox environment with mock APIs, enabling you to try the APIs quickly before registering as a Program Participant.

* **Registration** ---To use the full service, you must become a Mastercard Send Program Participant, which involves registering for the required programs and services (including the Account Verification service) and meeting program eligibility requirements; see [Mastercard Send Registration and Eligibility](https://developer.mastercard.com/mastercard-send/documentation/send-eligibility/). You will not be able to use the Account Verification APIs in the Mastercard Test Facility (MTF) or Production environments until your organization is approved as a Mastercard Send Program Participant and has onboarded to, and been set up for, this service.

<!-- -->

* **Region availability** ---All U.S., Canada, and U.K. Mastercard issuers support Account Verification requests. [Contact us](mailto:digital.support@mastercard.com) for pricing information.

### Good to Know {#good-to-know}

* The Account Verification service is an additional service that is meant to be used with the main Mastercard Send [Person-to-Person](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/), [Disbursements](https://developer.mastercard.com/mastercard-send-disbursements/documentation/), and/or [Funding](https://developer.mastercard.com/mastercard-send-funding/documentation/) services to enhance the funds transfer flow. You are likely to integrate and test with this service at the same time as the main funding/payment service, and you access these services using the same **Mastercard Send** API service (shown below), which you select when creating your API project. This means you can use the **same** project and authentication keys for the Account Verification service and the main funding/payment service.

  ![Service dropdown select Send](https://static.developer.mastercard.com/content/mastercard-send-avs/documentation/img/select-api-send.png)

  If you choose to implement the Account Verification service after launching your solution with the main services, you will need to ask your Mastercard representative or Account Manager to subscribe you to this service and initiate a new CIS implementation project; see [Implementing additional services](https://developer.mastercard.com/mastercard-send/documentation/implementation/#implementing-additional-services).

  If you intend to use multiple Mastercard API services, such as Mastercard Send and Mastercard Cross-Border Services, you can add them to the same Mastercard Developers project and use the same keys and credentials to access the APIs. [Follow this guidance](https://developer.mastercard.com/mastercard-send/documentation/implementation/getting-started/#adding-a-new-service-to-an-existing-project).
* When you have registered for this service and are ready to use the MTF environment, you must copy the Sandbox Consumer Key shown on your project page's Sandbox credentials panel (masked example shown below) and provide it to your Mastercard Delivery Manager (assigned to you during onboarding), identifying your project and that the key is for the MTF environment. It can take 5-7 business days for Mastercard to configure the MTF environment for your keys. Mastercard will notify you when you can start making API calls to that environment.

  ![Example consumer key](https://static.developer.mastercard.com/content/mastercard-send-avs/documentation/img/new-consumer-key.png)

  You must also do this for your Production Consumer Key when you have requested Production access for your project (by clicking **Request Production Access** in your project page).
* When you register as a Mastercard Send Program Participant, you will be given a unique Partner Reference ID. Use this for the `partnerId` portion of the endpoint URL for the MTF and Production APIs.

* If your solution will also use the Mastercard Send [Account Information Service](https://developer.mastercard.com/mastercard-send-account-info/documentation/), to check sending/receiving eligibility, we recommend making the Account Information API call before the Account Verification API call.

## Next Steps {#next-steps}

Start with [API Basics](https://developer.mastercard.com/mastercard-send-avs/documentation/api-basics/index.md) for information about API security and keys, how to use the APIs, and the different API environments that are available. Then set up a project and try the Sandbox APIs. For additional guidance, see [Tutorials and Guides](https://developer.mastercard.com/mastercard-send-avs/documentation/tutorials-and-guides/index.md).

For examples of how the API service could be used in a funds transfer flow, see [Use Cases](https://developer.mastercard.com/mastercard-send-avs/documentation/use-cases/index.md).

Your Mastercard representative can provide more information about this service. [Don't have a Mastercard representative?](https://developer.mastercard.com/mastercard-send-avs/documentation/support/index.md)
