# Mastercard Send Person-to-Person
source: https://developer.mastercard.com/mastercard-send-person-to-person/documentation/index.md

## Overview {#overview}

The [Mastercard Send](https://developer.mastercard.com/product/mastercard-send/) Person-to-Person (P2P) services enable registered Program Participants (such as banks, issuers, and digital players) to provide P2P payment solutions that enable consumers/individuals (Senders) to transfer funds quickly, such as sending money to family and friends.

Acting as an Originating Institution or Transaction Initiator, the registered participant uses the services to initiate a Payment Transaction via the Mastercard Send platform to transfer funds to the Receiving Institution (Issuer) holding the Recipient's account.

![Mastercard Send Person-to-Person overview](https://static.developer.mastercard.com/content/mastercard-send-person-to-person/documentation/img/mastercard-send-p2p-payment-overview.png)

For example, P2P solutions can allow individuals to send secure digital payments from any account through any device, simply using the Recipient's card account number, email address, or phone number. Payments are received typically within seconds, compared to existing solutions that limit transfers within a closed-loop network or involve automated clearing house (ACH), which can take several days.

See [the product page](https://developer.mastercard.com/product/mastercard-send/) for marketing and case study details. See the [Experience Design Guide](https://developer.mastercard.com/mastercard-send-experience-design-guide/documentation/) for example user experience (UX) journeys.

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

Depending on the use cases and program requirements, you can send funds to supported Mastercard debit, credit, prepaid card, or mobile money accounts. In regions where connectivity is established, you can also send funds to supported non-Mastercard debit cards including Visa debit cards; Mastercard Send will route the Payment Transaction to the appropriate Receive Network.

You (as an Originating Institution or Transaction Initiator) make a [Payment Transfer API](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-reference/payment-transfer/index.md) POST request for each payment transfer. Mastercard Send validates the request (e.g. API request checks, Transaction controls, and limit validations) and, if OK, sends a Payment Transaction request message to the Receiving Institution via the relevant Receive Network for approval. The Receiving Institution approves or declines the transaction, and that decision is provided to you in the API response from Mastercard Send:

* Approved = 201 response with `status` value as 'APPROVED'
* Declined = The type of response is determined by the API request `decline_details` query parameter. The response is either:
  * 201 response with `status` value as 'DECLINED', if the query parameter was set to 'true'
  * 402 error with `ReasonCode` as 'DECLINE' (the default)

For details on the possible status values, see [Transfer Status](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/response-error-codes/status/index.md).

![Mastercard Send Person-to-Person how it works](https://static.developer.mastercard.com/content/mastercard-send-person-to-person/documentation/img/mastercard-send-p2p-how-it-works-2.png)

Each payment transfer has a unique `transfer_reference` ID, which you must generate and provide in the request, and it will be assigned a unique system-generated ID (`id`), which is returned in the response.

Depending on the downstream network, most API responses are within 2 seconds, see [API Response Times and Timeouts](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-basics/index.md#api-response-times-and-timeouts). In rare cases, such as timeouts or network communication issues, a transfer can have an ['UNKNOWN' status](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/response-error-codes/unknown-response/index.md) (Mastercard Send will continue to retrieve the latest status from the Receive Network).

You can use a [Payment Transfer API](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-reference/payment-transfer/index.md) GET request (with one of the IDs) to retrieve more information for a payment transfer, including its latest status. Example uses:

* Get the network decline code and description when a transaction is declined --- useful when the `decline_details` query parameter was not used to return those fields in the POST response
* Get the latest status when a transaction response was 'UNKNOWN'
* Transaction history and research purposes

<br />

There is an optional extra [Idempotency](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-basics/index.md#idempotency) feature that, when enabled, allows you to make the same payment transfer request multiple times without worrying about the transaction being processed multiple times.
Note: You must secure the Sender's funds before initiating a payment transfer. If you do not hold the Sender's funds, the [Mastercard Send Funding service](https://developer.mastercard.com/mastercard-send-funding/documentation/) can be used to request the funds from their issuer.

Mastercard does not transmit funds. All Mastercard Send and Mastercard Network funds are transmitted by a licensed Financial Institution for which Mastercard provides data processing services.

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

Depending on your implementation, you can use different types of aliases in your Mastercard Send API calls to identify sending or receiving 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-person-to-person/documentation/field-uris-codes/account-uris/index.md).

Mastercard Send supports the use of Mastercard and Visa tokenized PANs, which are supplied using 'pan' [Account URIs](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/field-uris-codes/account-uris/index.md). You can use the [Mastercard Digital Enablement Service (MDES)](https://developer.mastercard.com/product/mdes) to tokenize Mastercard PANs. If you use a Visa token in an API request, Mastercard Send passes the token to Visa, who will pass the PAN to the Receiving Institution.

### Additional Services {#additional-services}

There are other optional Mastercard Send services you can use with the P2P services to enhance the funds transfer flow, including:

* [Account Information Service](https://developer.mastercard.com/mastercard-send-account-info/documentation/), which retrieves information about card accounts, including sending and receiving eligibility.

* [Account Verification Service (AVS)](https://developer.mastercard.com/mastercard-send-avs/documentation/), which checks card accounts with issuers in real time.

* [Account Validation](https://developer.mastercard.com/account-validation/documentation/), which checks cardholder names and, optionally, the Card Verification Code (CVC or CVV) with issuers in real time.

* [Currency Conversion Calculator for Originating Institution Reconciliation](https://developer.mastercard.com/payment-currency-conversion/documentation/), which provides real-time access to Mastercard daily currency conversion rates for cross-border transfers.

* **Lightbox** , which enables you to embed a customizable secure card capture interface into your app/web portal so that consumers supply their card information directly to Mastercard systems. The service creates a temporary token for the card data (with a 30-minute lifespan) that you can use for one payment. For more information about this service, contact your [Mastercard representative](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/support/index.md).

* **Consumer Mapping** , which is a consumer registration service for storing the consumer and account information that you capture, so that it is retained securely by Mastercard for your long-term use. The mappings you create have system-generated IDs and reference IDs that you provide. For more information about this service, contact your [Mastercard representative](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/support/index.md).

Some services are optional fee-based services and require configuration. For more information about available services, see the [product page](https://developer.mastercard.com/product/mastercard-send).

You can use Lightbox tokens and Consumer Mapping IDs as [Account URI](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/field-uris-codes/account-uris/index.md) aliases in Account Information, Account Verification, and Payment Transfer API calls.

### Additional Resources {#additional-resources}

* **Reports** ---Mastercard provides reconciliation reports to Mastercard Send participants who are using the P2P services. For information on report specifications, obtaining the reports, and sample files, see [Mastercard Send Reconciliation Reports](https://developer.mastercard.com/mastercard-send/documentation/reports/).

  During program onboarding, you can configure up to four custom fields which will be added to your reconciliation reports. This enables you to provide custom values in your Payment Transfer API POST requests (in the `reconciliation_data.custom_field` array) which will appear in your reports, providing additional transaction reference information that assists with reconciliation and transaction research.
* **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-person-to-person/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 service, you must become a Mastercard Send Program Participant, which involves registering for the required programs and services (including the Person-to-Person services) 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 P2P 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** ---This API service is available in most markets. [Contact us](mailto:digital.support@mastercard.com) for pricing and region information.

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

* We recommend you also use the [Account Information Service](https://developer.mastercard.com/mastercard-send-account-info/documentation/) and [AVS](https://developer.mastercard.com/mastercard-send-avs/documentation/) (in that order) to check Sender and Recipient card accounts prior to making Payment Transfer API calls.

* You can integrate and test with the Account Information Service, AVS, and Funding Service at the same time as the P2P service---you access them 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 P2P service and these other services.

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

  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-person-to-person/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.

## Next Steps {#next-steps}

Start with [API Basics](https://developer.mastercard.com/mastercard-send-person-to-person/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-person-to-person/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-person-to-person/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-person-to-person/documentation/support/index.md)
