WooCommerce Subscriptions for Indian Businesses: Setup and the Gotchas Nobody Warns You About

Setting up recurring billing for an Indian business sounds straightforward until you get into the specifics. The WooCommerce Subscriptions plugin works as advertised — in markets with mature card-on-file infrastructure. India's payment landscape is different: UPI mandates have transaction limits, credit card tokenization rules changed in 2022, and not every gateway extension supports every recurring payment method. This post covers what actually works, what breaks, and how to set up a reliable subscription billing system on WooCommerce for Indian customers.

Why Subscriptions Are Different — The Technical Reality

A one-time payment is simple: the customer authorises a charge, money moves, done. A subscription is fundamentally different because the merchant initiates future charges without the customer actively approving each one. This requires a stored authorisation — called a mandate, a standing instruction, or a token depending on the payment method.

This is where India's payment infrastructure adds complexity that other markets don't face:

  • UPI mandates have a ₹15,000 per-transaction cap for auto-debit without real-time customer confirmation. Above that, the customer must approve each charge in their UPI app — defeating the point of automatic renewal.
  • Credit card tokenization rules changed under RBI's Card-on-File Tokenization (CoFT) framework in 2022. Raw card numbers can no longer be stored by merchants or aggregators; only tokens issued by card networks are allowed. Gateways have adapted, but the implementation varies.
  • e-NACH (electronic National Automated Clearing House) mandates work for netbanking-based recurring with no transaction limit, but they have a 24–48 hour activation delay after the customer completes the first subscription purchase. This creates a gap where the customer has subscribed but the mandate isn't live yet.
  • Aadhaar e-mandate requires specific bank participation and an Aadhaar-linked bank account — not universal coverage.

Understanding these constraints before you build your subscription product prevents expensive surprises when customers start hitting failures at renewal time.

WooCommerce Subscriptions Plugin — What It Does and What It Doesn't

The WooCommerce Subscriptions plugin (from WooCommerce.com) handles subscription lifecycle management: creating subscriptions on purchase, tracking billing cycles, managing trial periods, sending renewal notifications, handling plan upgrades and downgrades, dunning on failed payments, and providing a customer portal for subscription management.

What it does not do is talk to payment gateways directly for recurring charges. That's handled by a separate gateway-specific extension that implements the actual mandate creation and recurring charge API calls. The subscription plugin defines the when; the gateway extension handles the how.

Pricing to budget for:

  • WooCommerce Subscriptions core plugin: $199/year
  • Gateway extension (varies): $0 to $79/year depending on the gateway
  • Total annual cost before hosting and development: ₹25,000–35,000/year at current exchange rates

For a SaaS business with 100+ subscribers, this cost is negligible against the revenue. For a small membership site with 20 subscribers at ₹499/month, the plugin cost is proportionally significant — worth noting before you commit.

Razorpay + WooCommerce Subscriptions

Razorpay is the most complete option for WooCommerce recurring billing in India in 2026. Their official WooCommerce plugin supports subscriptions through two mechanisms:

UPI Autopay mandates: The customer creates a mandate during checkout using their UPI app. Subsequent renewals are debited automatically without customer action, up to ₹15,000 per billing cycle. Above ₹15,000, the customer receives a notification in their UPI app and must manually approve — the payment doesn't fail, but it requires action.

Card tokenization: Razorpay stores a card network token (not the raw card number) during the first purchase. Renewals charge the saved token. Visa and Mastercard CoFT tokens are supported; RuPay tokenization support exists but is less consistent across issuing banks.

Setup walkthrough for the Razorpay + WooCommerce Subscriptions integration:

  1. Install and activate the Razorpay WooCommerce plugin from the official repository
  2. In the Razorpay Dashboard, navigate to Settings → Subscriptions and enable the subscriptions feature (requires a Razorpay account review; allow 1–2 business days)
  3. In your WordPress admin, go to WooCommerce → Settings → Payments → Razorpay and enable "Subscriptions" support
  4. Set up webhooks in the Razorpay Dashboard pointing to yourdomain.com/?wc-api=razorpay — critical for mandate revocation and payment failure events
  5. Test with a ₹1 subscription product using Razorpay's test mode before going live

The mandate revocation webhook deserves specific attention. When a customer cancels a UPI mandate from their UPI app (BHIM, PhonePe, Google Pay — all allow this), Razorpay sends a webhook to your store. WooCommerce Subscriptions must handle this by cancelling the subscription on your end. If the webhook isn't configured correctly, your store thinks the subscription is active while the UPI mandate is gone — the next renewal will fail silently.

PayU + WooCommerce Subscriptions

PayU's recurring billing model works via Standing Instructions (SI) — a feature on select credit and debit cards where the bank honours repeat charges without customer intervention. This is more reliable than UPI for corporate card payments, which is why PayU is a better fit for B2B SaaS subscriptions where customers pay with company credit cards.

PayU's WooCommerce extension is available at no additional cost, but the gateway account itself requires recurring billing to be enabled by PayU's onboarding team — expect 5–7 business days for activation after submitting your use case. PayU requires you to specify the subscription amount range and frequency in your application; they review this before enabling the feature.

The limitation with PayU: UPI recurring support is less developed compared to Razorpay. If your customer base skews toward UPI payers (which is most Indian consumer audiences in 2026), Razorpay handles that segment better. PayU is the stronger choice when your subscribers are businesses paying via corporate cards.

The UPI Autopay Limitations You'll Actually Hit

The ₹15,000 per-transaction limit on UPI Autopay sounds fine until you map it to actual subscription products:

