# Use Cases
source: https://developer.mastercard.com/mastercard-send-funding/documentation/use-cases/index.md

These example use cases demonstrate a funding transfer facilitated by this API. They are based on the graphical [Top up a digital wallet from a card](https://developer.mastercard.com/mastercard-send-experience-design-guide/documentation/design/funding/top-up-digital-wallet-from-card/) flow in the Mastercard Send Experience Design Guide. Note that these examples do not prescribe the design and interactions of your service; those aspects are for you to define.

### Scenario {#scenario}

* Ali Young (the Sender) is using a mobile wallet app and wants to add money to her wallet ('top up').

* Ali has already added her card account details to her wallet profile.

* You (the Transaction Initiator) provide the app, and the funds for all app users' wallet balances are held in your business account. When app users top up or pay with their wallets, you transfer the corresponding funds to or from your account, respectively, and adjust their wallet balances.

* For wallet top ups, you use the Mastercard Send APIs to transfer the funds from the user's card account (the sending account) to your account (the receiving account). Your app provides a fast\* top up method, which has a transaction fee.

* You are partnering with a bank, who is a Mastercard customer and holds your business account. They sponsor your Mastercard Send transaction activity and are therefore regarded as the 'Sponsor Bank' or 'Sponsor Originating Institution' for your implementation.

  \* We recommend that you explain transfer times carefully in your app screens to increase clarity and avoid confusion. For example, if you use "instant" or "fast" to describe your most rapid transfer time, consider including asterisk disclaimer text such as: *\*Transfer times can vary. Most "instant" or "fast" transfers will take place in near real time but can take longer.*

Some example app screens --- the numbers relate to the steps in the flow below:

![alt text](https://static.developer.mastercard.com/content/mastercard-send-funding/documentation/img/mastercard-send-screens-funding.png)

### Overall flow for funding {#overall-flow-for-funding}

Diagram mastercard-send-sequence-funding-overview

1. In the app profile screen, Ali taps **Manage** and then **Add money**.

2. Ali enters the transfer amount ($100 USD), chooses the fast method with fees (deducted from the transfer amount), selects the saved card account, and taps **Add**.

   We recommend you check the sending account is valid and eligible for this transfer. You can use the [Account Information](https://developer.mastercard.com/mastercard-send-account-info/documentation/), [Account Verification](https://developer.mastercard.com/mastercard-send-avs/documentation/), and [Account Validation](https://developer.mastercard.com/account-validation/documentation/) services to do this.

   The app shows the transaction fee ($2.00 USD) and the amount that will be added to the wallet ($98.00 USD).
3. Ali confirms and initiates the transfer by tapping **Confirm transfer**.

4. Use a Funding API POST call to [create a funding transfer](https://developer.mastercard.com/mastercard-send-funding/documentation/use-cases/create-transfer/index.md) to transfer the funds ($100 USD) from Ali's sending account.

5. If the funding transfer status is 'APPROVED', the app indicates success and shows the updated wallet balance in the profile screen.

6. If the status is 'UNKNOWN', possibly due to timeouts or network communication issues, wait a minute and use a Funding API GET call to [retrieve the funding transfer](https://developer.mastercard.com/mastercard-send-funding/documentation/use-cases/retrieve-transfer/index.md) details, including its latest status, see [this guidance](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/unknown-response/index.md); the status should change to 'APPROVED' or 'DECLINED'. If the status is 'DECLINED', the codes in the GET response can indicate the reason, see [here](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/network-response-codes/index.md).

7. When the status changes to 'APPROVED' or 'DECLINED', the app indicates the outcome.

Your Sponsor Originating Institution credits your receiving account for approved funding transfers.

See the detailed flows (links above) for the API calls to create and retrieve the funding transfer.

The approved API calls result in the accounts being credited or debited. If the funding transfer is not reversed, the actual funds move between the financial institutions --- from Ali's issuer to your Sponsor Originating Institution --- when they go through the settlement process.

### Funding reversal {#funding-reversal}

For some use cases, there may be situations where the funds secured by a funding transfer cannot be delivered to the intended recipient or beneficiary. An example is a person-to-person funds transfer where the funding transfer succeeded but the payment transfer to the Recipient was declined by their issuer.

In these situations, you can use a Funding Reversal API POST call to [reverse the funding transfer](https://developer.mastercard.com/mastercard-send-funding/documentation/use-cases/reverse-transfer/index.md) and cancel out its effect.

### Further details {#further-details}

* [API Reference](https://developer.mastercard.com/mastercard-send-funding/documentation/api-reference/index.md) provides the API specification that describes the API request and response fields.
* [Transfer Status](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/status/index.md) shows the possible status values.
* [Error Codes](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/error-codes/index.md) describes the API error responses.
