# Integration overview

This topic introduces the functions that Alipay+ User-presented Mode Payment provides and guides you through how to use the APIs to build an integration for these functions.

# Before you begin

Before you learn more about how to integrate with Alipay+ User-presented Mode Payment, ensure that you are familiar with the following things:

-   The [user experience](../product_intro_mpp/product_upm_mpp#sBVHT) that Alipay+ User-presented Mode Payment can provide to the consumers.
-   [General steps](../get_started_mpp) you need to take to go through the whole integration process.

# Build an integration

Use the APIs that are provided by Alipay+ to integrate the following User-presented Mode Payment functions as required:

## Notify users of Alipay+ availability

When a user travels abroad, the Mobile Payment Provider (MPP) can proactively notify the user of Alipay+ availability if you (the MPP) detect that the user is abroad and Alipay+ is available in the user region. For more information, see [Notify users of Alipay+ availability](../integration_user_mode_mpp/notify_availability).

## Make a payment

To support the users in making a payment, you need to take the following steps:

1.  Obtain the payment code from Alipay+ by calling the [**getPaymentCode**](../api_mpp/get_payment_code) API.
2.  Render and present the Alipay+ payment code in the MPP app.
3.  Process the Alipay+ payment requests by using the [**pay**](../api_mpp/pay) API.

For more information about how to integrate related APIs to make a payment, see [Make a payment](accept_payments).

## Return payment results

You can synchronously return the payment result to Alipay+ by using the **pay** API. However, to ensure that Alipay+ can receive the payment result, you need to integrate the **inquirePayment** API, and is recommended to integrate the **notifyPayment** API. For more information about how to integrate the APIs, see [Notify payment result](notify_payment_result) and [Respond to payment inquiry](respond_to_payment_inquiry).

## Cancel and refund

To support the users in refunding and canceling payments, you need to integrate the **refund** and **cancelPayment** APIs. For more information about how to integrate the APIs, see [Cancel a payment](cancel_payment) and [Refund](refund).

# More operations

Apart from the payment-oriented functions that are mentioned above, Alipay+ provides more services and APIs for you to manage your business.

#### Tab: Reconcile

Alipay+ provides multiple types of transaction reports to help MPPs to perform the clearing and settlement of transactions. MPPs can download and use reports to streamline their business workflows. For more information, see [Reconcile](../reconcile_mpp/reconcile_overview).

#### Tab: Handle a dispute

Alipay+ provides related APIs to enable you to initiate disputes after transactions occur and receive responses from Acquiring Service Providers (ACQPs). For more information about how to integrate the APIs, see [Dispute](../api_mpp/initiate_retrieval).

# More information

Go through the section below to obtain more information that empowers your integration:

-   When using APIs to integrate, you need to take the following things into consideration:

-   Make a POST request to the corresponding address with the identity information, signature, and business parameters in the HTTP request. For more information about the structure of a request and response, see [API overview](../api_mpp/api_overview).
-   To ensure message transmission security, the MPP must [sign the request and validate the signature](../api_mpp/signature) properly. When calling an Alipay+ API, the MPP must sign the API request and validate the response signature accordingly; when receiving an API call from Alipay+, the MPP must validate the request signature and sign the API response accordingly.

-   For the full list of APIs that are provided for User-presented Mode Payment, see [APIs](api).