Mandate Execution API
After the successful Mandate registration, Merchant will receive a mandate_id, mandate_token from Juspay that should be stored against a customer at their end. For the subsequent charge transactions, the merchant is supposed to pass a combination of customer_id and mandate_id to do a debit without a 2FA. This API will create an order and perform a transaction with PG based on the mandate_id passed in the request.
|
Status code
|
Reason
|
Response
|
|---|---|---|
JP_851
| Notification Leg of the transaction failed.
| PDN Failed.
|
JP_852
| Mandate is not in active State
| |
401
| Invalid Authentication
| { "status": "error", "error_code": "access_denied" }
|
400
| Duplicate order id
| { "status_id": 40, "status": "DUPLICATE_ORDER_ID", "error_message": "Order already exists with the given order_id" }
|
400
| Invalid order amount
| {"status":"Invalid Request","error_message":Invalid order amount","error_code":"Invalid"}
|
400
| Mandate max amount not found
| {"status":"Invalid Request","error_message":"Mandate max amount not found.","error_code":"Invalid"}
|
400
| Amount not found in request.
| {"status":"Invalid Request","error_message":"Amount not found in request.","error_code":"Invalid"}
|
400
| Order amount greater than mandate max amount
| {"status":"Invalid Request","error_message":"Order amount greater than mandate max amount (
|
400
| Order amount not equal to mandate max amount.
| {"status":"Invalid Request","error_message":"Order amount not equal to mandate max amount.","error_code":"Invalid"}
|
400
| Currency not valid for mandate transaction
| {"status":"Invalid Request","error_message":"currency not valid for mandate transaction.","error_code":"Invalid"}
|
400
| notification_id not found in request.
| {"status":"Invalid Request","error_message":"mandate.notification_id is mandatory.","error_code":"Invalid"}
|
400
| Notification record not found
| {"status":"Invalid Request","error_message":"Notification record not found for ","error_code":"Invalid"}
|
400
| Notification status is not success
| {"status":"Invalid Request","error_message":"Notification status is not success.","error_code":"Invalid"}
|
400
| Mandate not found
| {"status":"invalid_request_error","error_message":"Mandate not found","error_code":"Mandate not found"}
|
400
| Mandate not in active state
| {"status":"invalid_request_error","error_message":"Mandate is in non active(REVOKED / FAILURE) state. Recurring cannot be executed","error_code":"Mandate is in non active(REVOKED / FAILURE) state. Recurring cannot be executed"}
|
Consists of two parts.
Username: API Key obtained from Juspay dashboard
Password: Empty string
Example:- Basic MUQ2QUxxxxxxxxxxxxU5QTIxQzNFNTQwNkFDMEZCOg==
application/x-www-form-urlencoded
We recommend passing the customer_id as the x-routing-id. If the customer is checking out as a guest, you can pass an alternative ID that helps track the payment session lifecycle. For example, this could be an Order ID or Cart ID.
This ID is associated with the customer. It plays a key role in ensuring consistency and maintaining connections across different systems. If you fail to pass the same x-routing-id for the same customer in all related API calls, it could lead to issues with API functionality. Therefore, it’s crucial that you use the same x-routing-id for all requests tied to the same customer.
Example:- customer_1122
first_name is mandatory for certain gateway specific flows
last_name is mandatory for certain gateway specific flows
Unique Identifier for the order.
This is the amount that a customer will be charged in this transaction.
Customer Identifier against which the mandate was created.
ISO string of the currency. Use INR for Indian Rupee. Among other accepted values are EUR, USD, GBP. Default value: INR
Email address of the customer. This field is mandatory if gateway requires it.
Mobile number or fixed line number of the customer. This field is mandatory if gateway requires it.
Short description for the order. We send this information to the backend gateways whenever there is a provision for this.
A 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.
An 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.
First name in the billing address
Last name in the billing address
Line 1 in the billing address
Line 2 in the billing address
Line 3 in the billing address
Billing address city
Billing address state
Billing address country
Billing address postal code or zip code
Mobile or phone number in the billing address
ISO Country code. Default value: IND
First name in the shipping address
Last name in the shipping address
Line 1 in the shipping address
Line 2 in the shipping address
Line 3 in the shipping address
Shipping address city
Shipping address state
Shipping address country
Shipping address postal code or zip code
Mobile or phone number in the shipping address
ISO Country code. Default value: IND
Specify your preferred gateway for this order. Complete mapping for gateway_id can be found here: Gateway mapping
Contains the details of Mutual Fund.
Member Id with ICCL or ARN_RIA with RTA.
Client Id with ICCL or USER_CODE with RTA.
NSE/BSE/KFIN/CAMS.
Unique order number of each MF. Oder Number in ICCL or APPL_NO in RTA.
Individual MF amount within the array of MF being purchased.
LUMPSU/ SIP
Folio Number of the MF, used for RTA reporting. Mandatory for RTA reporting.
PAN Number of the user, used for RTA reporting. Mandatory for RTA reporting.
AMC Code of the MF, used for RTA reporting. Mandatory for RTA reporting.
Scheme Code of the MF, used for RTA reporting. Mandatory for RTA reporting.
The username you hold at Juspay
Mandate ID sent by Juspay after successful mandate registration.
[CONDITIONAL] The object_reference_id which was sent in notification API call. Applicable only for merchants calling Notification and Execution APIs separately.
Applicable only for cards SI. If merchant wants to generate invoice display number, but wants Juspay to handle pre-debit notification, this needs to be sent.
Applicable only for merchants enabled for mandate workflow (notification + execution flow).UNIX EPOCH timestamp format. Default execution happens at 25th hour of successful notification. If a merchant wants to execute mandate at custom time anytime after 25th hour, send execution_date.
This parameter doesn't apply to gateways handling notifications (e.g. Razorpay, PhonePe, Cashfree), execution follows the gateway's policy
The format of the response. Should be passed as json.
Transaction UUID for the payment
Transaction Id for the payment
Status of the transaction. See Appendix for status mapping.
URL to which the user has to be taken to for completing the authentication
HTTP Method for authentication. Can be one of GET or POST
Present only when the method is POST. Parameter map that has to be sent along with the URL for authentication.
26234761248249834753485721
DUPLICATE_ORDER_ID
Order already exists with the given order_id

