Hey! These docs are for version 3.2, which is no longer officially supported. Click here for the latest version, 1.0!

Parameter Reference Tables

Request Parameter Tables:     (click to open tables)

Table 1:   Payment Method Details   All eight Transaction APIs have these common
Request (Form) Parameters:
FieldTypeDescription
order_id*StringOrder ID pertaining to the order for which the payment is started.
merchant_id*StringID of the merchant account that you hold with us.
payment_method_type*StringMust be either CARD, NB, WALLET, or UPI, depending on the transaction API.
payment_methodStringThe 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.
redirect_after_payment*BooleanThis 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.
format*StringIf 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):
FieldAPI used forRequired Value
direct_wallet_token*Wallet Direct DebitJuspay wallet token for linked wallets. This is available in /customers/:id/wallets API
txn_type*UPI Collect PaymentUPI_COLLECT
upi_vpa*UPI Collect PaymentVPA of customer
txn_type*UPI/Bharat Pay PaymentUPI_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:
FieldTypeDescription
card_tokenStringA 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.
card_number*StringA valid credit/debit card number. Not required if card token is used.
name_on_cardStringCard holder name. Should contain alphabetical characters only.
card_exp_year*StringRepresent the expiry year of the card as YY (two digits only)
card_exp_month*StringRepresent the expiry month of the card as MM (two digits only)
card_security_code*StringVV of the card. Usually three digits.
save_to_lockerBooleanThis 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)
FieldTypeDescription
is_emiBooleanDefault is false. Set it to true if the user wishes to perform an EMI transaction on the given card.
emi_bankStringRepresents the bank that issued the card. Value must be one of the entries mentioned under EMI Bank in the support matrix below.
emi_tenureint32The tenure of the EMI in number of months.
auth_typeStringTHREE_DS/OTP/VISA_CHECKOUT
emi_typeStringThe 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.
EMI BankEMI TenureSupported Gateways
HDFC3,6,9,12,18,24PAYU, HDFC, RAZORPAY, BILLDESK
CITI3,6,9,12,18,24PAYU
ICICI3,6,9,12,18,24PAYU, ICICI, CCAVENUE, RAZORPAY,BILLDESK
SBI3,6,9,12PAYU, CCAVENUE, BILLDESK
AXIS3,6,9,12PAYU, ICICI, CCAVENUE, RAZORPAY, BILLDESK
SCB3,6,9,12,18,24ICICI, PAYU,BILLDESK
KOTAK3,6,9,12ICICI, CCAVENUE, PAYU, RAZORPAY, BILLDESK
HSBC3,6,9,12ICICI, CCAVENUE, PAYU, BILLDESK
AMEX3,6,9,12PAYU, CCAVENUE, RAZORPAY
INDUSIND3,6,9,12,18,24PAYU, CCAVENUE, RAZORPAY
RBL3,6,9,12,18,24RAZORPAY, PAYU,BILLDESK
YES3,6,9,12,18,24PAYU, BILLDESK
ICICIDC3,6,9,12PAYU
AXISDC3,6,9,12PAYU
HDFCDC3,6,9,12,18PAYU, BILLDESK
BOB3,6,9,12,18PAYU,RAZORPAY
BAJAJFINSERV3,6,9,12PAYU
Note:
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
EMI OptionAmount Range
HDFC Debit Card EMI5,00,000>=Txn amount>=5,000
Bajaj Finserv EMITransaction amount>=4,499
Zest Money EMI3,00,000>=Transaction amount>=1,000
Axis Debit Card EMI1,00,000>=Transaction amount>=5,000

Response Parameter Table:     (click to open table)

Table 4:   Payment Status Object   All eight Transaction APIs have these common
Response parameters:
ParameterTypeDescription
order_idStringUnique Identifier for the order.
txn_idStringTransaction ID for the payment attempt.
statusStringStatus of the transaction. See Appendix below for status mapping. PENDING_VBV indicates that the transaction requires authentication to complete.
payment.authentication.methodStringHTTP Method for authentication. Can be one of GET or POST (See redirection instructions in the "Handling the Redirection Method" section.)
payment.authentication.urlStringURL to which the user has to be taken to for completing the authentication
payment.authentication.paramsObjectPresent 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.
Note:
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)
StatusIDMeaning
NEW10Newly created order
PENDING_VBV23Authentication is in progress
CHARGED21Successful transaction
AUTHENTICATION_FAILED26User did not complete authentication
AUTHORIZATION_FAILED27User completed authentication, but bank refused the transaction
JUSPAY_DECLINED22User input is not accepted by the underlying PG
AUTHORIZING28Transaction status is pending from bank