---
page_source: https://juspay.io/in/docs/payment-page-enterprise/react-native/mandates/mandate-registration-1
page_title: Mandate Registration
---


# 1. Mandate Registration



To register mandate, pass mandate related parameters in the Session API to open the Hypercheckout screen with mandate supported Payment Methods. Post transaction completion, use Order Status API and Webhooks to capture mandate registration details.

> **Note**
> CVV Less flow is not applicable for Mandate registration using saved cards & CVV is mandatory in these cases.




### Step 1.1. Open the Hypercheckout Screen with Mandate Details


Pass mandate related parameters in [Session API](/hyper-checkout/react-native/base-sdk-integration/session#mandate-parameters). Make sure all the required fields for mandates are passed correctly.




### Step 1.2 Handle Payment Response with Mandate Details


Post the transaction is completed, follow [Step 4](/hyper-checkout/react-native/base-sdk-integration/handle-payment-response) of the Base Integration to handle the trasaction response. Mandate status will be sent in the Order Status API and Webhook.

In order to retrieve the mandate details in the [Order Status API](/hyper-checkout/react-native/base-sdk-integration/order-status-api) and [Webhooks](/hyper-checkout/react-native/base-sdk-integration/webhooks), you should consume the mandate block that comes in the response. Some important parameters to look out for include the mandate_id, the mandate_status, and the mandate_token. Along with Order and Transaction related webhooks, you will also receive mandate-specific webhooks which are: Mandate Created, Mandate Active and Mandate Failed webhooks. These webhooks will provide you with additional information about the mandate. It's important to handle these webhooks in your integration to ensure that the mandate is properly managed.



## Sample Code Snippets:
### Step 1: Call Mandate Session API:

#### Request Code Snippet:

```request
curl --location --request POST 'https://api.juspay.in/session' \
    --header 'x-merchantid: yourMerchantId' \
    --header 'Authorization: Basic base64encodedkey==' \
    --header 'Content-Type: application/json' \
    --data-raw '{
    "amount":"10.00",
    "order_id":"yourUniqueOrderId",
    "customer_id":"yourUniqueCustId",
    "customer_phone":"customer_phone",
    "customer_email":"customer_email",
    "payment_page_client_id":"client_id",
    "return_url": "https://shop.merchant.com",
    "action":"paymentPage",
    "options.create_mandate":"OPTIONAL/REQUIRED",
    "mandate.max_amount":"1000.00",
}'

```

#### Response Code Snippet:

```response
{
  "status": "NEW",
  "id": "ordeh_1662a30d94224d4a9a2cdc4c26ee9f37",
  "order_id": "FC37B98B00",
  "payment_links": {
    "web": 
    "https://api.juspay.in/orders/ordeh_1662a30d94224d4a9a2cdc4c26ee9f37/payment-page"
  },
  "sdk_payload": {
    "requestId": "76a19a48b9344be683430a99fde5fd8f",
    "service": "in.juspay.hyperpay",
    "payload": {
      "options.createMandate": "REQUIRED",
      "clientId": "client_id",
      "amount": "2.0",
      "merchantId": "merchant_id",
      "environment": "production",
      "mandate.maxAmount": "10.00",
      "mandate.endDate": "1646234827",
      "action": "paymentPage",
      "customerId": "yourUniqueCustId",
      "returnUrl": "http://localhost:3111/dashboard/systems/orderStatus",
      "mandate.startDate": "1644420442",
      "currency": "INR",
      "customerPhone": "9876543210",
      "customerEmail": "dummyemail@gmail.com",
      "orderId": "yourUniqueOrderId"
    }
  }
}

```

### Step 2: Get Mandate Order status:

#### Request:
```plaintext
curl GET 'https://api.juspay.in/orders/{{order_id}}' \
--header 'x-merchantid: merchant_id' \
--header 'Authorization: Basic <base64 of key:>'
--header 'version: 2020-12-31'
```

#### Response:
```plaintext
{
  "udf9": "",
  "udf8": "",
  "udf7": "",
  "udf6": "",
  "udf5": "",
  "udf4": "",
  "udf3": "",
  "udf2": "",
  "udf10": "",
  "udf1": "",
  "txn_uuid": "eulmyxQn6bQso6y1Syy",
  "txn_id": "juspay-234823498237423894273498-1",
  "txn_detail": {
    "txn_uuid": "eulmyxQn6bQso6y1Syy",
    "txn_object_type": "EMANDATE_REGISTER",
    "txn_id": "juspay-234823498237423894273498-1",
    "txn_amount": 1,
    "tax_amount": null,
    "surcharge_amount": null,
    "status": "CHARGED",
    "source_object_id": "91887",
    "source_object": "MANDATE",
    "redirect": true,
    "order_id": "234823498237423894273498",
    "net_amount": 1,
    "gateway_id": 19,
    "gateway": "PAYTM_V2",
    "express_checkout": false,
    "error_message": "",
    "error_code": "",
    "currency": "INR",
    "created": "2020-08-30T09:53:17Z"
  },
  "status_id": 21,
  "status": "CHARGED",
  "return_url": "https://api.juspay.in",
  "refunded": false,
  "product_id": "",
  "payment_method_type": "UPI",
  "payment_method": "UPI",
  "payment_links": {
    "web": "https://api.juspay.in/merchant/pay/ordeu_9a0929803da644df8036133cf14d0206"
  },
  "payment_gateway_response": {
    "txn_id": "juspay-234823498237423894273498-1",
    "rrn": "4299662",
    "resp_message": "Txn Success",
    "resp_code": "01",
    "epg_txn_id": "202008301131312168187301880189",
    "created": "2020-08-30T09:54:10Z",
    "auth_id_code": ""
  },
  "payer_vpa": "9999999999@paytm",
  "order_id": "234823498237423894273498",
  "metadata": {
    "PAYTM_V2:gateway_reference_id": "upimandate"
  },
  "merchant_id": "juspay",
  "mandate": {
    "start_date": "1598745600",
    "rule_value": 30,
    "rule_type": "AFTER",
    "revokable_by_customer": true,
    "max_amount": 1000,
    "mandate_type": "EMANDATE",
    "mandate_token": "ad1d28b13f460fb5d348487be790f3",
    "mandate_status": "ACTIVE",
    "mandate_id": "3XMEcS1z2212Gq7fbfVYbzj",
    "frequency": "MONTHLY",
    "end_date": "1606521610",
    "block_fund": false,
    "amount_rule": "VARIABLE"
  },
  "id": "ordeu_9a0929803da644df8036133cf14d0206",
  "gateway_reference_id": "upimandate",
  "gateway_id": 19,
  "date_created": "2020-08-30T09:47:46Z",
  "customer_phone": "9999999999",
  "customer_id": "cst_lz7zmpemoo5okv",
  "customer_email": "customer@gmail.com",
  "currency": "INR",
  "bank_error_message": "",
  "bank_error_code": "",
  "auth_type": "",
  "amount_refunded": 0,
  "amount": 1
}

```

