---
page_source: https://juspay.io/in/docs/api-reference/docs/express-checkout/irrevocable-mandates
page_title: Irrevocable Mandates
---


# **Irrevocable Mandates** 



MCC that is required for Irrevocable Mandates :- **UPI AutoPay**  usually gives the end user/payer the option of cancelling or pausing their mandates from their UPI app. The mandates can also be set as ‘non-revocable’ for loan repayments and EMI collections.

The term ‘non-revocable’ means that customers cannot initiate cancellation or pause their mandates through their UPI app. NPCI[](https://www.npci.org.in/PDF/npci/upi/circular/2022/OC-125A-Addendum-to-OC-125-Non-revocation-of-UPI-AUTOPAY-mandate-for-loan-repayment-and-EMI-collection-category.pdf)introduced Non-revocable mandates in July 2022. This is to prevent defaults on payments that fall under ‘Promise to pay a debt or liability’.

MCC that is required for Irrevocable Mandates :- **7322** 

It is still possible for Merchant to revoke/pause the Irrevocable Mandates.


#### Field to create an irrevocable mandate Code Snippet:

```field to create an irrevocable mandate
'mandate.revokable_by_customer=false'
```


> **Note**
> Some gateways handle this at their end, so before going live, please confirm once with your PG KAM and Juspay SPOC.




### How to Implement Irrevocable Mandates



1. Please check with your PG and obtain the appropriate credentials from the PG where MCC 7322 is enabled.
2. You should configure the MCC (7322) for the respective PG through which irrevocable mandates are to be created, via the PG Control Center on the Juspay Dashboard.

![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/api-reference/Screenshot%202026-02-25%20at%206.43.23%E2%80%AFPM.png)
*PG Control Centre*



2. Please use the appropriate API mentioned to create the order in case of Order Create and Transaction flows. If you are using the Order + Transaction flow, ensure that you use the relevant API to create a non-revocable mandate.

## Sample Code Snippets:
### Sample Request:

#### Order Create Code Snippet:

```order create
curl --location 'https://api.juspay.in/orders' \
--header 'x-merchantid: merchant' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-routing-id: customer_1122' \
--data-urlencode 'order_id=234823498237423894273498' \
--data-urlencode 'amount=1.00' \
--data-urlencode 'currency=BRL' \
--data-urlencode 'customer_id=cst_lz7emoo5okgav' \
--data-urlencode 'customer_email=test@gmail.com' \
--data-urlencode 'customer_phone=9818638469' \
--data-urlencode 'billing_address_first_name=Name' \
--data-urlencode 'billing_address_city=Bengaluru' \
--data-urlencode 'shipping_address_city=Mumbai' \
--data-urlencode 'shipping_address_first_name=Name' \
--data-urlencode 'options.create_mandate=REQUIRED' \
--data-urlencode 'mandate.max_amount=1000.00' \
--data-urlencode 'mandate.revokable_by_customer=false' \
--data-urlencode 'mandate.end_date=1914141600' \
--data-urlencode 'mandate.frequency=ASPRESENTED' \
--data-urlencode 'gateway_id=19' \
```

#### Session Code Snippet:

```session
curl --location --request POST 'https://api.juspay.in/session' \
--header 'Authorization: Basic base_64_encoded_api_key==' \
--header 'x-merchantid: your_merchant_id' \
--header 'Content-Type: application/json' \
--data-raw '{
    "order_id": "234823498237423894273498",
    "amount": "1.00",
    "currency": "BRL",
    "customer_id": "cst_lz7emoo5okgav",
    "customer_email": "test@gmail.com",
    "customer_phone": "9818638469",
    "billing_address_first_name": "Name",
    "billing_address_city": "Bengaluru",
    "shipping_address_city": "Mumbai",
    "shipping_address_first_name": "Name",
    "options.create_mandate": "REQUIRED",
    "mandate.max_amount": "1000.00",
    "mandate.revokable_by_customer": false,
    "mandate.end_date": "1914141600",
    "mandate.frequency": "ASPRESENTED",
    "gateway_id": "19"
  }'
```

#### Order Create + Txn Code Snippet:

```order create + txn
curl --location 'https://api.juspay.in/txns' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-merchantid: mandate_juspay' \
--header 'x-routing-id: customer_1122'\
--data-urlencode 'order.order_id=test_123' \
--data-urlencode 'order.amount=1' \
--data-urlencode 'order.currency=INR' \
--data-urlencode 'order.customer_id=cst_3uh6gumy3esndhdr' \
--data-urlencode 'order.options.create_mandate=REQUIRED' \
--data-urlencode 'order.mandate.max_amount=1000.00' \
--data-urlencode 'order.mandate.revokable_by_customer=false' \
--data-urlencode 'order.mandate.end_date=1914141600' \
--data-urlencode 'order.mandate.frequency=ASPRESENTED' \
--data-urlencode 'payment_method=UPI_COLLECT' \
--data-urlencode 'payment_method_type=UPI' \
--data-urlencode 'sdk_params=false' \
--data-urlencode 'format=json' \
--data-urlencode 'mandate_type=EMANDATE' \
--data-urlencode 'should_create_mandate=true' \
--data-urlencode 'redirect_after_payment=true' \
--data-urlencode 'merchant_id=test_merchant' \
--data-urlencode 'order_id=test_123'

```

