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

Similar to the Get Order Status API. This API is used to fetch the order status of a mandate.     (click to open tables)

 Response Parameters  for the Get Mandate Order Status API:
This response is similar to the Order Object returned for the Get Order Status API, except that it includes a Mandate Object.
      {param1, param2, ....}
Object containing mandate details.
(Parameters listed in table below - click to open)
  Mandate Object Parameters:
Normally, just the first three parameters are returned for this API:
mandate_id, mandate_token, and mandate_status.
Full object is returned for the Get Mandate Execution Status and List Mandate APIs.
mandate_idStringMandate ID is a unique identifier generated and sent by Juspay after mandate creation. Must be sent with Notification and Revoke Mandate APIs. For the Mandate Execution API, either mandate_id or mandate_token can be used.
mandate_tokenStringMandate token is another unique identifier generated and sent by Juspay after mandate creation. This is a 32 digit alphanumeric unique value. Can can be sent with the Mandate Execution API along with customer_id. 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_type--StringEMANDATE 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. This should be included also.
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
      {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 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"
createdStringDate time (ISO representation) when order was created"2020-04-28T06:31:37Z"
auth_id_codeStringAuthorization ID Code"475926"
merchant_idStringUnique identifier for the merchant.
order_idStringUnique Identifier for the order.
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.
customer_phoneStringMobile number or fixed line number of the customer.
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.
statusStringStatus of the mandate 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.
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_refundedDoubleThe amount that was refunded
date_createdStringDate-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.
txn_idStringTransaction ID
txn_uuidStringTransaction UUID
gateway_idIntegerUnique numeric identifier for your preferred gateway.
gateway_reference_idStringAlphabetic reference to the payment gateway used (possible additional parameter)
bank_error_codeStringBank Error Code
bank_error_messageStringBank Error Message
payment_method_typeStringPayment method type used at the time of creating a mandate
payment_methodStringPayment method used at the time of creating a mandate
payer_vpaStringPayer VPA used during setting up mandate
auth_typeStringType of authentication used
Other possible objects that could be included in response:     (All objects listed here are also found in the response for Get Order Status API, except for the Mandate object.)
      {param1, param2, ....}
Object containing transaction details wwww
    Transaction Detail Object Parameters:
txn_uuidStringTransaction UUID (available in Order Status API response)"eulneT9JkaAPa1uv"
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"
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 gateway19
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"
createdStringDate time (ISO representation) when order was created"2020-04-28T06:31:37Z"
      {param1, param2, ....}
Object containing credit/debit card details
    Card Object Parameters:
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_issuerStringCode for bank that issued the card
(Example: "HDFC Bank")
card_isinStringInternational Securities Identification Number for card    (Example: "545721")
card_brandStringBrand of card ("MASTERCARD", "VISA", etc.)
Refunds:  [{...},{...},..]
An array of Refund Objects with details of each refund (returned with the Refund Order API).
    Refunds Object Parameters:
idStringID generated for the refund
refStringReference number provided by the bank for the refund
amountDoubleAmount refunded (or to be refunded)
createdStringDate time (ISO representation) when refund was created
statusString"SUCCESS" unless otherwise indicated:
  Status codes and meaning
    This means that the refund has been successfully
    This would mean that a refund has been queued with
    JusPay or with the downstream system.
    We were unable to process the frefund 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 payments which are in pending for
    more than 10 days are sent for manual review.
One more possible object that could be included in response:   (This was found in the "EMANDATE registration transaction order status" response for the Get Order Status API).
      {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
 Order Status Mapping   - Order status codes and meaning:  
NEW10Newly created mandate 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:  
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.
PENDINGMandate is in a pending state.
EXPIREDMandate validity has expired. This is a terminal state.

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