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

Get Mandate Order Status

This API is used to fetch the order status of a mandate, and can also be used to give the status against a previously initiated execution of a mandate.The response is similar to that of the Get Order Status API, except that it also provides mandate details in the response (Mandate Object)

 Response Parameters  for the Get Mandate Order Status API:
     (click to open table)
This response is similar to the Order Object returned for the Get Order Status API, except that it includes a Mandate Object. All objects contained within the Order Object are listed above table:
      {param1, param2, ....}
Object containing mandate details.
(Parameters listed in table below - click to open)
  Mandate Object Parameters:
mandate_idStringMandate ID is a unique identifier generated and sent by Juspay after mandate creation. Must be sent with Notification, Revoke Mandate, and Mandate Execution APIs.
mandate_tokenStringMandate token is a unique identifier generated and sent by Juspay after mandate creation for one-time use. This is a 32 digit alphanumeric unique value. Allows a charge without a 2nd factor.
mandate_statusString---Current status of the mandate. Must be one of the states listed in this table:
mandate_typeStringEMANDATE in case of UPI/NB/Wallet payment
MANDATE in case of Card payment
max_amountStringMaximum amount for a mandate. Mandatory only if mandate.amount_rule = VARIABLE.
currencyStringISO string of the currency. Default value: INR (Indian Rupee). Among other accepted values are EUR, USD, GBP.
activated_atStringTime stamp of mandate activation
This should be included also.
frequencyStringDefines the frequency of mandate execution, or how often a customer should be charged.
 Description for mandate.frequency
Possible values (ENUM format):
Default:     ASPRESENTED
Check here for additional rules on this value.
amount_ruleStringData type ENUM
Possible values: FIXED, VARIABLE.
By Default, it is considered as VARIABLE.
In case of FIXED, max amount will be equal to amount
start_dateStringMandate start date in UNIX EPOCH timestamp (UTC timezone). In case of UPI mandate, the start date has to be today’s date. Mandatory only for UPI Mandate.
end_dateStringMandate end date in UNIX EPOCH timestamp (UTC timezone), from when a mandate will move to EXPIRED state and recurring mandate will not be allowed. Mandatory only for UPI Mandate.
block_fundsBooleanSet to TRUE if funds have to be blocked while a mandate is being created. Should be TRUE for ONETIME and FALSE for Recurring. By default, value will be TRUE for ONETIME and FALSE for Recurring.
rule_valueIntegerDetermines the day of week or month that a mandate will be executed, depending on the mandate.frequency.
 Description for rule.value
Possible values (Integer format):
1-7when frequency is WEEKLY. In weekly, serial numbers start from Monday. Monday represents 1 and Sunday represents 7.
1-16when frequency is FORTNIGHTLY. This mandate is executed twice a month. First day of the month is represented by value ‘1’ and ends with ‘15’ on 15th day of the month. Then again starts with ‘1’ for 16th of the month and ends with the last day of the month.
Not required when frequency is ONETIME, DAILY, or ASPRESENTED. For Razorpay, rule_value will be considered as the last date of the week/month/year. For Paytm, rule_value will be considered as today’s date/day.
Check here for additional rules on this value.
rule_typeStringON / BEFORE / AFTER
For Razorpay, rule_type will be updated to BEFORE.
For Paytm, rule_type will be updated to AFTER
revokable_by_customerBooleanIf FALSE, the mandate cannot be revoked by the customer once set. Applicable only for UPI mandate. It should be TRUE for Recurring and TRUE/FALSE for ONETIME. By default, value will be TRUE
      {param1, param2,...}
Bank details. (This object was also found in the "Card" response for the List Mandate API.)
    Bank Details Object Parameters:
bank_nameStringName of bank
account_numberStringBank account number
beneficiary_nameStringName of the customer in a given bank account
ifscStringIFSC code for a bank branch
      {web, mobile, iframe}
Three links for a Desktop , Mobile, and iFrame checkout screen for the given order
(Parameters listed in table below - click to open)
  Payment Links Object Parameters:
webStringLink to checkout page that is optimized for Desktop for the given order.
mobileStringLink to Mobile optimized checkout page for the given order.
iframeStringLink to iFrame checkout screen. This is typically embedded inside of your own page.

Payment Links
These links can directly be emailed or messaged to your customers. They will be redirected using a link to enter payment information. If you wish to use your own branding, then you can embed the iframe link into your page. Note that, these links are not valid perpetually. As soon as your order expires (this can be changed via our dashboard), the link will cease to work.

      {param1, param2, ....}
Object containing transaction details wwww
    Transaction Detail Object Parameters:
txn_uuidStringTransaction UUID (available in Order Status API response)"eulneT9JkaAPa1uv"
txn_object_typeStringTransaction object type"EMANDATE_REGISTER"
txn_idStringTransaction ID"11327833"
txn_amountStringAmount of transaction1
tax_amountStringAmount of tax appliednull
surcharge_amountStringExtra fee charged by merchant on paymentnull
statusStringStatus of the order (see Status Mapping table below.)"CHARGED"
source_object_idStringID of source object"91887"
source_objectStringSet to "MANDATE""MANDATE"
redirectbooleanIf true, the user is redirected to the return_url configured for the order.false
order_idStringUnique Identifier for the order."145678234"
net_amountStringNet amount of order1
gateway_idStringUnique numeric identifier for your preferred gateway. (Refer to "Gateway Mapping" table.)19
gatewayStringName or your preferred gateway"PAYTM_V2"
express_checkoutbooleanTrue if using Express Checkoutfalse
error_messageStringBank error message""
error_codeStringNumeric code of bank error message""
currencyStringISO string of the currency. Use INR for Indian Rupee. Among other accepted values are EUR, USD, GBP. Default value: INR"INR"
Date time (ISO representation) when order was created"2020-04-28T06:31:37Z"
      {param1, param2, ....}
