API ReferenceIntegrationsKnowledge Base

Razorpay Smart Collect

Using Razorpay Smart Collect, you can generate virtual accounts on demand and accept payments via NEFT, RTGS and IMPS. Smart Collect enables you to create virtual accounts tagged to individual customers and share the account number and IFSC details. Customers can transfer funds (via NEFT, RTGS and IMPS) to these virtual accounts that are directly linked to your bank accounts.

Since a new account can be created for each customer, you can easily track payments made by them. Razorpay notifies you of payment made to any of your accounts and also handles the complexity of reconciling these payments on your behalf.

Payments made using Smart Collect largely follow Razorpay’s existing payment flow. If you are new to Razorpay, we recommend understanding this before you go ahead with the rest of the document.

Use Cases#

Here are some examples of how Smart Collect can be leveraged.

  • One Time Payment

    If you need to accept a single, large payment from a customer, preferably via NEFT, RTGS or IMPS, you can create a virtual account using Smart Collect for them and share the generated account number and IFSC. When the customer makes the payment to this account, you get notified by Razorpay and can then close the account.

  • Regular Payments

    If you need to send a customer regular invoices for payments of large volume, you can create a virtual account using Smart Collect for them and share the details. The customer can add this account as a beneficiary on their preferred banking portal and make regular payments to it whenever required. Razorpay notifies you every time a payment is made towards the account, thus simplifying the reconciliation process.

  • Event-Based Payments

    If you need to accept several payments from multiple sources, for a range of possible campaigns or events, you can use Smart Collect to create a virtual account for each campaign and share details accordingly. For every payment made towards any of these accounts, Razorpay notifies you of the account used, thus eliminating the need to identify which campaign the payment was made for.


Sharing your actual account number for purposes of receiving a NEFT, RTGS or IMPS transaction has several disadvantages, most notably that of reconciliation. This is an arduous task, involving matching the bank reference IDs shared by the customers with those present in your bank statement.

However, with Smart Collect you can create a unique bank account number for each customer, and automatically tag the payments made to each account with the customer it was created for. This greatly simplifies the reconciliation process.

Using Smart Collect thus entails a reduction in administration cost, as it can be used to identify remitters automatically and not depend on the bank reference details provided in the payment reference field.

Life Cycle#

A virtual account created in this fashion remains open, that is, has status as active, until closed:

  • Automatically, by using the close_by option at the time of virtual account creation, via Dashboard or API.
  • Manually, from the Dashboard or using the API.

See Statuses and API Endpoints for more details.