Table 1: Payment Method Details All eight Transaction APIs have these common
Request (Form) Parameters:
Order ID pertaining to the order for which the payment is started.
ID of the merchant account that you hold with us.
Must be either CARD, NB, WALLET, or UPI, depending on the transaction API.
The actual payment method that was selected by the user. This must be one from the tables for payment method of the corresponding Payments API. For cards, use one of VISA/MASTERCARD/MAESTRO/AMEX/RUPAY. This is usually inferred from the card number itself and we will take care of this if you are unable to provide this from your end.
This is a boolean variable and accepts true/false. We recommend that you set this to true and use the redirection flow. If set to true, then the user is redirected to the return_url configured for the order. If set to false, then the user will be stopped at the response page from the gateway. Your client should be able to read the page/title to infer that the user has completed the transaction.
If it is set to json, then the response will be HTTP 200 with a JSON formatted text. Otherwise, the response is HTTP 302 with the Location attribute having the destination URL.
* = Required
Table 2: Control Parameters Each of these additional Request (Form)
Parameters must be used only for the specified API (all have string type):
API used for
Wallet Direct Debit
Juspay wallet token for linked wallets. This is available in /customers/:id/wallets API
UPI Collect Payment
UPI Collect Payment
VPA of customer
UPI/Bharat Pay Payment
UPI_PAY or BHARAT_PAY
* = Required (only for the specified API)
Table 3: Card Details Additional request (Form) Parameters for the Credit / Debit
Card transaction API:
A valid card token obtained using /card/list API. If you send this parameter, then card_number, name_on_card, card_exp_year, and card_exp_month fields are not required. If the token is generated using the /card/tokenize API, then card_number, name_on_card, card_exp_year, card_exp_month, and card_security_code fields are not required.
A valid credit/debit card number. Not required if card token is used.
Card holder name. Should contain alphabetical characters only.
Represent the expiry year of the card as YY (two digits only)
Represent the expiry month of the card as MM (two digits only)
VV of the card. Usually three digits.
This is a boolean variable and accepts true/false. If set to true, then the card will be saved in locker when the transaction is successful. Else, the card will not be saved.
* = Condtionally required if card_token is not used.
For credit/debit card payments, the given card parameters or a token for a stored card are to be used. User also has the option of performing an EMI transaction on the given card. Additional parameters for EMI transactions are listed here:
EMI Parameters: (click to open table)
Default is false. Set it to true if the user wishes to perform an EMI transaction on the given card.
Represents the bank that issued the card. Value must be one of the entries mentioned under EMI Bank in the support matrix below.
The tenure of the EMI in number of months.
The type of EMI ie STANDARD_EMI or NO_COST_EMI
The following table lists valid combinations for emi_bank and emi_tenure, although you need to check if the bank has approved all the tenures for your gateway account. JusPay does not validate this for you.
Valid emi_bank and emi_tenure combinations.
PAYU, HDFC, RAZORPAY, BILLDESK
PAYU, ICICI, CCAVENUE, RAZORPAY,BILLDESK
PAYU, CCAVENUE, BILLDESK
PAYU, ICICI, CCAVENUE, RAZORPAY, BILLDESK
ICICI, CCAVENUE, PAYU, RAZORPAY, BILLDESK
ICICI, CCAVENUE, PAYU, BILLDESK
PAYU, CCAVENUE, RAZORPAY
PAYU, CCAVENUE, RAZORPAY
Please make sure that the respective EMI bank and tenure are enabled for your account at the gateway end, else the transaction might fail.
Please find the eligibility amount range below for some of the EMI options as provided by PayU
HDFC Debit Card EMI
Bajaj Finserv EMI
Zest Money EMI
Axis Debit Card EMI
Response Parameter Table: (click to open table)
Table 4: Payment Status Object All eight Transaction APIs have these common
Unique Identifier for the order.
Transaction ID for the payment attempt.
Status of the transaction. See Appendix below for status mapping. PENDING_VBV indicates that the transaction requires authentication to complete.
URL to which the user has to be taken to for completing the authentication
Present only when the method is POST. This a mapping via a list of key:value pairs that must be sent along with the URL for authentication. Do not hardcode the params in your client * Never assume that you will receive param “x” or param “y”. This is completely dynamic and will vary on a case by case basis.
You will need to redirect the customer depending on the payment.authentication.method attribute in the response (see the "Handling the Redirection Method" section).
APPENDIX - Payment status codes and meaning: (click to view)
Newly created order
Authentication is in progress
User did not complete authentication
User completed authentication, but bank refused the transaction