# Use Cases
source: https://developer.mastercard.com/community-pass-payment-apis/documentation/use-cases/index.md

This section provides sample use cases for implementing solutions using the **MCPP APIs**. You could use MCPP APIs to define your own user experience, functionality, and design.

## Supported Use Cases {#supported-use-cases}

The **MCPP APIs** support secure and affordable digitization of low-value payments.

|                                                        Type                                                        |        Endpoint         |                                                                                         Description                                                                                         |
|--------------------------------------------------------------------------------------------------------------------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Callbacks](https://developer.mastercard.com/community-pass-payment-apis/documentation/api-reference/index.md)     | /payments/callbacks     | This API is to be used by the payment provider to notify payment status to relevant Mastercard Applications in case the payment was initiated by the Mastercard Application.                |
| [Notifications](https://developer.mastercard.com/community-pass-payment-apis/documentation/api-reference/index.md) | /payments/notifications | This API is to be used by the payment provider to notify a payment status to relevant Mastercard Applications in case the payment was initiated from an application external to Mastercard. |
| [Validations](https://developer.mastercard.com/community-pass-payment-apis/documentation/api-reference/index.md)   | /payments/validations   | This API is to be used to validate customer information present within relevant Mastercard Applications.                                                                                    |

## Callbacks {#callbacks}

When a payment request is initiated from an Application internal to Mastercard, the payment request status is marked as "request in progress" within Mastercard systems. Subsequently, when the request is processed at the payment provider's end, the provider can initiate the Callbacks API for updating the relevant Mastercard Applications about the payment request status (i.e. success or failure).

### Technical details {#technical-details}

The following outlines the sequence of events:
Diagram callbacks
API Reference: `POST /callbacks`

### Steps {#steps}

The following details the steps in the above sequence diagram:

1. The payment provider, after processing the submitted payments, calls the Callbacks API `POST /payments/callbacks` on Mastercard Developers to update the payment status.
2. Mastercard Developers delegates the API call to payment orchestrator.
3. The payment orchestrator determines the routing.
4. The payment orchestrator delegates the request to the relevant Mastercard Application.
5. The Mastercard Application updates the payment information present in the Mastercard system.
6. The Mastercard Application returns the transaction status (i.e. success/failure) to the payment orchestrator.
7. The payment orchestrator returns the transaction status (i.e. success/failure) to Mastercard Developers.
8. The Mastercard Developers returns the transaction status (i.e. success/failure) to the payment provider which initiated the request.

## Validations {#validations}

The Validations API enables a payment provider to verify customer's information before processing a payment. The payment provider initiates a request to the Validations API which validates the customer information and returns customer details from relevant Mastercard Applications to the payment provider.

#### Technical Details {#technical-details-1}

The following outlines the sequence of events:
Diagram validations
API Reference: `POST /validations`

#### Steps {#steps-1}

The following details the steps in the above sequence diagram:

1. The payment provider calls the validations API `POST /payments/validations` hosted on Mastercard Developers to verify customer's information.
2. Mastercard Developers delegates the API call to payment orchestrator.
3. The payment orchestrator determines the routing application that the above request pertains to.
4. The payment orchestrator delegates the request to the relevant Mastercard Application.
5. The Mastercard Application validates the customer information.
6. The Mastercard Application returns the customer details to the payment orchestrator.
7. The payment orchestrator returns the customer details to the Mastercard Developers.
8. The Mastercard Developers returns the customer details to the payment provider which initiated the request.

## Notifications {#notifications}

The Notifications API enables a payment provider to update relevant Mastercard Applications about a Payment Status (i.e. success or failure) in case the payment request was initiated from an Application external to Mastercard.

#### Technical Details {#technical-details-2}

The following outlines the sequence of events:
Diagram notifications
API Reference: `POST /notifications`

#### Steps {#steps-2}

The following details the steps in the above sequence diagram:

1. The payment provider calls the Notifications API `POST /payments/notifications` on Mastercard Developers to update the payment status once the consumer initiates a payment
2. Mastercard Developers delegates the API call to payment orchestrator.
3. The payment Orchestrator determines the Mastercard Application that the above request pertains to.
4. The Payment Orchestrator delegates the request to the relevant Mastercard Application.
5. The Mastercard Application updates the payment information present in the Mastercard system.
6. The Mastercard Application returns the transaction status (i.e. success/failure) to the Payment Orchestrator.
7. The Payment Orchestrator returns the transaction status (i.e. success/failure) to the Mastercard Developers.
8. The Mastercard Developers returns the transaction status (i.e. success/failure) to the payment provider which initiated the request.
