API ReferenceIntegrationsKnowledge Base

Razorpay Smart Collect

For years, businesses have been collecting large payments from customers in the form of bank transfers. While collecting payments is easy, the reconciliation is a tough task as it is prone to human errors and increases administrative costs.

Using Razorpay Smart Collect, you can generate virtual bank accounts and virtual payment addresses (UPI IDs) on-demand and share the details with customers to accept payments via NEFT, RTGS, IMPS and UPI. These virtual bank accounts and UPI IDs are linked to the bank account you have registered with Razorpay.

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

Note:
Payments made using Smart Collect largely follow existing Razorpay payment flow. If you are new to Razorpay, it is recommended to understand this flow before you proceed to read the document.

Third Party Validation:
Smart Collect also supports Third Party Validation. To learn more, refer to the Third-Party Validation (TPV) section.

Advantages🔗

  • Instant Creation
    Generate virtual bank accounts and virtual UPI IDs in real-time via Razorpay Dashboard and APIs.

  • Personalization
    Create custom UPI IDs to match your business need and branding. For example, rpy.acmecellno8449472988@icici and rpy.acmevendorakashkumar@icici.

  • Multiple Payment Avenues
    Enable customers to make payments via NEFT, RTGS, IMPS and UPI.

  • Automatic Reconciliation
    Eliminate the difficulty of manual reconciliation and save time and cost.

  • Account-level Visibility
    View and manage every payment received from customers.

  • Real-time Notifications
    Get real-time notifications on payments with Webhooks.

Use Cases🔗

Here are some examples of how Smart Collect enables you to accept payments.

  • Single, large one-time payments
    If you want to accept a single, large one-time payment from a customer (preferably via NEFT, RTGS, IMPS or UPI), you can create a virtual bank account or UPI ID and share the generated account details (account number and IFSC) or UPI ID. When the customer makes the payment to this account or UPI ID, Razorpay notifies you so that the account can be closed.

  • Regular payments of large volume
    If you want to send customers regular invoices for payments of large volume, you can create a virtual bank account or UPI ID for them and share the details. Customer can add:

    • The bank account as a beneficiary on their preferred netbanking portal and transfers the money using NEFT, RTGS or IMPS
    • The UPI ID on their UPI payment service provider app such as Google Pay and transfers the money using UPI. Razorpay notifies you every time a payment is made towards the account, thus simplifying the reconciliation process.
  • Campaign or event-based payment
    If you want to accept several payments from multiple sources for a range of campaigns or events, you can use Smart Collect to create a virtual bank account or UPI ID for each campaign and share details accordingly. For every payment made towards any of these accounts or UPI ID, Razorpay notifies you of the account or UPI ID used, thus eliminating the need to identify which campaign the payment was made for.

  • Single Virtual Account, Multiple Customers
    If you want to accept payments from multiple customers using a single virtual account, you can create a virtual account and share the details. Customers can make payments to the same virtual account. You can reconcile the payments using our webhooks and reports.

How Smart Collect Works🔗

  1. Sign up for a Razorpay Account.
  2. You create virtual bank accounts or virtual UPI IDs tagged to the customer.
  3. Share account details (such as account number, IFSC and Name) or UPI ID with the customer.
  4. Customer adds:
    • The bank account as a beneficiary on their preferred netbanking portal and transfers the money using NEFT, RTGS or IMPS
    • The UPI ID on their UPI payment service provider app, such as Google Pay and transfers the money using UPI.
  5. Payment deposited in these virtual accounts or UPI ID is settled into your bank account linked with Razorpay.

Payment Confirmation:
You can consider a payment to be successful only when you receive the notification from Razorpay. You can check the payment status on the Razorpay Dashboard. Also, you can choose to configure webhooks and subscribe to the virtual_account.credited event to receive notifications when customers make payments.

Virtual Account Format🔗

Using Razorpay Smart Collect, you can create a unique virtual bank account number and UPI IDs to be shared with your customers. The structure and components of these are explained below.

Virtual Bank Account Number🔗

The virtual bank account number consists of 16 digits.

CopyBank Account Number: 1112220040042526

Virtual UPI ID🔗

A UPI ID comprises of the following:

  • Username
    The username comprises of the prefix, the merchant identifier and the descriptor. For example,rpy.payto00000gaurikumar@icici consists of:
    • Prefix
      Static information. Value is rpy.
    • Merchant Prefix
      payto00000 is the standard merchant prefix. You can opt for a custom, 4-10 character merchant prefix as per your brand requirements. For example, acmevendor. Contact Razorpay Support to get this configured for your Razorpay account.
    • Descriptor
      10-16 character unique identifier of your customer provided by you. For example, gaurikumar.
  • Handle
    The name of the partner bank. For example, @icici.

Merchant Identifier + Descriptor:
The combination of merchant identifier and custom descriptor must be exactly 20 characters. Special characters are not allowed in merchant identifier or descriptor.

Note:
Razorpay will auto-generate the descriptor if it is not provided at the time of virtual account creation.

Life Cycle🔗

There are two possible statuses for a virtual account: active and closed.

Active🔗

When first created via Dashboard or API, a virtual account is said to be in the active status. That is, it is ready to accept payments.

Closed🔗

A virtual account can be closed in two ways:

  • 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.

Once the account is in closed state, customers cannot make payments to that account.

See API Endpoints for more details.

×