# UAT checklist

Production Acceptance Testing, also called User Acceptance Testing (UAT), gets started when the Acquiring Service Provider (ACQP) launches an application into production in Alipay+ Developer Center. Comprehensive UAT helps the integration with Alipay+ go live smoothly and efficiently.

This topic guides you (ACQP) to go through tasks that need to be completed before, during, and after UAT.

#### Tab: Before UAT

Before UAT, check if you have finished the following items:

-   Provide the information of the following merchants for the Alipay+ Solution Architect (SA) **as early as possible** to register with Mobile Payment Providers (MPPs):

-   Merchants that support Cashier Payment, Auto Debit, or both
-   Merchants that support only in-store payments but want their consumers to pay with the AlipayCN wallet

-   Run and pass all test cases in Alipay+ Developer Center. For step-by-step instructions, see [Conduct sandbox acceptance testing](../developer_center_acq/conduct_sandbox_acceptance_testing).
-   Configure the production environment and launch the application. For step-by-step instructions, see [Launch into production](../developer_center_acq/launch_into_production).
-   \[TSP\] Get authorized for the application and obtain the value of the _Agent-Token_ parameter for making API calls in the production environment. For step-by-step instructions, see [Invite the ACQP for authorization](../developer_center_tsp/invite_acq_for_authorization).Negotiate about the UAT time with the Alipay+ SA.
-   Apply for test MPP accounts for UAT.
-   Provide the Alipay+ SA with the IP address that is used to access the SFTP server and the Alipay+ SA adds the IP address to an allowlist.
-   Check your local codes and release them into production.

#### Tab: During UAT

During UAT, run and pass the following test cases:

-   Required **Accept a payment**: To integrate different payment products, different test cases need to be tested:

-   **Cashier Payment**: The merchant initiates a transaction and the ACQP accepts the payment by using the **pay** API. Note that if the merchant owns multiple terminals, including Web, WAP, and app, the test case needs to be passed at all terminals.
-   **Auto Debit**: The merchant initiates a transaction and the ACQP accepts the payment with the access token by using the **pay** API.
-   **Merchant-presented Mode Payment**: The consumer scans the QR code that is presented by the merchant with an MPP app and the ACQP accepts the payment by using the **pay** or **userInitiatedPay** API. Note that in this scenario, the merchant needs to print a receipt after the payment is completed.
-   **User-presented Mode Payment**: The merchant scans an Alipay+ payment code that is presented by the consumer on an MPP app and the ACQP accepts the payment by using the **pay** API. Note that in this scenario, the merchant needs to print a receipt after the payment is completed.

Moreover, in all test cases above, the payment result needs to be obtained via the **notifyPayment** or **inquiryPayment** API, and successfully displayed to the consumer.

-   Required **Refund a payment**: The ACQP refunds a payment by using the **refund** API.
-   Optional **Cancel a payment**: The ACQP cancels a payment by using the **cancel** API.

**Important**: To conduct UAT on reconciliation, do not refund or cancel all payments that are accepted successfully.

-   Conditional **Obtain the user authorization**: The ACQP obtains the user authorization for deducting funds from their wallet account by using the **prepare** and **applyToken** APIs. Note that if the merchant owns multiple terminals, including Web, WAP, and app, the test case needs to be passed at all terminals.

This test case is required only if the ACQP integrates the Auto Debit product.

-   Conditional **Register a merchant**: The ACQP registers a merchant with MPPs by using the **registration** API.

This test case is required only in either of the following situations:

-   The merchant supports Cashier Payment, Auto Debit, or both.
-   The merchant supports only in-store payments but wants its consumers to pay with the AlipayCN wallet.

-   Conditional **Declare a payment**: The ACQP declares a payment at customs by using the declare API.

This test case is required only if the payment is processed with the AlipayCN wallet and involves cross-border shipping.

For more information about how to work with Alipay+ APIs, see [API Reference](../api_acq).

#### Tab: After UAT

After UAT, check if you have finished the following items:

-   **On T+1 (natural day)**, log in to the SFTP server to download the clearing reports, including the Transaction Detail Report, Transaction Summary Report, and Fee Report.
-   **On T+1 (common business day)**, log in to the SFTP server to download the Settlement Report and check the settlement funds of the AlipayCN wallet.
-   **On T+2 (common business day)**, log in to the SFTP server to download the Settlement Report and check the settlement funds of MPPs excluding AlipayCN.

For more information about how to reconcile with Alipay+, see [Reconcile](../reconcile_acq).