UAT Sandbox
The UAT Sandbox allows you to simulate end to end payment flows and test your integration thoroughly. It uses templates that map APIs to predefined sample responses, enabling you to simulate various scenarios such as payment Success, Failure, and Pending without real transactions.
Benefits of using the UAT Sandbox
- Even if the PhonePe UAT server is unavailable, the UAT Sandbox ensures a smooth testing experience. You can continue validating payment flows without disruptions.
- Simulate various payment outcomes such as success, failure, and pending states. This helps ensure your integration handles all real-world scenarios reliably.
- Thoroughly test the entire payment lifecycle from initiation to response. This ensures a stable and seamless experience when you move to production.
Steps for Custom Checkout Page
Follow the below steps to verify different payment methods on the Custom Checkout page.
Web-Based Flows
- Update the Host URL of Sandbox for PG PAY and PG Check Status API:
Host: https://api-preprod.phonepe.com/apis/pg-sandbox
Android/iOS Test App
Download and install the PhonePe Test app to verify the flows in UAT.
- Android – Download from here [Package Name: com.phonepe.simulator]
- iOS – Share the Email ID with the PhonePe Integration Team on the integration thread to send the invite via Firebase.
- For Android & iOS, in the SDK, set the environment value as SANDBOX to test payments.
- If merchants use PhonePe iOS SDK, then use the environment
PPPayment(environment: .sandbox, enableLogging: true).startPG(transactionRequest: request, on: self, animated: true)
Note: The new SANDBOX environment is supported from iOS SDK Version: 2.7.0 and above.
Untrusted Enterprise Developer in iOS
Since the release of iOS 9, testers will be required to “trust” your organization’s Apple Enterprise developer certificate, one-time, before running Beta distributions.
Testers will see the message “Untrusted Enterprise Developer” when running an app from an untrusted certificate and can trust it by following the steps outlined below on their device.

- Navigate to Settings > General > VPN & Device Management.
- Select the developer under the “Developer App” section.
- Press “Trust [Developer]”.
- Select “Trust“.
How To Test UPI QR
- Don’t use PhonePe Test App to scan the QR.
- No need to pre set the template for Success, Failure or Pending.
- Instead, scan the UAT QR using any Production App directly.
- They will be shown a link to open
- After the link is opened, you can select “Success”, “Failure” or “Pending” as per the flow to be tested which will automatically set the template as per the selection.

How To Test UPI Collect
- Don’t use PhonePe Simulator App to set the VPA under Settings
- No need to pre set the template for Success, Failure or Pending.
- To verify and validate VPA,
- VALID VPA – success@ybl, failed@ybl, pending@ybl can be used.
- INVALID VPA – Any other random VPA other than success@ybl, failed@ybl and pending@ybl can be used to test.
- Instead, you can enter the below VPA’s for testing purpose.
- For Success, success@ybl (After clicking Pay, within 5 seconds, the user will be redirected)
- For Failure, failed@ybl (After clicking Pay, within 5 seconds, the user will be redirected)
- For Pending, pending@ybl (After clicking Pay, within 60 seconds, the user will be redirected)

How To Test Card/NetBanking
- No need to pre set the template for Success, Failure or Pending.
- Instead, you will be redirected to the page where you can select “Success”, “Failure” or “Pending” as per the flow to be tested which will automatically set the template as per the selection.

Test App Setup
- Click on “Test Case Templates” to configure the Success, Failure, or Pending templates only for Custom UPI Intent flow.

How to Test UPI Intent
Configure Template
Download the Demo Video – Here
To configure the required template only for Custom UPI Intent flow:
- Open the PhonePe Test App- Select the “Test Case Templates” button.
- Enter the “Merchant ID” and click “GET CONFIGURED TEMPLATES” to fetch the current templates if already set. Else, you will get “No Template Configured”
- For PG Integration – use the “Flow: Custom & Standard Checkout V2” to configure the required template for Success, Failure, or Pending scenarios
Steps to Configure Template

Make sure to set the right templates for the Custom Checkout integration.
The templates of Custom Checkout integration starts with the KeyWord: “Custom“
Templates for Custom UPI Intent
For Success - "Custom Intent Success for Android"
For Failure - "Custom Intent Failure"
For Pending - "Custom Intent Pending"For Success - "Custom Intent Success For IOS"
For Failure - "Custom Intent Failure For IOS"
For Pending - "Custom Intent Pending For IOS"Test Card Details
Credit Card
“card_number”: “4208585190116667”,
“card_type”: “CREDIT_CARD”,
“card_issuer”: “VISA”,
“expiry_month”: 06,
“expiry_year”: 2027,
“cvv”: “508”
Debit Card
“card_number”: “4242424242424242”,
“card_type”: “DEBIT_CARD”,
“card_issuer”: “VISA”,
“expiry_month”: 12,
“expiry_year”: 2023,
“cvv”: “936”
ℹ️ Simulation OTP
Use OTP 123456 on the bank page to complete the transaction simulation.
Test Net Banking Details
- Always use “bankId”: “SBIN” for testing purposes in the request payload of PAY API.
- Username: test
Password: test
and click “Submit” on the next screen.
ℹ️ Transaction Amount Limits for Testing!
For testing transactions, the lower amount limit is Rs.1 and the upper amount limit is Rs.1000. Please ensure your transaction requests stay within these limits.