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

Process OTP

This will complete the authentication and authorization. It takes OTP as input and returns the transaction response.

The response for the Process OTP API consists of the following parameters and objects:     (click to open table)
ParameterTypeDescription
idStringUnique ID generated by Juspay for the transaction.
order_idStringUnique Identifier for the order provided by you while creating order. Maximum length should be 21 characters.
txn_idStringTransaction ID for a given order.
statusStringStatus of the transaction. If you receive “CHARGED”, then the transaction is successful. “AUTHORIZED” in case if 'auto_capture' is false.
  Status codes and meaning
10

21

24

23

26

27


22


28
NEW
Newly created order
CHARGED
Successful transaction
AUTHORIZED
In cases where 'auto_capture' is false
PENDING_VBV
Authentication is in progress
AUTHENTICATION_FAILED
User did not complete authentication
AUTHORIZATION_FAILED
User completed authentication, but
bank refused the transaction
JUSPAY_DECLINED
User input is not accepted by the
underlying PG
AUTHORIZING
Transaction status is pending from bank
gatewayStringGateway through which authorization process was performed.
createdStringDate/time (ISO representation) when transaction was initiated
resp_codeStringGateway response code for the transaction.
refundedBooleanTrue if there are any refunds attempted for a given transaction. (Used to enable "refunds" array?)
payment_info:wwwwwwwwn
      {param1, param2, ....}
Object
String
Object containing payment and card details provided during the transaction.
   Payment Info Object Parameters:
FieldTypeDescription
payment_method_typeStringMust be CARD.
payment_methodStringOne of VISA/MASTERCARD/MAESTRO/AMEX/RUPAY.
card:wwwwwwwwwwwwin
    {param1, param2, ....}
Object
String
Object containing credit/debit card details
  Card Object Parameters:
FieldTypeDescription
last_four_digitsStringLast four digits of card number
card_isinStringInternational Securities Identification Number for card
expiry_monthStringExpiry month of the card (Format: mm) Example: 06
expiry_yearStringExpiry year of the card (Format: yyyy) Example: 2020
name_on_cardStringCard holder name. Should contain alphabetical characters only.
card_typeString"CREDIT" or "DEBIT"
card_issuerStringCode for bank that issued the card
(Example: "HDFC Bank")
card_brandStringBrand of card (MASTERCARD, VISA, etc.)
card_referenceStringReference code for the card
card_fingerprintStringFingerprint code for the card
using_saved_cardBooleanTrue if using a saved card
saved_to_lockerBooleanTrue if card has been saved to locker
payment.authenticationwwwi
    {method, url, params: {...}}
Object
String
Returned parameters needed for completing the authentication
   Payment Authentication Object Parameters:
ParameterTypeDescription
methodStringHTTP Method for authentication. Can be one of GET or POST (See redirection instructions in the "Handling the Redirection Method" section.)
urlStringURL to which the user has to be taken to for completing the authentication
params:wwwwwwwwwwi
   {param1, param2, ....}
Object
String
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.
  Params Object Parameters:
FieldTypeDescription
idStringUnique ID generated by Juspay for the given order.
challenge_idStringUnique ID generated for the challenge option
auth_typeStringType of authentication used (OTP)
card_isinStringInternational Securities Identification Number for card
card_issuer_bank_nameStringCode for bank that issued the card
(Example: "HDFC Bank")
submit_otp_allowedBooleanTrue if OTP can be submitted via gateway
resend_otp_allowedBooleanTrue if OTP can be resent via gateway
fallback_urlStringURL to be used for fallback
payment_gateway_response:
      {param1, param2, ....}
Object
String
This will give the payment response received from the gateway
   Payment Gateway Response Object Parameters:
FieldTypeDescriptionExample
txn_idStringTransaction ID"11327833"
rrnStringAuthorization Retrieval Reference Number"502913366745"
resp_messageStringError message from the gateway in case if the transaction failed."Payment Successful"
resp_codeStringGateway response code for the transaction."0"
epg_txn_idStringElectronic Payment Gateway transaction ID"1532690566017"
createdStringDate time (ISO representation) when transaction was initiated."2020-04-28T06:31:37Z"
auth_id_codeStringAuthorization ID Code"475926"
gateway_response_mapi
    {param1, param2, ....}
Object
String
gateway dependent response parameters
Refunds: [{...},{...},..]
wwwwwwwwwwwwwwwww
Array
wwwwt
An array of Refund Objects with details of each refund attempted for a given transaction (returned only if the refunded parameter is set to "true".
  Parameters for each object in the Refunds array:
FieldTypeDescription
unique_request_idStringThe unique request ID that is passed during refund initiation. Do not pass any special characters.
statusStringThe status of the refund initiated. Initial status will always be PENDING
  Status codes and meaning
SUCCESS
     This means that the refund has been successfully
     executed.
PENDING
     This would mean that the refund has been queued
     withJusPay or with the downstream system.
FAILURE
     We were unable to process the refund successfully.
     You have to try again with a new unique_request_id.
MANUAL_REVIEW
     This would mean that the refund request was sent an
     ambigious response from the payment gateway and
     the merchant has to manually reconcile it with the
     payment gateway to get the proper response.
     Also, any refunds which are in pending for more
      than 10 days are sent for manual review.
sent_to_gatewayBooleanThe flag denotes if the refund was initiated to gateway. The initial status is always false, as refunds are queued at Juspay for a maximum of 15 minutes.
refund_typeStringThe type of refund. Values can be STANDARD or INSTANT
refund_sourceStringThe name of gateway
refStringThe refund ID provided by the PG
initiated_byStringThe source of initiation
idStringThe reference ID provided by PG, if not available then its mapped to the unique request ID.
error_messageStringThe error message provided by the PG
error_codeStringThe error code provided by the PG
amountIntegerThe refund amount passed in the request
createdTime-
stamp
The timestamp when refund was created
The request for the Process OTP API consists of one Path parameter:   id,  and three Form parameters as listed below:     (click to open table)
FieldTypeDescription
Path
param
id*StringUnique id generated for the transaction in a generate OTP API call.
challenge_id*StringChallenge ID generated against the transaction in generating OTP API call.
answer.otp*StringOTP to be sent for authenticating the transaction.
auto_captureStringSend false if you want to capture at a later stage. The default is true.
Header
(-u)
api_key*StringAPI key can be obtained from https://merchant.juspay.in/settings/api-key. Provide your API key as the basic auth username value. You do not need to provide a password.
    * = Required
Language
Authentication
Basic
base64
:
Click Try It! to start a request and see the response here!