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

Mandate Registration API

Use this API to choose the preferred mode of payment for the mandate. Supported payment method types include UPI, Card, Wallet and NetBanking. The payment_method parameter can be set to either COLLECT or PAY (only COLLECT is supported for now).The same API will also validate the payment method specific data like UPI VPA etc.

Share the URL that you get in the response body with your end customer, for whom this mandate is being initiated. They will have to run the same to authorize the collect request from their UPI App.

Response Parameters for the Mandate Registration API:  (click to view)
Note:
This is the same as the Payment Status Object returned for Payments API requests.
In the redirect response, webhook, and check status API, mandate data will be passed additionally from the current parameters.
ParameterTypeConstraintsDescription
order_idStringUnique Identifier for the order.
txn_idStringTransaction ID for the payment attempt.
txn_uuidStringTransaction UUID
statusStringStatus of the transaction. See Appendix below for status mapping. PENDING_VBV indicates that the transaction requires authentication to complete.
payment.authentication.methodStringHTTP Method for authentication. Can be one of GET or POST. (For redirection instructions, see the "Handling the Redirection Method" section.)
payment.authentication.urlStringURL to which the user has to be taken to for completing the authentication
payment.authentication.paramsStringPresent only when the method is POST. Parameter map that has to be sent along with the URL for authentication. Do not hardcode the params in your client * Never assume that you will receive param “x” or param “y”. This is completely dynamic and will vary on a case by case basis.
   APPENDIX   - Transaction status codes and meaning:
StatusIDMeaning
NEW10Newly created order
PENDING_VBV23Authentication is in progress
CHARGED21Successful transaction
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
The request for the Mandate Registration API consists of the following Parameter Groups:         (click to open tables):
  Payment Method Parameters:
    Note:
test
These are the same Payment Method Parameters used in the Payments API requests.
FieldTypeDescription
order_id*StringUnique Identifier for the order.
NOTE: mandate_id should be included in the request, also. The Create Mandate Order API returns this parameter to be used for mandate registration.
merchant_id*StringID of the merchant_account that you hold with us.
payment_method_type*StringPayment method type of transaction. UPI for UPI Autopay payments. The other possible values are CARD, NB, WALLET.
payment_method*StringPayment method of transaction.
COLLECT - For UPI Collect transaction.
PAY - For UPI_PAY transaction.
Only COLLECT is supported for now.
redirect_after_payment*BooleanWe recommend that you set this to true and use the redirection flow.
If set to true, then the user is redirected to the return_url configured for the order.
If set to false, then the user will be stopped at the response page from the gateway.
Your client should be able to read the page/title to infer that the user has completed the transaction.
format*StringIf it is set to JSON, then the response will be HTTP 200 with a JSON formatted text. Otherwise, the response is HTTP 302 with the Location attribute having the destination URL.
* = Required
  Bank Details Parameters:
FieldTypeDescription
bank_nameStringName of bank that is holding the account
bank_account_number*StringBank account number. Required for emandate/e-NACH, or when mandate_type= EMANDATE.
bank_beneficiary_nameStringAccount holder name. Should contain alphabetical characters only. Required for emandate/e-NACH, or when mandate_type= EMANDATE.
bank_ifscStringBank IFSC. Required for emandate/e-NACH, or when mandate_type= EMANDATE.
  Card Data Parameters:
    Note:
test
These are the same Card Data Parameters used in the Payments API requests.
FieldTypeDescription
card_token*stringA valid card token obtained using /card/list API. If you send this parameter, then card_number, name_on_card, card_exp_year, and card_exp_month fields are not required.
If the token is generated using the /card/tokenize API, card_number, name_on_card, card_exp_year, card_exp_month, and card_security_code fields are not required. Can only be used when mandate_type= MANDATE for a stored card.
card_numberStringA valid credit/debit card number. Required when mandate_type= MANDATE for a new card transaction.
card_exp_yearStringRepresent the expiry year of the card as YY (two digits only). Required when mandate_type= MANDATE for a new card transaction.
card_exp_monthStringRepresent the expiry month of the card as MM (two digits only). Required when mandate_type= MANDATE for a new card transaction.
card_security_codeStringCVV of the card. Usually three digits. Required when mandate_type= MANDATE for a new card transaction.
name_on_cardStringCard holder name. Should contain alphabetical characters only. Required when mandate_type= MANDATE for a new card transaction.
save_to_lockerStringThis is a boolean variable and accepts true/false. If set to true, then the card will be saved in locker when the transaction is successful. Else, the card will not be saved.
Other Parameters sent by API, but not included in a Parameter Group:
FieldTypeDescription
upi_vpaStringVPA to which the collect request must
be sent.
mandate_type*StringEMANDATE in case of UPI/NB/Wallet.
MANDATE in case of card.
should_create_mandateBooleanThis is a customer’s consent flag. This
should be always TRUE in case of a
mandate transaction.
  * = Required

Language
Authentication
Basic
base64
:
Click Try It! to start a request and see the response here!