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.
(see description for mandate.frequency here.)
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_valueStringDetermines the day of week or month that a mandate will be executed, depending on the mandate.frequency.
(see description for mandate.rule_value here.)
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.

      {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 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 should 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
statusStringStatus of the refund. Can be one of PENDING, SUCCESS, FAILURE, or MANUAL_REVIEW (see table below for meaning).

SUCCESSThis means that the refund has been successfully executed.
PENDINGThis would mean that the refund has been queued with JusPay or with the downstream system.
FAILUREWe were unable to process the refund successfully. You have to try again with new unique_request_id.
MANUAL_REVIEWThis 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.

One more possible object that could be included in response:   (This was found in the "EMANDATE registration transaction order status" response for the Getting 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!