SaaS Subscription Billing India: Razorpay, UPI and GST
SaaS subscription billing India guide: Razorpay plans, UPI Autopay, RBI e-mandate rules, GST invoices and failed-payment handling for founders and product teams.
Summary of this article
- Defines SaaS subscription billing and the data objects an Indian product needs: plans, subscriptions, invoices and entitlements.
- Compares cards, UPI Autopay and eMandate in a table covering mandate limits and typical use.
- Summarises RBI's e-mandate rules on authentication, pre-debit notification and the ₹15,000 recurring threshold.
- Explains how Razorpay plan and subscription objects, webhooks and retries map to the lifecycle of a paying customer.
- Covers GST invoicing, proration and refunds, and lists a build order with how Arham Technology wires billing into SaaS products.
Summarised by AI from the full article. Check figures and prices against the article before you act on them.

Quick answer
SaaS subscription billing in India means charging customers on a schedule through plans, mandates and invoices. Most Indian startups use Razorpay Subscriptions for cards, UPI Autopay and eMandate, store billing state in their own database, and handle RBI's 24-hour pre-debit notice, failed-payment retries and GST invoices in the backend.
Key takeaways
- Model plans, subscriptions, invoices and entitlements as separate objects in your database, and let payment webhooks update them.
- Offer cards, UPI Autopay and eMandate, because Indian customers prefer different methods and each has its own limits.
- Plan for RBI rules: AFA at registration, a 24-hour pre-debit notice, and no AFA for recurring debits up to ₹15,000.
- Treat subscription.pending and subscription.halted webhooks as product events with grace periods and reminder emails, not just errors.
- Decide GST invoicing, proration and refund rules with your accountant before you write billing code.
On this page
- What is SaaS subscription billing?
- Which payment methods should an Indian SaaS support?
- What do RBI s recurring payment rules mean for your product?
- How do Razorpay plans and subscriptions work?
- How should you handle failed payments?
- How do GST, proration and refunds fit in?
- What should you build first? A practical order
- How Arham Technology approaches SaaS subscription billing
- Next step
You have a working product and the first customers want to pay monthly. Then the questions arrive: should they pay by card or UPI, who sends the invoice, what happens when a card expires, and how do you add GST without a spreadsheet? SaaS subscription billing India has a few local rules that overseas billing tutorials do not cover.
This guide explains the pieces of a billing system, how Razorpay's subscription objects work, what RBI's recurring payment rules mean for your product, and the order in which to build it. It is written for founders and product owners who need to brief a development team.
What is SaaS subscription billing?
SaaS subscription billing is the system that charges customers on a repeating schedule, issues invoices and keeps each customer's access in line with what they have paid for. It sits between your payment gateway, your database and your product's permission checks.
A healthy billing design separates four things:
- Plan: a price and a billing cycle, such as ₹2,999 per month or ₹29,990 per year.
- Subscription: the link between one customer account (a tenant) and one plan, with a status such as trial, active, past due or cancelled.
- Invoice: a record of one charge, with tax details, which you can email or download.
- Entitlement: what the customer may do, such as seats, projects or API calls, derived from the subscription status.
Keep this state in your own database. The payment gateway is the source of truth for money movement, but your app should own the customer's plan so you are not locked to one provider. This is the same boundary we describe in our guide to multi-tenant SaaS architecture, where plan limits are stored on the tenant record.
Which payment methods should an Indian SaaS support?
An Indian SaaS should support cards, UPI Autopay and eMandate, because customers split across all three and each fails in different ways. Razorpay's supported payment methods page lists these three for Subscriptions, with different limits.
| Method | How the customer authorises | Limits (as documented by Razorpay) | Typical fit |
|---|---|---|---|
| Cards (Visa, Mastercard, RuPay) | Card details and authentication at checkout | Depends on card mandate limits | Startups, freelancers, small teams |
| UPI Autopay | Approves a mandate in a UPI app | Mandate up to ₹1,00,000; frictionless debits ₹15,000 for most businesses | Low-ticket monthly plans, consumer-style SaaS |
| eMandate (eNACH) | Netbanking, debit card or Aadhaar authentication | Up to ₹1,00,00,000 | Larger B2B contracts and annual plans |
Two practical points. First, UPI Autopay mandate registration through Razorpay now uses UPI Intent, because the UPI Collect flow was deprecated for new registrations from 28 February 2026, with an iOS fallback. Second, limits depend on your merchant category, so check Razorpay's current limits table before you promise a price point to customers.
What do RBI's recurring payment rules mean for your product?
RBI's rules mean that every recurring charge must be consented to, announced in advance and easy to stop. The central bank's e-mandate directions cover cards, UPI and prepaid instruments, and they shape your user experience:
- Registration needs additional factor authentication (AFA). The customer authorises the mandate once, and the first transaction is also authenticated.
- A pre-debit notification goes out at least 24 hours before the charge. It names the merchant, amount, debit date and mandate reference.
- Recurring debits up to ₹15,000 can run without AFA. Larger amounts need fresh authentication, though some categories such as mutual funds, insurance premiums and credit card bills have a higher threshold.
- Customers can opt out of a debit or cancel the mandate. Modifications also need authentication.
For product design, this means a few things. Do not try to bill on the exact minute a trial ends, because the notice period has to run first. Show the next charge date and amount inside the app. Offer a simple cancel button. And for plans above ₹15,000 per charge, expect the customer to authenticate each time or choose eMandate or invoice-based payment.
These rules are updated from time to time, so confirm the latest text on the RBI site or with your payment provider before launch.
How do Razorpay plans and subscriptions work?
Razorpay models billing with a plan that you create once and a subscription that attaches a customer to it. According to the Razorpay Subscriptions API documentation, a plan defines the period (daily, weekly, monthly, quarterly or yearly), the interval, and an item with name, amount and currency. A subscription then references the plan_id and a total_count of billing cycles, with optional trial start, quantity and add-ons.
The quantity field suits per-seat pricing. If your software costs ₹100 per licence per month and a customer buys five seats, Razorpay charges ₹500 each cycle.
The webhooks are where your product comes alive. The ones you will use most are:
| Webhook event | What it means | What your app should do |
|---|---|---|
subscription.authenticated |
The customer completed the first authorisation | Show a confirmation and prepare the account |
subscription.activated |
The subscription is active | Unlock the plan's entitlements |
subscription.charged |
A charge succeeded | Mark the invoice paid and send a receipt |
subscription.pending |
An auto-charge failed | Show a payment banner and email the customer |
subscription.halted |
All retries failed | Restrict access after your grace period |
Verify webhook signatures, make your handlers idempotent so a repeated event cannot double-apply, and store the raw event for debugging.
How should you handle failed payments?
You should treat a failed payment as a normal lifecycle event with a clear customer journey, because card expiry, low balance and bank declines are routine. Razorpay's payment retries documentation says a failed card charge moves the subscription to pending and is retried automatically for up to three days after the charge date. If every retry fails, the subscription moves to halted, and the customer must retry or change the payment method.
A sensible dunning flow looks like this:
- Day 0: the charge fails. Show an in-app banner and send an email with a link to update the payment method.
- Days 1 to 3: let the automatic retries run, and send one reminder.
- Halted: keep the account readable but restrict creating new data, for a grace period you define.
- After the grace period: downgrade to a free or read-only plan, and keep the data for a stated period so a late payer can return.
Note that when a halted subscription becomes active again, Razorpay does not re-attempt earlier invoices, only future cycles. Your app should record any unpaid invoice and offer a manual pay link.
How do GST, proration and refunds fit in?
GST, proration and refunds are business rules first and code second, so decide them before the billing screens are designed. For Indian customers, a software subscription is generally a taxable service, and your invoice should carry your GSTIN, the customer's GSTIN for B2B sales, an invoice number series and the tax split between CGST and SGST or IGST. Exports of services and foreign customers have different treatment, so ask your chartered accountant to confirm rates, place of supply and any LUT requirements.
Then write down the policies your code will enforce:
- Upgrades: charge the difference for the rest of the cycle immediately, or switch at the next renewal.
- Downgrades: apply at the end of the cycle so you never refund partial months by default.
- Cancellations: access continues until the paid period ends.
- Refunds: state the window, if any, in your terms.
- Annual plans: decide whether the discount is a fixed number of free months or a percentage.
Simple rules produce fewer support tickets. A rule you cannot explain in two sentences is hard to implement correctly.
What should you build first? A practical order
Build the data model and the webhook pipeline before the pricing page, because pricing screens are easy to change and money-handling bugs are not.
- Define plans and entitlements in a table, including seats and usage limits.
- Create the subscription record on the tenant, with status, current period and provider IDs.
- Integrate Razorpay Checkout for new subscriptions, using test mode first.
- Build a webhook handler with signature checks, idempotency and an event log.
- Add the billing page: current plan, next charge date, invoices and a payment method update link.
- Add dunning emails and grace periods.
- Generate GST-compliant invoice PDFs and email them on every successful charge.
- Test unhappy paths: expired cards, cancelled mandates, upgrades mid-cycle and duplicate webhooks.
If you are still scoping the product, our SaaS MVP cost guide for India shows where billing sits in an early budget, and the REST API design best practices guide covers the API conventions that keep billing endpoints safe.
How Arham Technology approaches SaaS subscription billing
At Arham Technology we design billing alongside tenancy, not after it. Our SaaS development service includes subscription lifecycle wiring for trial, upgrade, cancel and dunning hooks, and we work with Razorpay or Stripe depending on your customers.
Our process for billing work looks like this:
- Problem compression: we confirm who pays, how often, and by which method.
- Tenancy and billing blueprint: plans, subscriptions, invoices and entitlements are modelled before interface work.
- Vertical slice: a customer can sign up, pay in test mode and see the right access.
- Pilot hardening: we test failed payments, plan changes and support lookups with early design partners.
- Scale readiness: background jobs, observability and operator dashboards are tightened as usage grows.
The Node.js and PostgreSQL stack we commonly use suits this work, and our backend development service can take over webhook, queue and API design if you already have a front end. For a comparison of backend options, read our guide to Node.js vs Laravel.
Next step
If you are about to charge your first customers, or your current billing relies on manual invoices, send us a short brief on the contact page. Tell us your plans, expected customers and payment methods, and we will suggest a billing design and a delivery estimate. You can also read about the full SaaS development offering before you reach out.
Frequently asked questions
What is the best payment gateway for SaaS subscriptions in India?
For most Indian SaaS products selling to Indian customers, Razorpay Subscriptions is the usual starting point because it supports cards, UPI Autopay and eMandate in one integration. If a large share of your customers pay in foreign currency, you may add a second provider such as Stripe, subject to account eligibility.
Does UPI Autopay work for SaaS subscriptions?
Yes. UPI Autopay lets a customer approve a recurring mandate once in their UPI app. According to Razorpay's documentation, mandate creation goes up to ₹1,00,000, but frictionless debits without fresh authentication are limited to ₹15,000 for most businesses. Check the current limit table for your merchant category.
Do I need to notify customers before each recurring charge?
Yes, under RBI's e-mandate framework the customer's bank or card issuer must send a pre-transaction notification at least 24 hours before each debit. It includes the merchant name, amount, debit date and reference. You should still send your own invoice or reminder email so billing never feels like a surprise.
What happens when a subscription payment fails on Razorpay?
The subscription moves to the pending state, Razorpay retries the charge on the following days, and if every retry fails it moves to halted. You receive subscription.pending and subscription.halted webhooks, so your app can show a banner, send reminders and restrict access after a grace period you choose.
Do SaaS companies in India charge GST on subscriptions?
Generally yes. Software subscriptions sold in India are treated as taxable services, and invoices need your GSTIN, the customer's GSTIN for B2B sales and the correct tax split. Rates and place-of-supply rules can change, so confirm the details with a chartered accountant before launch.
Want SaaS Development done right?
Get a free consultation and a clear plan — scope, timeline and cost — from our Mumbai team.



