---
page_source: https://docs.juspay.io/upi-inapp/android/resources/error-codes
page_title: Error Codes
---


## SDK Error Codes




### Sample Error Payload



SDK errors will be received in the following format:


#### JSON Code Snippet:

```json
{
  "service": "in.juspay.hyperapi",
  "requestId": "430f6bdc-fc54-412d-81f0-7497aa2faca5",
  "payload": {},
  "event": "process_result",
  "errorMessage": "Unable to process payment",
  "errorCode": "JP_012",
  "error": true
}
```



| Key | Type | Description |
|---|---|---|
| requestId | String | A unique randomly generated unique string for triggering any operation on HyperSDK. Usually used to match if response or callbacks are triggered for the same operation. Should be a UUID string. <a href='generating-request-id'>Click here</a> for reference. |
| service | String | A reference to the Juspay product being consumed |
| payload | String | Contains all relevant information required to complete an operation in input or output of an operation in output. |
| error | Boolean | Root key to identify if an operation triggered on SDK was successful or failure. |
| errorCode | String | A set of defined codes for errors triggered for different cases for SDK. |
| errorMessage | String | Details about the error message to help figure out integration or transactional issues. |


The following table lists client/server error codes that Hyper SDK returns in response to calls.


### Juspay Errors




| Error Codes | Description | Error Handling | Sample Error Messages |
|---|---|---|---|
| JP_000 | Reason Unavailable | Contact Juspay Support | <ul><li>Unknown Exception</li></ul> |
| JP_001 | This is mainly caused due to an incorrect business logic. | Please ensure that all parameters are passed as per documentation. Please ensure that order creation was completed for the particular order ID that was passed for the transaction call (applicable if you are required to create order through server to server call). | <ul><li>Unknown event : <i>event_name</i></li><li>User Denied Permission</li><li>Error while fetching permissions</li><li>Unable to fetch sims</li><li>Timed Out</li><li>Exit : Error Status not matched <i>status</i> (NOPERMISSION / FRESH / BOUND / LINKED)</li></ul> |
| JP_002 | This error code is received when a user backpressed. | Allow user to retry the payment. | <ul><li>USER_ABORTED</li></ul> |
| JP_003 | This is an Integration error caused due to type mismatch in parameters. The error message will state the parameter name and expected type. | Please refer this documentation and try verifying the parameters and it's type. | <ul><li>Wrong/Missing params</li><li>Initiate was failure</li><li>Unknown Operation</li><li>An order with same OrderId already exists.</li><li>Sdk params not found in response</li><li>Order Id not found.</li><li>Wrong/Missing params: issuing_psp is missing</li><li>Action Unmatched</li><li><i>Mandatory Parameter</i>: Type mismatch: expected String, found Undefined</li><li>Unknown action: <i>action</i></li></ul> |
| JP_004 | User based errors. | Please ask the user to perform respective actions required. | <ul><li>Not eligible for inapp</li><li>Unknown Exception</li><li>Sim cards not available</li><li>Please turn off Airplane mode</li><li>Sim card is not ready</li><li>Unable to send SMS</li><li>Mobile Data is Off</li><li>Activity was sent to background</li></ul> |
| JP_005 | User is not connected to the internet. | Ask user to connect to the internet. | <ul><li>No internet</li></ul> |
| JP_006 | Delay in updation of transaction status. Awaiting response from PG. | Invoke the Juspay Order Status API to check the status. | <ul><li>Transaction status is awaited</li></ul> |
| JP_007 | Unable to redirect to a valid URL to proceed with transaction<br><span style='color: red'>Not specific to UPI</span> | Contact Juspay Support | <ul><li>Page not found</li></ul> |
| JP_008 | Mandatory configurations on Juspay dashboard are incorrect/incomplete | Check dashboard configuration (or) Contact Juspay Support | <ul><li>Sdk params not found in response</li><li>Unable to fetch sdk version. Please check if resource is present</li><li>Invalid account referenceId</li><li>Unable to fetch device details</li><li>Invalid account reference id</li><li>Mpin not set</li><li>Invalid Vpa</li><li>Invalid account reference id/ Vpa / Mpin not set</li><li>registerUPILiteARPC failure</li><li>liteDeregister failure</li><li>NPCI Token is missing</li><li>Session token call not found</li><li>Auth Missing</li><li>Unable to fetch sims</li><li>Maximum 2 vpas can be linked to an account.</li><li>Invalid account referenceId</li></ul> |
| JP_009 | This is an error specific to Native OTP flow, where the user had exceeded the limit of incorrect OTP submissions. This will mostly lead to issuer blocking the users' card.<br><span style='color: red'>Not specific to UPI</span> | Allows user to retry payment with different payment method. | <ul><li>Submit OTP allowed is false</li></ul> |
| JP_010 | Feature is not supported | Contact Juspay Support | <ul><li>Feature not supported at the moment</li></ul> |
| JP_011 | Server error | Contact Juspay Support | <ul><li>INTERNAL_SERVER_ERROR</li></ul> |
| JP_012 | Transaction failure at PG end. The error message sent by the respective PG for various use cases will be passed for corrective action. | Allow user to retry the payment. Take corrective action to reduce such errors by getting in touch with respective PG | <ul><li>Transaction Failed at bank end.</li><li>There was a problem fetching the UPI session.</li><li>Unable to process API</li><li>No Linked accounts found</li><li>No Customer Id found</li><li>No Vpa Accounts Linked</li><li>Could not fetch customer info</li><li>Could not update upi number</li><li>Could not check upi number status</li><li>Could not fetch customer info</li><li>Could not create upi number</li><li>Mobile number not eligible for UPI</li><li>Could not link account.</li><li>Could not get permission.</li><li>Could not check balance.</li><li>Could not set mpin.</li><li>Mandate creation failed at bank end.</li><li>UPI ID is not registered.</li><li>Integration error creds response mismatch.</li><li>Integration error creds could not be fetched.</li><li>API failure : reason unknown</li><li><b><i><a href='backend-response-codes'>Backend/PSP error messages</a></i></b><br>Example: UPI Service is not reachable at a moment, etc.</li><li><i><a href='response-codes'>NPCI error messages</a></i></li></ul> |
| JP_014 | Minimised before launching cct activity<br><span style='color: red'>Not specific to UPI</span> | CCT cannot be opened if app is in background. Also CCT force timeouts after 180 sec | <ul><li>Startactivity in background failed, CCT activity timeout</li></ul> |
| JP_015 | Transaction can not go through the cred application<br><span style='color: red'>Not specific to UPI</span> | Take appropriate action, give user message 'Cred App is not present on your device' | <ul><li>Cred App is not present in device</li></ul> |
| JP_016 | Juspay Safe Mode could not rescue the transaction<br><span style='color: red'>Not specific to UPI</span> | Reinitiate the payment | <ul><li>Some error occured in Juspay Safe Mode</li></ul> |
| JP_017 | Initiate was called multiple times on an instance before terminating the SDK | Using isInitialised() to check whether the SDK has been initiated or not | <ul><li>initiate() can only be called once without terminate()</li></ul> |
| JP_018 | Required permissions to run SDK does not exists | Allow users to grant those permissions | <ul><li>Permission Failure</li><li>No Permisison</li></ul> |



### Sub Error Codes



These are the error codes that is sent inside the payload of responses. Sample JSON:


#### JSON Code Snippet:

```json
{
  "service": "in.juspay.hyperapi",
  "requestId": "430f6bdc-fc54-412d-81f0-7497aa2faca5",
  "payload": {
    "status": "FAILURE",
    "otherInfo": { "subErrorCode": "APP_TOGGLED" },
    "action": "upiBindActivateDevice"
  },
  "event": "process_result",
  "errorMessage": "Activity was sent to background",
  "errorCode": "JP_004",
  "error": true
}
```



| Process API | Sub Error Code | ERROR MESSAGE |
|---|---|---|
| upiBindActivateDevice | APP_TOGGLED | - |
