Troubleshooting Steps


» What causes a 500 – Internal Server Error (Scenario with name null not found for api customCheckoutPayApi)? 

The error is typically caused when the API is being called without setting the respective test case template in the PhonePe Simulator App.

How do I resolve these errors?

Ensure that you set the respective test case template in the PhonePe Simulator App before calling the API. Refer to the UAT Sandbox documentation to install the app.


» What causes 400 – Bad Request Error? 

This error is usually caused by problems with the request structure, such as incorrect headers, incorrect API endpoints, or an incorrect request body.

How do I resolve 400 – Bad Request Error?

Verify that all headers are correct with correct API endpoints being called. Also, confirm you are using the credentials for the correct environment. Check that your request body is correctly structured according to the V2 API documentation.


» What causes 401 – Unauthorized Error? 

This error occurs when the access token is invalid or expired.

How do I resolve 401 – Unauthorized Error?

Ensure you are using a complete valid access token. We recommend generating a new access token at least 5 minutes before your current one is set to expire. You must pass the access token in the Authorization header using the specific O-Bearer prefix format (e.g., Authorization: O-Bearer <access_token>).


» What should I do if the webhook fails?

  • In addition to configuring the webhook, you must also configure the Order Status API. In the event of a webhook failure, you can rely on the data from the Order Status API to check the correct transaction status.
  • For pending transactions, it is mandatory to poll the Order Status API as webhook is sent for transactions in terminal states (COMPLETED/FAILED) only. Refer to UAT Checklist for more information.

» Why am I not receiving webhook responses?

  • Ensure you have created a valid webhook url, with no IP address or port number in it and https method and accept post json data.
  • Ensure there shouldn’t be any data validations and rate limiting on the webhook API.
  • Ensure to acknowledge the webhook received from the PhonePe to avoid webhook failures.
  • Ensure to validate the authorization header – SHA256(username:password) received in the webhook response. 

» UPI Intent “App Not Opening” – how do I resolve this?

  • iOS LSApplicationQueriesSchemes: Ensure your Info.plist includes the schemes for UPI apps (e.g., phonepe, gpay, paytm). Without this, the OS will block the intent.
  • Universal Links: Verify that the intentUrl returned by the API is being handled as a URL that can open external apps, not just as a web link.

» What causes a 500 – Internal Server Error? 

The error is typically caused when the API is being called without setting the respective test case template in the PhonePe Simulator App.

How do I resolve these errors?

Ensure that you set the respective test case template in the PhonePe Simulator App before calling the API. Refer to the UAT Sandbox documentation to install the app.

Is this article helpful?