---
page_title: Debit + ENach flow
product: EC Headless
platform: Android
page_source: https://juspay.io/in/docs/ec-headless/android/additional-features/debit--enach-flow
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/ec-headless/llms.txt
---


# Debit + eNach 



The standard eNACH is a mandate registration with Net Banking (NB) as the Payment Method. Money is not debited for the first payment in this flow and only a mandate set up this done. 

Juspay has enhanced this flow based on merchant requirements to incorporate the first payment debit along with mandate registration. This gives an end to end set up for merchants to use easily without the hassle to extra integration steps. 

In Debit + ENACH flow, Juspay creates two transactions against the order created

* Transaction 1 - one time Net Banking debit transaction i.e. NB Order payment
* Transaction 2 - eNACH setup ie mandate registration using NB payment method

**Supported Juspay Integrations :** 

* Juspay Payment Page(Hypercheckout)

* Juspay Express Checkout SDK (EC Headless SDK)


## Step 1: Update PA/PG set up on Juspay Dashboard under PG Control Centre 



* Enable eNACH banks as well as normal Netbanking payment modes in PGCC for the chosen gateways
* The debit and eNACH transactions can be processed through different payment gateways.


## Step 2: Enable Debit + ENach Registration flow on your payment page 




### Step 2.1 Fetch Eligible Payment Methods


Use the following GET request to retrieve supported payment methods and e-mandate options that can be shown to users on payment page


#### SDK GET METHOD Code Snippet:

```sdk get method
https://sandbox.assets.juspay.in/wapi/merchants/<--merchant-id-->/paymentmethods?options.add_emandate_payment_methods=true&options.add_supported_reference_ids=true

```

#### Sample Response Code Snippet:

```sample response
{
  "payment_methods": {
    "supportedGateways": [
      {
        "gateway": "PAYU",
        "gatewayId": 12,
        "supportedReferenceIds": [
          "DEFAULT_NULL",
          "Surcharge",
          "Surcharge1"
        ]
      },
      {
        "gateway": "CCAVENUE_V2",
        "gatewayId": 16,
        "supportedReferenceIds": [
          "Surcharge1"
        ]
      }
    ],
    "nickName": "SBI",
    "juspayBankCode": "JP_SBI",
    "supportedByDefault": true,
    "paymentMethodType": "NB",
    "description": "State Bank of India",
    "paymentMethod": "NB_SBI",
    "supportedReferenceIds": [
      "DEFAULT_NULL",
      "Surcharge",
      "Surcharge1"
    ]
  },
  "emandate_payment_methods": [
    {
      "supportedGateways": [
        {
          "gateway": "PAYU",
          "gatewayId": 12,
          "supportedReferenceIds": [
            "DEFAULT_NULL",
            "Surcharge1",
            "Surcharge"
          ]
        }
      ],
      "juspayBankCode": "JP_SBI",
      "supportedByDefault": true,
      "paymentMethodType": "CARD",
      "description": "SBI",
      "paymentMethod": "JP_SBI",
      "supportedReferenceIds": [
        "DEFAULT_NULL",
        "Surcharge1",
        "Surcharge"
      ]
    },
    {
      "supportedGateways": [
        {
          "gateway": "PAYU",
          "gatewayId": 12,
          "supportedReferenceIds": [
            "DEFAULT_NULL",
            "Surcharge1",
            "Surcharge"
          ]
        }
      ],
      "juspayBankCode": "JP_SBI",
      "supportedByDefault": true,
      "registerAndDebitSupported": false,
      "paymentMethodType": "NB",
      "description": "SBI",
      "paymentMethod": "JP_SBI",
      "supportedReferenceIds": [
        "DEFAULT_NULL",
        "Surcharge1",
        "Surcharge"
      ]
    }
  ]
}

```


Allow customers to choose debit + eNACH only when the bank is part of both paymentMethods & emandatePaymentMethods.




## Step 3: Create Order at Juspay with Mandate option




### Step 3.1 Order Create 


Create Order at Juspay with the mandate creation option


#### Create Order Code Snippet:

