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.

Response Parameters:

order_idStringUnique Identifier for the order.
txn_idStringTransaction Id for the payment
txn_uuidStringTransaction UUID for the payment
statusStringStatus of the transaction. See Appendix for status mapping.
payment.authentication.methodStringHTTP Method for authentication. Can be one of GET or POST
payment.authentication.urlStringURL to which the user has to be taken to for completing the authentication
payment.authentication.paramsParams ObjectPresent only when the method is POST. Parameter map that has to be sent along with the URL for authentication.

Mandate Execution API failure responses:

Status codeReasonResponse
401Invalid Authentication{
"status": "error",
"error_code": "access_denied"
400Duplicate order id{
"status_id": 40,
"error_message": "Order already exists with the given order_id"
400Invalid order amount{"status":"Invalid Request","error_message":Invalid order amount","error_code":"Invalid"}
400Mandate max amount not found{"status":"Invalid Request","error_message":"Mandate max amount not found.","error_code":"Invalid"}
400Amount not found in request.{"status":"Invalid Request","error_message":"Amount not found in request.","error_code":"Invalid"}
400Order amount greater than mandate max amount{"status":"Invalid Request","error_message":"Order amount greater than mandate max amount (<currency <> max amount>)","error_code":"Invalid"}
400Order amount not equal to mandate max amount.{"status":"Invalid Request","error_message":"Order amount not equal to mandate max amount.","error_code":"Invalid"}
400Currency not valid for mandate transaction{"status":"Invalid Request","error_message":"currency not valid for mandate transaction.","error_code":"Invalid"}
400notification_id not found in request.{"status":"Invalid Request","error_message":"mandate.notification_id is mandatory.","error_code":"Invalid"}
400Notification record not found{"status":"Invalid Request","error_message":"Notification record not found for ","error_code":"Invalid"}
400Notification status is not success.{"status":"Invalid Request","error_message":"Notification status is not success.","error_code":"Invalid"}
400Mandate not found{"status":"invalid_request_error","error_message":"Mandate not found","error_code":"Mandate not found"}
400Mandate 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"}
Click Try It! to start a request and see the response here!