# Mastercard Send Funding
source: https://developer.mastercard.com/mastercard-send-funding/documentation/index.md

## Overview {#overview}

The [Mastercard Send](https://developer.mastercard.com/product/mastercard-send/) Funding service enables a registered Program Participant (such as a Financial Institution or digital player) to secure funds from a consumer's sending account (known as the Funding Account) that will then be transferred (given or sent) to a Recipient/beneficiary.

Acting as an Originating Institution or Transaction Initiator, the registered participant uses the service to initiate a Funding Transaction via the Mastercard Send platform to the Sender's Issuer, who debits the Funding Account. The participant can then transfer the debited amount to the Recipient, for example by using the [Mastercard Send Person-to-Person (P2P) services](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/) to initiate a Payment Transaction to the issuer holding their account (Receiving Institution).

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

Funding Transactions can also be used to load or top up digital wallets, prepaid accounts, and other accounts in near real-time.

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 secure funds from supported Mastercard or Maestro debit card accounts. In regions where connectivity is established, you can also secure funds from supported non-Mastercard debit cards including Visa debit cards; Mastercard Send will route the Funding Transaction to the appropriate Network.

There are two resources:

* **Funding API** creates and retrieves details for a funding transfer (Funding Transaction)
* **Funding Reversal API** creates a Funding Reversal Transaction to reverse a funding transfer

<br />

You (as an Originating Institution or Transaction Initiator) use a [Funding API](https://developer.mastercard.com/mastercard-send-funding/documentation/api-reference/index.md) POST request to create a Funding Transaction to secure the funds you are going to send to the Recipient. Mastercard Send validates the request (e.g. API request checks, Transaction controls, and limit validations) and, if OK, sends a Funding Transaction request message to the Sender's Issuer via the relevant Network for approval. The Issuer 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-funding/documentation/response-error-codes/status/index.md).

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

Each funding 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-funding/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-funding/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 [Funding API](https://developer.mastercard.com/mastercard-send-funding/documentation/api-reference/index.md) GET request (with one of the IDs) to retrieve more information for a funding 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 />

If the overall funds transfer cannot complete successfully (for example the P2P Payment Transaction to the Sender is rejected or declined), use a [Funding Reversal API](https://developer.mastercard.com/mastercard-send-funding/documentation/api-reference/index.md) POST request to reverse the Funding Transaction. Funding reversals must be submitted within 30 minutes of the funding transfer request.
Note: 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

You supply the alias using the appropriate schema, see [Account URIs](https://developer.mastercard.com/mastercard-send-funding/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-funding/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 Funding service 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.

* **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-funding/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 Consumer Mapping IDs as [Account URI](https://developer.mastercard.com/mastercard-send-funding/documentation/field-uris-codes/account-uris/index.md) aliases in Account Information, Account Verification, and Funding API calls.

### Additional Resources {#additional-resources}

* **Reports** ---Mastercard provides reconciliation reports to Mastercard Send participants who are using the Funding service. 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 Funding 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-funding/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 Funding 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 Funding 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 Funding API calls.

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

  ![Service dropdown select Send](https://static.developer.mastercard.com/content/mastercard-send-funding/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-funding/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-funding/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-funding/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-funding/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-funding/documentation/support/index.md)
