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
Base 64 encoding of signaturePayload and Protected .
Base 64 encoding of the below parameters.
Key ID to identify the public-private key pair used for signature generation.It will be provided to you by the Juspay team.
Example: uat833359804655bb748702e324111
Asymmetric algorithm used. Will be RS256 in this case..
Example:- RS256
Base 64 encoded stringified signature payload
Unique identifier associated with an account created by juspay.Ex: stock
Merchant generated unique profile id for the customer.
As provided by Juspay.
Time when request is created in milliseconds.
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
Protected payload is a stringified JSON of the details mentioned in the below table.
Key ID to identify the public-private key pair used for signature generation.It will be provided to you by the Juspay team.
Example: uat833359804655gg748702e324111
Algorithm to generate JWS signature in respect to base 64.
Example:- RS256
Generated by base 64 encoding of signaturePayload and Protected.
Base 64 encoded stringified signature payload
Unique identifier associated with an account created by juspay.
Example: stock
As provided by Juspay.
Example: ABC123
Any unique reference associated with your customer.
Example: abcde12345
Time when request is created in milliseconds.
Example: 1665996901100
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
Protected payload is a stringified JSON of the details mentioned in the below table.
Key ID to identify the public-private key pair used for signature generation.It will be provided to you by the Juspay team.
Example: uat833359804655gg748702e324111
Algorithm to generate JWS signature in respect to base 64.
Example:- RS256
Generated by base 64 encoding of signaturePayload and Protected.
Base 64 encoded stringified signature payload
Unique identifier associated with an account created by juspay.
Example: stock
As provided by Juspay.
Example: ABC123
VPA of the merchant.
Example: abc@xyz
Amount to be paid. Numeric String with two decimals. If it's use for mutual funds then total amount of the mutual fund would be considered.
Example: 2.00
Merchant generated unique request Id for the transaction.
Example: ABC123456789
Any unique reference associated with your customer.
Example: abcde12345
Mutual funds details payload. If Mutual funds opted then all the parameters inside it are mandatory.
Member Id required for the customer
Example: DECIMLON
User id for the customer.
Example: DECIML
Amount to be passed in mutual fund.
Example: 13.00
Folio number for the particular mutual fund.
Example: 977584255500
Code value of that particular mutual fund
Example: MCGPG
Type of the investment.
Example:- Value: LUMPSUM/SIP
PAN number of the customer
Example: AJJPM7414Q
The asset management company code of the mutual funds.
Example: PLF
Mutual fund partner.
Example:- value: CAMS/NSE/BSE/KFIN
Mutual fund's order number
Example:- 32158
Time when request is created in milliseconds.
Example: 1665996901100
Array of bank account hashes generated using below method:
payerAccountHash = sha256( account Number + first 4 digit of account IFSC)
From account Number the leading zeros should be removed and then the hash should be calculated.
Eg: accNo = 0000123456789 ifsc = ABCD0000345
Hash will be calculated on 123456789ABCD
Example: ["fejgfvhef67t376", "gryiu349rewiufdhsy8934"]
Reference Id of the account to be used for pay if user is onboarded.
Example: A1234
Pass false to hide payment status screen. Default value: true
Example:- Possible values: true/false
Array of bank codes for the respective bank accounts.
Example: ["550055", "551100"]
Stringified JSON for udf parameters.
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
Generated signature for signature payload. See signature generation process in pre-requisites section.
Base 64 encoding of the below parameters.
Key ID to identify the public-private key pair used for signature generation.It will be provided to you by the Juspay team.
Example: uat833359804655bb748702e324111
Asymmetric algorithm used. Will be RS256 in this case..
Example:- RS256
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
Any unique reference associated with your customer.
Example: abcde12345
As provided by Juspay.
Example: abcde12345
Merchant generated unique request Id for the transaction.
Example: ABC123456789
VPA of the merchant.
Example: abc@xyz
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
5. 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 upiTxn for this call.
Example:- Value: upiTxn
Value: true
Base 64 encoding of signaturePayload and Protected.
Base 64 encoding of the below parameters.
Key ID to identify the public-private key pair used for signature generation.It will be provided to you by the Juspay team.
Example: uat833359804655bb748702e324111
Asymmetric algorithm used. Will be RS256 in this case..
Example:- RS256
Base 64 encoded stringified signature payload
Unique identifier associated with an account created by juspay.
Example: stock
Merchant generated unique profile id for the customer.
Example: abcde12345
As provided by Juspay.
Example: abcde123
Time when request is created in milliseconds.
Example: 1665996901100
Amount for mandate
Constraints:Amount in two decimals. Decimals are mandatory.
Rule on Mandate Amount. If amountRule is MAX, then mandate can be executed for amount less than or equal to the passed amount . If amountRule is EXACT, then mandate should always be executed for the same amount.
Constraints:MAX,EXACT
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. If blockFund and payerRevocable are both send false for a request then request will be rejected. Default value is false.
Constraints:String - true,false
Currency code
Constraints:String - INR
Constraints:Minutes for which request is valid. Only applicable if initiatedBy PAYEE
Constraints:A numeric string between 2 to 64800 (both inclusive)
Name of the mandate
Merchant generated id for the mandate request
Constraints:35 character alphanumeric unique id.
Vpa of the payee.
Constraints:Valid VPA
Defines whether mandate is revocable by PAYER or not. Applicable only when it is ONETIME mandate and initiatedBy PAYEE. For recurring mandate it should always be true, for onetime it can be true or false. If blockFund and payerRevocable are both send false for a request then request will be rejected. Default value is true.
Constraints:String - true/false.
Name against which mandate is triggered. If initiatedBy is PAYER then payeeName or vice-versa. If name is not present with merchant payerVpa can be sent.
Recurrence Pattern for Mandate. Denotes at what frequency mandate can be executed.
Constraints:ONETIME, DAILY, WEEKLY, FORTNIGHTLY,MONTHLY, BIMONTHLY, QUARTERLY, HALFYEARLY, YEARLY, ASPRESENTED
Recurrence Rule for Mandate. It is not required for ONETIME, DAILY and ASPRENTED recurrencePattern.
Constraints:ON, BEFORE, AFTER.
Recurrence Value for Mandate. It is not required for ONETIME, DAILY and ASPRENTED recurrencePattern.
Constraints:between 1-31 and depends on recurrencePattern.
Reference url for the mandate. It is mainly kept for future purpose for invoice in inbox feature, if nothing is passed then a default value is set for this tag and same will be send back in response.
Any mandate summary
Descibes whether mandate will be shared with payee or not. Required only when it is ONETIME mandate and initiatedBy PAYER. For recurring mandate it should always be true, for onetime it can be true or false. Default value is true.
Constraints:String - true,false
Stringified JSON for udf parameters
Date before which mandate can be execute
Constraints:String with proper date format YYYY/MM/DD
Date after which mandate can be executed
Constraints:String with proper date format YYYY/MM/DD
For more calls refer this section Management Calls