```create order
curl --location --request POST 'https://sandbox.juspay.in/orders' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-merchantid: merchant_id'\
--header 'x-routing-id: customer_1122'\
--header 'Authorization: Basic QTA0QT********ODg1Og==' \
--data-urlencode 'order_id=14183944763' \
--data-urlencode 'amount=100.00' \
--data-urlencode 'currency=INR' \
--data-urlencode 'customer_id=guest_user_101' \
--data-urlencode 'customer_email=customer@gmail.com' \
--data-urlencode 'customer_phone=9999999999' \
--data-urlencode 'options.create_mandate=REQUIRED' \
--data-urlencode 'mandate.max_amount=1000.00' \
--data-urlencode 'return_url=http://shop.merchant.com/payments/handleResp' \
--data-urlencode 'description=Sample description'

```



| Parameter | Description | Mandatory for Debit + eNACH |
|---|---|---|
| options.create_mandate | Specifies if a mandate should be created. Set to REQUIRED because the user has already selected debit + eNACH as preferred flow | Yes |
| mandate.max_amount | Maximum amount for the mandate. | Yes |





## Step 4: Initiate Debit+ENach transaction to Juspay




### Step 4.1 SDK Process call for transaction


Once the user selects the bank to proceed for Debit + eNACH flow on the payment page, following SDK process call can be done which includes customer account details, both the debit and the mandate registration details


#### SDK Process Request Code Snippet:

```sdk process request
{
  "payload": {
    "orderId": "1766390138",
    "action": "nbTxn",
    "clientAuthToken": "tkn_54ce36af541f4b7485a60ca1c6572dd4",
    "additionalPaymentDetails": [
      {
        "payment_method": "JP_SBI",
        "bank_beneficiary_name": "TEST",
        "mandate_type": "EMANDATE",
        "bank_account_number": "12345678",
        "bank_ifsc": "SBIN0001234",
        "payment_method_type": "NB",
        "should_create_mandate": "true"
      }
    ],
    "paymentMethod": "NB_SBI"
  },
  "requestId": "1162c76c-4f20-4e14-949d-b1528d3f6253",
  "service": "in.juspay.ec"
}

```

#### SDK Process Response Code Snippet:

```sdk process response
{
  "service": "in.juspay.hyperpay",
  "requestId": "938f84be-feac-473f-8950-3349435dc5b4",
  "payload": {
    "status": "charged",
    "paymentInstrumentGroup": "NB",
    "paymentInstrument": null,
    "action": "nbTxn"
  },
  "errorMessage": "",
  "errorCode": "",
  "error": false,
  "event": "process_result"
}

```





## Step 5: **Check Transaction & Mandate Registration Status** 




### Step 5.1  Check Order Status


Once the mandate registration and debit has been completed, Juspay will share the mandate status & details in response of `Order Status API`call and also in `Webhooks`

* [Order Status Response (](https://juspay.io/in/docs/api-reference/docs/express-checkout/order-status-api)choose Debit + Enach option in Sample Response[)](https://juspay.io/in/docs/api-reference/docs/express-checkout/order-status-api)
* [Webhook Response](https://juspay.io/in/docs/resources/docs/common-resources/debit---enach-webhooks)
* Store `mandate_id` value passed in the responses as an identifier for future mandate payments and other mandate management actions.




## UI Implementation Reference



As payment page UI is handled at merchant end in case of ExpressCheckout SDK Integration, user journey to be designed by the merchant for this flow. Please find below a reference user journey designed by Juspay.

![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/ec-headless/Screenshot%202025-12-22%20at%205.47.43%E2%80%AFPM-pvEp0.png)
*Step by Step User Guide*



![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/ec-headless/Screenshot%202025-12-22%20at%205.47.33%E2%80%AFPM-XC0C4.png)
*Autopay Steps*



![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/ec-headless/Screenshot%202025-12-22%20at%205.47.53%E2%80%AFPM-znGxY.png)
*Capture Bank Details*



![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/ec-headless/Screenshot%202025-12-22%20at%205.48.04%E2%80%AFPM.png)
*Enach Review Screen*



---

## See Also

- [Safe 2.0](https://juspay.io/in/docs/ec-headless/android/additional-features/safe-20)
- [Integration Architecture](https://juspay.io/in/docs/ec-headless/ios/overview/integration-architecture)