Object containing payment gateway details
(Parameters listed in table below - click to open)
  Payment Gateway Response Object Parameters:
txn_idStringTransaction ID"11327833"
rrnStringAuthorization Retrieval Reference Number"502913366745"
resp_messageStringResult of API action"Payment Successful"
resp_codeStringNumeric code of response message"0"
epg_txn_idStringElectronic Payment Gateway transaction ID"1532690566017"
Date time (ISO representation) when order was created"2020-04-28T06:31:37Z"
auth_id_codeStringAuthorization ID Code"475926"
      {param1, param2, ....}
Object containing credit/debit card details
    Card Object Parameters:
using_tokenBooleanTrue if using a token
using_saved_cardBooleanTrue if using a saved card
saved_to_lockerBooleanTrue if card has been saved to locker
last_four_digitsStringLast four digits of card number
name_on_cardStringCard holder name. Should contain alphabetical characters only.
expiry_yearStringExpiry year of the card (Format: "yyyy")
expiry_monthStringExpiry month of the card (Format: "mm")
card_typeString"CREDIT" or "DEBIT"
card_referenceStringUnique reference ID for card (if any)
card_issuerStringCode for bank that issued the card
(Example: "HDFC Bank")
card_isinStringInternational Securities Identification Number for card    (Example: "545721")
card_fingerprintStringCard fingerprint
card_brandStringBrand of card ("MASTERCARD", "VISA", etc.)
merchant_idStringUnique identifier for the merchant.
order_idStringUnique Identifier for the order. It is suggested to keep the order id length at a maximum of 21 characters irrespective of payment methods and gateways.
idStringUnique ID generated by Juspay for the given order.
customer_idStringCustomer Identifier against which a mandate should be created. This has to be unique for a customer
customer_emailStringEmail address of the customer. Must be present if backend gateway requires it.
customer_phoneStringMobile number or fixed line number of the customer. Must be present if backend gateway requires it.
product_idStringAn identifier for the product on the Lender side for which the payment is being done. This field is just echoed back in the response so that Lender can differentiate on their side. Fits well for impulse purchase usecases.
statusStringStatus of the order. If you receive “NEW”, then the order is successfully created. See Appendix for status mapping.
status_idIntegerStatus ID is a numeric id corresponding to the status value. See Appendix for code meaning.
amountDoubleThis is the amount that a customer will be charged in this transaction. Will accept double values with up to two decimal places. For example, 100.15 is valid input but 100.1532 is not valid.
effective_amountDoubleAmount that the customer actually pays
currencyStringISO string of the currency. Use INR for Indian Rupee. Among other accepted values are EUR, USD, GBP. Default value: INR
refundedBooleanBoolean value that determines if the amount was refunded or not.
amount_refundedDoubleAmount that has been refunded so far for this order.
Date-time of mandate order creation
return_urlStringA fully qualified URL such as http://shop.merchant.com/ to which the customer will be redirected after payment completion. This URL shouldn’t contain any query parameters. This URL takes higher precedence over the common return URL configured in your account settings.
udf1Stringudf1 to udf10 - User defined field which will be echoed back in the response from Juspay with a Max character limit of 255.
txn_idStringTransaction ID
txn_uuidStringTransaction UUID
gateway_idStringUnique numeric identifier for your preferred gateway. (Refer to "Gateway Mapping" table.)
gateway_reference_idStringAlphabetic reference to the payment gateway used
bank_pgStringPayment gateway for bank.
  {param1, param2,...}
ObjectUsed for sending custom parameters to the payment aggregators, irrespective of default parameters. Check here for parameter list.
offers: [{...},{...},...]Array of
The mechanism of running offers is the responsibility of merchants in collaboration with PG/Banks.
bank_error_codeStringBank Error Code
bank_error_messageStringBank Error Message
payment_method_typeStringMust be either CARD, NB, WALLET, or UPI. Entered when creating the order or mandate
payment_methodStringEntered when creating the order or mandate. Found in the given tables for the corresponding API and transaction type.
payer_vpaStringPayer VPA used during setting up mandate
auth_typeStringType of authentication used
Another possible object that could be included in the response:
Refunds:  [{...},{...},..]
Array of
An array of Refund Objects with details of each refund (returned with the Refund Order API). Should be returned if refundedis set to true in response.
  Parameters for each object in the Refunds array:
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
     This means that the refund has been successfully
     This would mean that the refund has been queued
     withJusPay or with the downstream system.
     We were unable to process the refund successfully.
     You have to try again with a new unique_request_id.
     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
The timestamp when refund was created
 Order Status Mapping  -  Order status codes and meaning:
(click to open table)
NEW10Newly created order.
PENDING_VBV23Authentication is in progress. The customer has to approve the mandate through the PSP App of their choice.
CHARGED21Successful transaction. The subscription cost of the period has been charged.
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
 Mandate Status Mapping   - Mandate status codes and meaning:
(click to open table)
CREATEDMandate has been created, but awaiting status from PG.
ACTIVEWhen PG accepts the chosen mode of payment, the mandate is set to the active state. The state remains ACTIVE (except when PAUSED temporarily) until terminated (either when mandate expires or customer/merchant decides to revoke the mandate).
PAUSEDCustomer has an option to pause the mandate. Status changes to PAUSED when customer exercises this option.
REVOKEDMandate is revoked by either the customer or the merchant. Revoked is a terminal state, once Revoked the status cannot be changed.
FAILUREMandate creation was unsuccessful. This is a terminal state, the merchant has to create a new mandate if failed.
EXPIREDMandate validity has expired. This is a terminal state.

Click Try It! to start a request and see the response here!