FAQs
What is request id?
Request id is a random UUID v4 string. Request ids should be different for each activity. Refer Generating Request ID
What is customer id?
Customer ID is any unique reference string associated with your customer. Customer id should be same for a user with same email id, sim id and device id.
When do we call initiate?
For every new session, we need to call initiate so that it can download all the latest bundles and assets and will enable the SDK to boot up and fetch the preliminary data required to support subsequent operations for other SDK flows. Refer: Initiate
What is Process API? How is it different from Initiate? Use cases for calling this?
Process API should be triggered for all operations required from the SDK. This API can be triggered any number of times based on requirements or app flow structure. Initiate is used to start the SDK whereas Process is used to carry out all other actions supported by UPI In-app SDK. Refer: Process
, Process Payloads
What is UMN (Unique Mandate Number)?
Unique Mandate Number is used for execution of the mandate. It will be sent in response only if mandate is initiated by Payer.
What is getSessionToken? When should it be called?
This operation will provide the merchant with necessary information about the users onboarding status and VPA accounts available (if any). Based on the response, users will be redirected to different entry points in the onboarding & pay flow. It is required after every initiate for headless merchants. Default expiry of a session is 15 minutes. Refer: Get Session Token
, Session Expiry
What is the difference between P2P and P2M?
P2P (Person-to-person) refers to the transaction done between a person and an other person registered on UPI.
P2M (Person-to-merchant) refers to transaction done between the customer and the merchant.What is the difference between unverified and verified merchant?
Verified Merchants: These merchants are trusted merchant that has been securely added to the UPI system. You can safely make payment to Verified Merchant.
Unverified Merchants: These merchants are not verified on the UPI system. However, you may still make payments to these merchants.How many VPAs can the user have?
Users can have at max of 2 VPAs using our SDK.
Is mobile number VPA mandatory?
No, Users can create any VPA of there choice as long as that VPA is available to be taken.
On what all transactions can the complaints be raised?
If the money is debited but not credited to user :
In case your transaction is in Pending status kindly check the status of the transaction after T+2 working days. If the issue still persists, kindly raise a complaint.
In case your transaction has failed, but the amount was debited then the same will be reversed to you in T+2 working days. If you still face the issue, you can raise a complaint on transaction details page.
Which mandates can be edited by the user?
The Mandates that are PAYER (user) initiated can be edited by the user. The editable fields are date and amount of the mandate. However, user can revoke the mandate whenever he/she wishes.
What are the use cases of Check Permission process call?
The Check Permission process call is used to check if all the permissions required to run UPI In-app exists or not. If the permission does not exists, we can get the permissions using Get Permission process call. Refer: Check Permission
, Get Permission
What are the use cases of Get Sim Details process call?
The Get Sim Details process call is used to check whether sim is present in the device or not and to fetch the relevant data for the same. In case of IOS; there will be a default 2 sims in the response. However in Android ; there will the exact number of sims which are presented in the device. Refer : Get Sim Details.
What is P2M (Person-to-merchant) pay?
This operation will enable customers to pay for the order generated by the merchant. In simple words, in this operation, money is tranferred from the customer to the merchant. Refer: P2M Pay
When to use Valid VPA process call?
The merchant can call this API to check whether a VPA is valid or not. This call can be used before P2P payments to verify the VPA of the payee. Refer: Valid VPA
What is Signed Intent/QR?
The Signed Intent/QR Signature Generation process is used to sign customer's and non-verified merchant's QR/Intent URL. Merchants will have to sign their QR/Intent QR using their own private key and they have to share their public key with PSP. This API will create a signature using the PSP's private key and will return the signature in response. Refer: Signed Intent/QR Signature Generation
, Signed Intent/QR Signature Verification
What does deregister process do?
This process will be used for deregistering the customer from UPI In-app SDK. Removing the device binding, deleting the link between all the VPAs and accounts. Refer: Deregister
What does Block/Spam VPA process do?
The merchant can call this process to block a VPA or to mark it as spam. This process helps users to block or spam unknown or fraud vpas from which some incoming request is raised to user. Refer: Block/Spam Vpa
What is the difference between delete VPA & Delete account?
Delete VPA process deletes a customer VPA and its mapping to corresponding accounts. After deletion, same customer can claim that vpa again anytime. Here same customer means customer with the same merchantCustomerId and mobileNumber. Whereas, Delete Account process deletes a customer bank account account and its mapping to corresponding vpas. Device binding will be retained. This process should not be called on a primary account. Refer: Delete Vpa
, Delete Account
What is the difference between UPI Get Bank List & Get Accounts?
Get Bank List process is used to get details of all the banks including their UPI enable status and INN.
Get Accounts process helps merchant to allow a customer to fetch his/her bank accounts or credit card details by providing INN numbers received in the response of Get Bank List. Further, users can choose one or more among their fetched bank accounts and link them using Link Account to Vpa process. Refer: UPI Get Bank List, Get Accounts
, Link Account to Vpa
Do Get Accounts process return all bank accounts linked to customer mobile number? Will it return Credit Cards too?
This operation will return those bank accounts and CCs which are linked to customer mobile number and whose INN was sent in the process request. Refer: Get Accounts
Types of bank accounts we can get in UPI?
The account types that we can send are SAVINGS, CREDIT, CURRENT, SOD, UOD, NRO, NRE. In the case of LITE it will be present as e.g.) CURRENT || LITE.
Is Handling permission results mandatory?
Yes, the SDK requires all the permissions present in the Check Permission call. Denying the permissions will not allow the users to proceed further in the app. Refer: Check Permission
, Get Permission
What is the difference between Transaction List API & List Transactions process?
Transaction List API is a Server-to-Server API that takes order_id as a path variable and returns the status of the order along with other details. Whereas, List Transactions process is used to list all the transactions done by the user. Refer: Transaction List API
, List Transactions
How is QR Code generated?
QR code can be generated on different QR code generators available across internet. A QR code generator is a software which stores data into a QR code. Here, this data is the URL which can be constructed using NPCI guidelines.
What is the difference between Status Check APIs & Callbacks?
After the completion of every payment/refund call, Juspay will provide direct notification to merchant's server regarding the event. These are called Webhooks or Callbacks. Merchant must configure a valid HTTP endpoint that is reachable from our servers to consume these notifications. Our servers will push data using HTTP POST call to merchant's endpoint. Whereas, Status APIs are Server-to-Server API that takes orderid as a path variable and returns the status of the order along with other details.
Although, we send callbacks to the merchant server regarding certain events in the SDK, however, the merchant can anytime use the Status Check APIs to be know the status of a transaction. Refer: Backend APIs, Callbacks

