IN-APP UPI with UI
1. Get Session Token
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.
Status Description
NOPERMISSION - User has not given necessary permissions yet (SMS, Phone).
FRESH - Necessary permissions are provided but the user is not registered.
BOUND - User registered on device but no accounts are found.
LINKED - User registered on device and valid accounts are found.
Unique uuid-v4 string.
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Parameters required to call Hyper SDK API
Operation to be performed in the SDK.
Example:- upiGetSessionToken
Key ID to identify the public-private key pair used for signature generation.
Signature generated for the signaturePayload
Signature payload is a stringified JSON of the details mentioned in the below table.
Unique identifier associated with an account created by juspay.Ex: stock
Any unique reference associated with your customer.
Time when request is created in milliseconds.
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Response Parameters
Operation performed in the SDK.
Example:- upiGetSessionToken
Status of the Operation. Possible values : FAILURE / FRESH / BOUND / LINKED. Accounts will be available only in case status is LINKED.
If the current device is in bound state or not.
Example:- Possible values: true/false
If the device is in active state or not
Example:- Possible values: true/false
Prefix to append before requestID
Example: ABC
It's an array of Vpa Accounts. We will get this only after successful linking of accounts.
Vpa
Accounts linked to this vpa
IIN Code for the bank
Name of bank
Account Number with last few digits visible
Length of mpin
Is mpin set?
Example:- Possible values: true/false
Account Reference Id
Length of OTP
Example: 6
Length of atm pin
Example: 6
Type of account
Example: Savings
Name of branch in which account is registered
Unique Identifier for bank account across banks
Account IFSC
This key will be available in UPI Lite usecase. The value of this either be 'true' or 'topup_txn_pending', the occurence of 'topup_txn_pending' will be very rare and its state will get updated in every 10mins.
Example:- Possible values: true/topup_txn_pending
Is this account the primary account
Example:- Possible values: true/false
Name of account holder
Example: ABC
Masked phone number of the customer
Example:-
Unique fingerprint of the device
As passed in request
Possible values :- true/false
Error Message
Error Code
Value: process_result
2. UPI Onboarding
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Parameters required to call Hyper SDK API
Operation to be performed in the SDK. Should be onboarding for this call.
Example:- Value: onboarding
Key ID to identify the public-private key pair used for signature generation.
Example: 1234
Signature generated for the signaturePayload.
Signature payload is a stringified JSON of the details mentioned in the below table.
Unique identifier associated with an account created by juspay.
Example: stock
Any unique reference associated with your customer.
Example: abcde12345
Time when request is created in milliseconds.
Example: 1665996901100
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Response Parameters
Operation performed in the SDK.
Example:- Value: onboarding
Status of the Operation. Possible values : SUCCESS, FAILURE
Example: SUCCESS
Array of bank accounts linked
UPI ID linked to account
Example: abc@xyz
Account Details
Bank Code
Example: 123456
Bank Name
Example: YES Bank
Account Number with last few digits visible
Example: XXXXXXXXX1234
Is MPIN set?
Example:- Value: true/false
Unique Identifier for the account
Example: abcd1234xyz
Is the account primary?
Example:- Value: true/false
Type of account: SAVINGS/CURRENT/OVERDRAFT
Example: SAVINGS
IFSC Code
Example: ABCD0123456
Account Holder Name
Example: ABC
Branch Name
Example: Bengaluru
Account selected from array of linked accounts
Example:- Details of selected bank account
In case status=LINKED, this key will contain all the required user information.
Example:- Refer above section
Possible values :- true/false
Error Message
Error Code
Value: process_result
3. UPI Onboarding and Payment
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Parameters required to call Hyper SDK API
Operation to be performed in the SDK. Should be onboardingAndPay for this call.
Example:- Value: onboardingAndPay
Customer mobile number. Device binding will take place via this number if the parameter is passed.
Example:- 12 digits mobile number string
Key ID to identify the public-private key pair used for signature generation.
Example: 1234
Signature generated for the signaturePayload.
Signature payload is a stringified JSON of the details mentioned in the below table.
Unique identifier associated with an account created by juspay.
Example: stock
Amount to be paid. Numeric String with two decimals
Example: 2.00
Order ID for the transaction.
Example: ABC123456789
Any unique reference associated with your customer.
Example: abcde12345
Time when request is created in milliseconds.
Example: 1665996901100
In case of multiple merchant VPAs, this field needs to be passed. It can be obtained from the dashboard. Issuing_PSP will be either AXIS_BIZ or YES_BIZ.
Value: ABC123
Pass false to hide payment status screen. Default value: true
Example:- Possible values: true/false
Reference Id of the account to be used for pay if user is onboarded.
Example: A1234
Stringified`JSON for udf parameters
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Response Parameters
Operation performed in the SDK.
Example:- Value: onboardingAndPay
Status of the Operation. Possible values : SUCCESS, PENDING, FAILURE, Pay_Failure, BACKPRESS, USER_ABORTED
Example: SUCCESS
Selected Account
UPI ID linked to account
Account linked to this vpa
Account IFSC
Is mpin set
Example:- true/false
IIN Code for the bank
Account Number with last few digits visible
Is this account the primary account
Example:- true / false
Name of branch in which account is registered
Order ID for the transaction.
Example: ABC1234567890
Reference Id for selected account
Example:- A12345
As passed in request
Example: moz3hjuAtiiQriCVFBn
Possible values :- true/false
Error Message
Error Code
Value: process_result
4. UPI Payment (P2M)
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Parameters required to call Hyper SDK API
Operation to be performed in the SDK. Should be upiTxn for this call.
Example:- Value: upiTxn
Key ID to identify the public-private key pair used for signature generation.
Example: 1234
Signature generated for the signaturePayload.
Reference ID for selected account
Example: ABC123456789
Signature payload is a stringified JSON of the details mentioned in the below table.
Unique identifier associated with an account created by juspay.
Example: stock
Amount to be paid. Numeric String with two decimals
Example: 2.00
Order ID for the transaction.
Example: ABC123456789
Any unique reference associated with your customer.
Example: abcde12345
Time when request is created in milliseconds.
Example: 1665996901100
In case of multiple merchant VPAs, this field needs to be passed. It can be obtained from the dashboard. Issuing_PSP will be either AXIS_BIZ or YES_BIZ.
Value: ABC123
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Response Parameters
Operation performed in the SDK.
Example:- Value: upiTxn
Status of the Operation. Possible values : SUCCESS, PENDING, FAILURE
Example: SUCCESS
Order ID for the transaction.
Example: ABC123456789
Example: moz3hjuAtiiQriCVFBn
Selected Account
Vpa of the customer
Account linked to this vpa
Length of atm pin
Unique Identifier for bank account across banks
IIN Code for the bank
Name of branch in which account is registered
Account IFSC
Is this account the primary account
Example:- true / false
Account Number with last few digits visible
Length of mpin
Is mpin set
Example:- true / false
Name of account holder
Length of OTP
Type of account
Possible values :- true/false
Error Message
Error Code
Value: process_result
5. UPI Onboarding and Mandate Creation
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Parameters required to call Hyper SDK API
Operation to be performed in the SDK. Should be onboardingAndPay for this call.
Example:- Value: onboardingAndPay
Value: true
Key ID to identify the public-private key pair used for signature generation.
Example: 1234
Signature generated for the signaturePayload.
Signature payload is a stringified JSON of the details mentioned in the below table.
Unique identifier associated with an account created by juspay.
Example: stock
Order ID for the transaction
Example: ABC123456789
Any unique reference associated with your customer.
Example: abcde12345
Mandate amount. Numeric String with two decimals
Example: 100.0
Time when request is created in milliseconds.
Example: 1665996901100
Example: metadata.YES_BIZ:ABC, metadata.AXIS_BIZ.XYZ
'REQUIRED' means that the transaction for this order has to be definitely converted to a mandate. 'OPTIONAL' means that the final decision of conversion of the transaction lies at the /txns api call with the flag 'should_create_mandate'
Example: REQUIRED
Maximum amount for a mandate.
Example: 2000.0
FIXED, VARIABLE. In case of FIXED amount_rule, amount will be equal to max amount. Defaults to VARIABLE
Example: FIXED
Defines the frequency of mandate execution, how often a customer should be charged. It can be ONETIME, DAILY, WEEKLY, FORTNIGHTLY, MONTHLY, BIMONTHLY, QUARTERLY, HALFYEARLY, YEARLY, ASPRESENTED. By Default it is considered as ASPRESENTED
Example: MONTHLY
Sets the end Date when mandates will stop execution
Example: 1665996901100
Marks the start of mandate execution
Example: 1665996902100
Denotes whether customer's fund should be blocked or not. Only applicable for ONETIME mandate. For recurring mandate it should always be false, for onetime it can be true or false. Default value is false.
Example: true
Recurrence Rule for Mandate. It is not required for ONETIME, DAILY and ASPRESENTED recurrencePattern.
Example:- Values: ON/BEFORE/AFTER
Between 1-31 and depends on recurrencePattern
Example:- Recurrence Rule for Mandate. It is not required for ONETIME, DAILY and ASPRESENTED recurrencePattern.
In case of multiple merchant VPAs, this field needs to be passed. It can be obtained from the dashboard. Issuing_PSP will be either AXIS_BIZ or YES_BIZ.
Value: ABC123
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Response Parameters
Operation performed in the SDK.
Example:- Value: onboardingAndPay
Status of the Operation. Possible values : SUCCESS, PENDING, FAILURE, Pay_Failure, BACKPRESS, USER_ABORTED
Example: SUCCESS
Contains relevant mandate data
Amount to be paid. Numeric String with two decimals
Example: 500.00
Values possible: FIXED/VARIABLE
Example: FIXED
Values possible: true/false
Timestamp upto which mandate creation request is valid. It will only be present if mandate is initiated by PAYEE.
Example:- Timestamp in YYYY-MM-DDTHH:MM:SS+05:30 format, request timestamp plus expiry minutes passed in request.
UPI request id returned by gateway for the mandate
Example: abc12345
Customer reference number (rrn) for the mandate Operation
Example: 1234567890
Response code returned by gateway for the mandate Operation.
Example: 00
Response message returned by gateway for the mandate Operation.
Example: Your transaction is successful.
Response status returned by gateway
Example: SUCCESS
Describes whether PAYER or PAYEE has initiated the mandate.
Example: PAYER
Name of the mandate
Example: Test Mandate
Timestamp of when this request was attempted
Example: 2021-12-30T14:17:06+05:30.
upiRequestId of the create request.
Example: abcd123456
Merchant Category Code of the payee merchant.
Example: 1234
Name of the Payee involved in mandate. It will be present only if role is PAYER.
Example: ABC
VPA of payee
Example: abc@xyz
Name of the Payer involved in mandate. It will be present only if role is PAYEE.
Example: XYZ
Defines whether mandate is revocable by PAYER or not. For onetime mandate it can be true or false. Default value is true.
Example:- Value: true/false
vpa of payer
Example: pqr@xyz
Recurrence Pattern for Mandate
Example: WEEKLY
Recurrence Rule for Mandate. It will not be present for ONETIME, DAILY and ASPRESENTED recurrence pattern.
Example: ASPRESENTED
Recurrence Value for Mandate. It will not be present for ONETIME, DAILY and ASPRESENTED recurrence pattern.
Example: 2
Reference url for the mandate. It will be same value if passed in request else it will be a default url.
Example: www.abcxyz.com
Any mandate summary. If passed in request, it will be same in response else a default value is sent.
Example: UPI Mandate
Role of the customer for this mandate.
Example:- Value: PAYER/PAYEE
Describes whether the mandate will be shared with payee or not. For onetime mandate it can be true or false. Default value is true.
Example:- Value: true/false
Type of Mandate Creation
Example: UPI_MANDATE
Unique Mandate Number used for execution of the mandate. Will be sent only if mandate is initiated by Payer.
Example: uniqueMandateNumber@xyz
Date before which mandate can be executed.
Example: 2022/09/20
As passed for validityStart in request
Example: 2022/01/20
Possible values :- true/false
Error Message
Error Code
Value: process_result
6. UPI Mandate Creation
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Parameters required to call Hyper SDK API
Operation to be performed in the SDK. Should be onboardingAndPay for this call.
Example:- Value: upiTxn
Value: true
Key ID to identify the public-private key pair used for signature generation.
Example: 1234
Signature generated for the signaturePayload.
referenceId of the account you are using for pay. Can be retrieved from getSesionToken/onboarding Response
Example: abcd1234xyz
Signature payload is a stringified JSON of the details mentioned in the below table.
Unique identifier associated with an account created by juspay.
Example: stock
Order ID for the transaction
Example: ABC123456789
Any unique reference associated with your customer.
Example: abcde12345
Mandate amount. Numeric String with two decimals
Example: 100.0
Time when request is created in milliseconds.
Example: 1665996901100
Example: metadata.YES_BIZ:ABC, metadata.AXIS_BIZ.XYZ
'REQUIRED' means that the transaction for this order has to be definitely converted to a mandate. 'OPTIONAL' means that the final decision of conversion of the transaction lies at the /txns api call with the flag 'should_create_mandate'
Example: REQUIRED
Maximum amount for a mandate.
Example: 2000.0
FIXED, VARIABLE. In case of FIXED amount_rule, amount will be equal to max amount. Defaults to VARIABLE
Example: FIXED
Defines the frequency of mandate execution, how often a customer should be charged. It can be ONETIME, DAILY, WEEKLY, FORTNIGHTLY, MONTHLY, BIMONTHLY, QUARTERLY, HALFYEARLY, YEARLY, ASPRESENTED. By Default it is considered as ASPRESENTED
Example: MONTHLY
Sets the end Date when mandates will stop execution
Example: 1665996901100
Marks the start of mandate execution
Example: 1665996902100
Denotes whether customer's fund should be blocked or not. Only applicable for ONETIME mandate. For recurring mandate it should always be false, for onetime it can be true or false. Default value is false.
Example: true
Recurrence Rule for Mandate. It is not required for ONETIME, DAILY and ASPRESENTED recurrencePattern.
Example:- Values: ON/BEFORE/AFTER
Between 1-31 and depends on recurrencePattern
Example:- Recurrence Rule for Mandate. It is not required for ONETIME, DAILY and ASPRESENTED recurrencePattern.
In case of multiple merchant VPAs, this field needs to be passed. It can be obtained from the dashboard. Issuing_PSP will be either AXIS_BIZ or YES_BIZ.
Value: ABC123
Unique uuid-v4 string
Example: abcd-12345-abcd-12345
Value: in.juspay.hyperapi
Response Parameters
Operation performed in the SDK.
Example:- Value: upiTxn
Status of the Operation. Possible values : SUCCESS, PENDING, FAILURE
Example: SUCCESS
Contains relevant mandate data
Amount to be paid. Numeric String with two decimals
Example: 500.00
Values possible: FIXED/VARIABLE
Example: FIXED
Values possible: true/false
Timestamp upto which mandate creation request is valid. It will only be present if mandate is initiated by PAYEE.
Example:- Timestamp in YYYY-MM-DDTHH:MM:SS+05:30 format, request timestamp plus expiry minutes passed in request.
UPI request id returned by gateway for the mandate
Example: abc12345
Customer reference number (rrn) for the mandate Operation
Example: 1234567890
Response code returned by gateway for the mandate Operation.
Example: 00
Response message returned by gateway for the mandate Operation.
Example: Your transaction is successful.
Response status returned by gateway
Example: SUCCESS
Describes whether PAYER or PAYEE has initiated the mandate.
Example: PAYER
Name of the mandate
Example: Test Mandate
Timestamp of when this request was attempted
Example: 2021-12-30T14:17:06+05:30.
upiRequestId of the create request.
Example: abcd123456
Merchant Category Code of the payee merchant.
Example: 1234
Name of the Payee involved in mandate. It will be present only if role is PAYER.
Example: ABC
VPA of payee
Example: abc@xyz
Name of the Payer involved in mandate. It will be present only if role is PAYEE.
Example: XYZ
Defines whether mandate is revocable by PAYER or not. For onetime mandate it can be true or false. Default value is true.
Example:- Value: true/false
vpa of payer
Example: pqr@xyz
Recurrence Pattern for Mandate
Example: WEEKLY
Recurrence Rule for Mandate. It will not be present for ONETIME, DAILY and ASPRESENTED recurrence pattern.
Example: ASPRESENTED
Recurrence Value for Mandate. It will not be present for ONETIME, DAILY and ASPRESENTED recurrence pattern.
Example: 2
Reference url for the mandate. It will be same value if passed in request else it will be a default url.
Example: www.abcxyz.com
Any mandate summary. If passed in request, it will be same in response else a default value is sent.
Example: UPI Mandate
Role of the customer for this mandate.
Example:- Value: PAYER/PAYEE
Describes whether the mandate will be shared with payee or not. For onetime mandate it can be true or false. Default value is true.
Example:- Value: true/false
Type of Mandate Creation
Example: UPI_MANDATE
Unique Mandate Number used for execution of the mandate. Will be sent only if mandate is initiated by Payer.
Example: uniqueMandateNumber@xyz
Date before which mandate can be executed.
Example: 2022/09/20
As passed for validityStart in request
Example: 2022/01/20
Possible values :- true/false
Error Message
Error Code
Value: process_result
For more calls refer this section Management Calls

