Integrate Recurring Payments Using Paper NACH

Integrate Recurring Payments using Paper NACH as a payment method.


Recurring Payment integration involves the following steps:

  • Raise a request with our to get Recurring Payments (NACH) activated on your account you are trying to integrate.
  • Check if the NACH is enabled using the API.

Mandate registration is a process of creating a payment checkout form for customers to make Authorization Transaction and register their NACH mandate. A token will be generated once a customer makes this transaction.

Using this authorization transaction, we can authenticate the customer's NACH mandate and ensure that we can charge them recurring payments.

The flow to complete an authorization transaction using paper NACH is a little different from the regular recurring payment flow. The flow when using paper NACH is:

  1. Create a customer.
  2. Create an order by passing the customer_id and method nach. When you do this, Razorpay generates a NACH form with the customer information pre-filled and ready to sign.
  3. The customer signs the form. The customer can obtain the form in one of the following ways:
    • You can download the form from the Dashboard and send it to the customer.
    • Download from the Hosted page (in the case of registration links).
  4. The signed form is uploaded to Razorpay. This can be done in one of the following ways:
    • Using the Standard Checkout page.
    • Hosted page (in the case of registration links).
    • The customer can send you the form and you can upload the form for the customer. The acceptable image formats and size are:
      • .jpeg
      • .jpg
      • .png
      • Maximum accepted size is 6 MB.

Once the details are validated, the authorization transaction is completed and a token is generated. You can charge your customer as per your business model once the token status changes to confirmed.

The authorization transaction can be created using the following methods:

Following is the authorisation transaction flow for Razorpay Standard Checkout method.

To create checkout form for customers to complete authorisation transaction using the Razorpay Standard Checkout method:

Watch Out!

The authorization transaction using standard checkout can be created only using Razorpay APIs.


  1. This returns a customer_id.

  2. This returns an order_id.

  3. Pass the customer_id, order_id and a few additional parameters in your checkout to create the authorization payment. The customer completes the authorization payment, which generates a token.

Registration Links are securely generated web addresses that allow your customers to complete the authorization transaction. Registration links can be sent via SMS or email.

Following is the authorisation transaction flow for Razorpay registration link method:

Recurring Payments Using Registration Link

For customers to complete the authorization transaction via a registration link, you should Create a registration link and send it to your customer.

You can create a Registration Link using:

The customer completes the authorisation payment, which generates a token.

No Need to Create a Customer and Order Separately

If you use a registration link to create the authorization transaction, Razorpay automatically creates a customer and the order for you.

A registration link moves through the following states during its life cycle:

StatusDescriptionWebhook
IssuedA registration Link is created and sent to the customer.NA
PaidPayment is made for the issued registration Link.
Once the registration Link is paid, search for Token corresponding to the payment.
CancelledThe registration link has been canceled. In such cases, you need to create a registration link again.NA
ExpiredThe registration link has expired. You can set an expiry timestamp at the time of creation.

Once the customer has made the Authorization Payment, it moves through the following states as per the

:

StatusDescriptionWebhook
CreatedPayment is created when a customer enters and submits the payment information.NA
AuthorizedPayment is authorized when the customer’s payment details are successfully authenticated by the bank.
CapturedIndicates that the payment is verified by you.
Once a payment is captured you can .
or
FailedIndicates that the payment has failed.
If the payment has failed, you need to again.

This is a process of fetching the token that contains the registration details of the customer and checking its status.

A token represents a mandate registration and is generated after the authorisation transaction is successfully captured. A token contains customer's payment details stored by Razorpay and is used to create a recurring payment.

Handy Tips

For simplicity, tokens are considered to be mandates. Hence, the status of the token determines the status of the mandate registration.

You can search for the tokens using the following:

As the authorisation transaction moves through its different states, the token that is generated also undergoes state changes. Following is the life cycle of a token:

 Token life cycle

token_statusDescriptionNext Step
initiatedIndicates that the bank is processing the mandate registration.Wait for the webhook.
confirmedIndicates that the bank has completed the mandate registration.
rejectedIndicates that the mandate registration has failed.Create the authorization transaction again.
cancelledIndicates that the token has been cancelled.Create the authorization transaction again if you want to charge the customer.
pausedIndicates that the token has been paused by your customer.The token is inactive. Your customer has paused the token. Ask them to resume the token to charge them.

Know more about the turnaround time (TAT) for NACH from the

.

This is the process of charging customers the actual subsequent amount using the fetched token and customer details.

Handy Tips

Subsequent payments can be charged without the need of any intervention from the customer. However, subsequent payments need to be created manually by you.

Once a Token goes to the confirmed state, you can start creating recurring payments for the customer as per your business requirements.

You can create subsequent payments using:

To create subsequent payments using the Razorpay Dashboard:


  1. After the authorisation transaction is complete, a token is generated. You can use the search feature on the Razorpay Dashboard to find the required token and check its status.

  2. After you have found the required confirmed token, you can create a subsequent payment by charging the token according to your business needs.

Order is Created Automatically

While creating a subsequent charge using the Razorpay Dashboard, Razorpay automatically creates an order for you when you charge a token. There is no need to create an order separately.

To create subsequent payments using APIs:

  1. .
    Like any other payment, each subsequent payment is tied to a unique order id. Associating a payment with an order id makes it easier to query Razorpay systems and handle multiple payment attempts and, allows automatic capturing of payments.
  2. .
    Once the order is created, you can create a payment for it.
    After our system validates the payment along with token_id, a razorpay_payment_id is returned. In some cases, the payment entity returned is in the created state and may take 1 working day for confirmation.

Was this page helpful?