Subscription PlanUPI AutopayRecommendation
₹299/month — Basic SaaSWorks, no customer action neededUPI Autopay fine
₹999/month — Standard planWorks, no customer action neededUPI Autopay fine
₹4,999/month — PremiumWorks, no customer action neededUPI Autopay fine
₹25,000/month — EnterpriseExceeds limit; customer must approve each chargeUse card or e-NACH mandate
₹1,00,000/year — Annual planExceeds daily limit if charged as lump sumCard or netbanking mandate only

For annual subscription plans that exceed ₹15,000 as a single charge, present customers with card payment as the primary option and UPI as an alternative for smaller plans. You can use WooCommerce's payment method filtering to show different gateways based on the subscription amount — requires custom code or a plugin like WooCommerce Conditional Payment Gateways.

e-NACH (netbanking mandate) has no per-transaction limit, but the 24–48 hour activation delay is a real UX problem. A customer who signs up for a ₹50,000/year enterprise subscription on a Friday afternoon won't have an active mandate until Monday — during which time your system shows them as subscribed but you haven't received payment confirmation yet. Handle this with clear post-signup messaging and a manual payment option as a fallback.

Dunning and Failed Payment Recovery

WooCommerce Subscriptions includes built-in retry logic for failed renewals. The default behaviour: one retry 5 days after failure, one retry 10 days after failure, then the subscription is suspended. You can configure these intervals in WooCommerce → Settings → Subscriptions.

Indian-specific context that affects dunning strategy: bank payment declines in India are disproportionately common at certain times of the month. Salary cycles mean many retail customers have lower account balances in the week before salary credit (typically the last week of the month). If your subscription renews on the 25th and a significant portion of your customer base gets paid on the 1st, a 5-day retry on the 30th will succeed for many of those who failed on the 25th — but a 5-day retry that falls over a public holiday weekend may not.

For UPI mandate failures specifically, the dunning email must explain that the issue may be a mandate that needs re-authorization in the customer's UPI app — not a card decline. Many Indian customers don't know they can revoke UPI mandates from their banking app, and they don't connect the cancelled mandate to the failed subscription renewal. Clear language in the dunning email reduces support tickets.

The "payment method update" link that WooCommerce Subscriptions includes in dunning emails — which lets the customer add a new card or UPI to replace the failed one — reduces churn by 15–20% in Indian markets, based on patterns I've observed across multiple client subscription setups. Make sure this link is prominent in your dunning email template, not buried in the footer.

GST Compliance for Subscriptions

Every subscription renewal generates a taxable transaction under GST. This creates an invoicing obligation that one-time ecommerce sales handle more simply. For subscription businesses, you need:

  • GST invoice on every renewal: The WooCommerce PDF Invoices & Packing Slips plugin handles automatic invoice generation on renewal. Configure it to trigger on the "subscription renewal order" event, not just the "order complete" event.
  • GSTIN capture for B2B subscribers: Add a GSTIN field at checkout for B2B customers. The WooCommerce GST plugin (or similar) handles this; the GSTIN must appear on renewal invoices for your corporate subscribers to claim input tax credit.
  • GSTR-1 monthly filing: All subscription renewals — even for subscribers who aren't GST-registered — count toward your outward supply reporting. Your accountant needs a monthly export of all renewal transactions. Set up a WooCommerce report or export scheduled task to produce this automatically rather than manually compiling renewal data each month.
  • Address updates: WooCommerce Subscriptions allows customers to update their billing address mid-subscription. If a B2B customer updates their address to a different state, the GST rate (IGST vs CGST+SGST split) changes. Your invoicing plugin must handle this correctly for subsequent renewals.

Frequently Asked Questions

Does WooCommerce Subscriptions work with Paytm or PhonePe?

Paytm Payment Gateway has a WooCommerce plugin that technically supports recurring payments, but the UPI recurring functionality is limited and the plugin has had inconsistent maintenance updates over the past two years. PhonePe does not have an official WooCommerce Subscriptions-compatible extension as of early 2026. For Indian recurring billing that you can rely on in production, Razorpay or Cashfree are the gateways with actively maintained WooCommerce extensions and documented subscriptions support. Cashfree is worth evaluating if you have a specific reason to avoid Razorpay — their recurring payment support is solid and their WooCommerce plugin is well-maintained.

Can I offer a free trial with Indian payment gateways?

Yes, but with important nuance per gateway. Razorpay supports zero-charge free trial periods where no amount is collected until the trial ends — the mandate is created upfront during the trial signup so that the first billing charge after trial end succeeds without customer action. Customers may see a ₹1 pre-authorization charge appearing temporarily on their account in some cases, which causes confusion; communicate this proactively. PayU supports free trials only for card payment instruments, not UPI — so UPI customers on a PayU-powered free trial will need to complete a card checkout at trial end. For most subscription businesses, offering Razorpay as the primary gateway gives you the cleanest free trial flow for both UPI and card customers.

What happens if a subscription customer's card expires?

WooCommerce Subscriptions sends an automated expiry warning email 30 days before the stored card's expiry date (configurable in subscription settings). If the renewal attempt fails because the card has expired, the dunning cycle begins — the customer receives an email with a payment method update link. With Razorpay's tokenization, card-on-file tokens participate in Visa's Account Updater and Mastercard's Automatic Billing Updater services — when your customer's bank reissues a card with a new expiry date, the card network updates the token automatically, and Razorpay reflects the updated token without any customer action required. This works for most Visa and Mastercard issuers in India. For UPI mandates, there's no equivalent auto-update: if a customer changes their UPI ID or phone number linked to their UPI account, they must create a new mandate on your store.