What is UAT Sandbox?
The UAT Sandbox is used to simulate the end-to-end payment flows for online merchants. A template is a mapping of APIs and their mock responses using which merchants can simulate scenarios like Success, Failure, and Pending.
Benefits of using the UAT Sandbox
- Even when the PhonePe UAT server is down, the UAT Sandbox gives you a seamless user experience through which you will be able to test the end-to-end payment flow without any interruptions.
Sequence
- Steps for Custom Checkout Page
- Test App Setup
- Configure Template
- Templates for each type of Payment Method
- Test Card Details
- Test Net Banking Details
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“.
Test App Setup
- Click on “Settings” and configure the “VPA for Collect” like @ybl that can be used for testing the UPI Collect Flow.
Once the collect request is raised, then click on “Fetch Collect” to see the collect request in the PhonePe Test app and click “Pay” to complete the transaction. - Click on “Test Case Templates” to configure the Success, Failure, or Pending templates to receive the response accordingly.
By default, the Success template will be set and you will always get the Success Response.
Configure Template
Download the Demo Video – Here
To configure the required template,
- Open the PhonePe Test App- Select the “Test Case Templates” button.
- Enter the “Merchant ID” and click “GET CONFIGURED TEMPLATES”
- 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 Checkout” 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 each type of Payment Method
For Success - "Custom UPI Intent Success for Android"
For Success (Unmasked) - "Custom UPI Intent Unmasked Success for Android"
For Failure - "Custom UPI Intent Failure for Android"
For Pending - "Custom UPI Intent Pending for Android"
For Success - "Custom UPI Intent Success For IOS"
For Success (Unmasked) - "Custom UPI Intent Unmasked Success for IOS"
For Failure - "Custom UPI Intent Failure For IOS"
For Pending - "Custom UPI Intent Pending For IOS"
For Success - "Custom UPI Collect Success"
For Success (Unmasked) - "Custom UPI Collect Unmasked Success"
For Failure - "Custom UPI Collect Failure"
For Pending - "Custom UPI Collect Pending"
//VPA Validation
For Success - "Custom UPI Collect Success"
For Failure - "Custom UPI Collect Vpa failure"
For Success - "Custom Netbanking Success"
For Success (Unmasked) - "Custom Netbanking Success with account Constraints"
For Failure - "Custom Netbanking Failure"
For Pending - "Custom Netbanking Pending"
For Success - "Custom Card Success"
For Failure - "Custom Card Failure"
For Pending - "Custom Card Pending"
For Success - "Custom QR Success for Android"
For Success (Unmasked) - "Custom QR Unmasked Success for Android"
For Failure - "Custom QR Failure for Android"
For Pending - "Custom QR Pending for Android"
For Success - "Custom QR Success For IOS"
For Success (Unmasked) - "Custom QR Unmasked Success for IOS"
For Failure - "Custom QR Failure For IOS"
For Pending - "Custom QR Pending For IOS"
For any queries reach out to the PhonePe Integration team.
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”
Note: The OTP to be used on the Bank Page: 123456
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.
Note: For testing transactions, the lower amount limit is defined as Rs.1/- and the upper amount limit is defined as Rs.1000/-. Please make sure your transaction requests are within these limits.
Test Bank Details (TPV Flow)
To test a Successful NetBanking transaction with TPV, kindly use the below details in the Pay API request.
- “bankId”:”HDFC”
- “accountNumber”:”420200001892″,
- “ifsc”:”HDFC0000041″