How to accept UPI Autopay for a paid newsletter
If you've tried to run a paid newsletter in India using cards, you already know the punchline: about a third of your would-be subscribers drop off at checkout, and a chunk of the ones who succeed churn silently three months later when the auto-renewal fails. It isn't the reader. It's the payment rail.
UPI Autopay is the fix. It's the reason paid newsletters can actually work for an Indian audience in 2026, and it's the single biggest platform-selection lever most creators don't think about until they've already picked the wrong stack.
This post covers: what UPI Autopay is, why cards keep failing, how the mandate flow works, which gateways to use, and how to actually implement it — both the DIY route and the shortcut.
What UPI Autopay actually is
UPI Autopay is a NPCI-standardised recurring-payment mandate built on top of UPI. A user approves a mandate once inside their UPI app (GPay, PhonePe, Paytm, BHIM — any of them), and after that your payment processor can pull a fixed or variable amount on a schedule without the user re-authenticating each time.
Two things make it interesting for a paid newsletter:
- It's the payment method Indian readers actually trust. UPI processes something like 15+ billion transactions a month. Your reader has already sent money over it this morning. Card checkouts feel foreign; UPI feels like WhatsApp.
- It doesn't rely on RBI's tokenisation regime for cards. The 2022 tokenisation rules made card-on-file recurring payments legally messy and technically brittle. UPI Autopay sits under a completely different NPCI framework (the AutoPay circular) and just works.
Mandates can be up to ₹15,000 per transaction without additional authentication (as of the current NPCI limit — worth re-checking). Above that, the user gets an OTP-style prompt in their UPI app on each pull.
Why cards fail so much for Indian subscribers
A quick tour of why "we take cards" is not the same as "we accept payments" in India:
- Tokenisation friction. Post-tokenisation, every merchant needs to re-tokenise cards. Not all issuing banks cooperate cleanly. Silent decline rates on the second charge of an international-processor-issued subscription can be alarmingly high.
- International vs domestic MDR. Stripe's Indian entity is improving but still doesn't cover the full spectrum of Indian consumer cards well. Some cards are declined for reasons the reader can't fix.
- OTP UX on mobile. Recurring card mandates require SMS OTP re-confirmation windows that Indian users often miss, especially if they're on Jio and the SMS lands late.
- Foreign merchant flags. If your platform (say, Substack) routes payment through a US Stripe account, some Indian issuers throw up "international transaction" warnings on every renewal.
Net effect: card-based paid newsletters in India lose paying subscribers at renewal at roughly 2–4x the rate that UPI Autopay-based ones do. That's anecdote from creators we've spoken to, not a benchmark study, but the direction is consistent.
The mandate flow, step by step
Here's what actually happens when a reader subscribes to your paid newsletter via UPI Autopay:
- Checkout. Reader picks a plan (say ₹299/month) on your subscribe page.
- UPI ID or intent. They enter a UPI VPA (
name@ybl) or tap an app-intent button that opens GPay/PhonePe directly. - Mandate approval. Their UPI app shows a mandate screen: "Approve recurring payment of ₹299/month to
until ." They enter their UPI PIN once. - Mandate registered. The gateway (Razorpay/Cashfree) confirms the mandate ID. Your platform stores it against the subscriber's account.
- First debit. Depending on setup, the first payment happens immediately (with the mandate) or on the mandate's start date.
- Auto-debit each cycle. On the next billing date, the gateway triggers the mandate. The reader gets a pre-debit SMS notification 24 hours before. Money moves. Your webhook fires. You mark the subscription active.
- On failure or cancel. If the mandate fails (insufficient funds, revoked mandate), your webhook fires with a failure event. You retry per your dunning logic or downgrade the subscriber.
The whole thing feels invisible to a reader who's used UPI before. That's the point.
Gateway options: Razorpay vs Cashfree
Two credible options for UPI Autopay in India right now:
Razorpay — the market leader for subscription products. Their Subscriptions API supports UPI Autopay natively. Docs are readable, sandbox is functional, and the dashboard is where most Indian SaaS founders already spend their time. Standard MDR is around 2% for UPI (verify current pricing on their site).
Cashfree — competitive on pricing for high-volume merchants, solid Autopay support, sometimes preferred by fintechs. Docs are less polished than Razorpay's but the API surface is comparable.
For 95% of paid newsletters, either works. Razorpay is the safer default because integration tutorials for it dominate the Indian dev community.
Skip: PayU (older APIs, painful subscription flow), Instamojo (never invested seriously in Autopay), international Stripe (no UPI Autopay).
Implementing it yourself (the DIY route)
If you're on Ghost, WordPress, or a custom stack, here's the shape of the work:
1. Merchant onboarding. Sign up on Razorpay with your PAN, GSTIN (if applicable), and bank account. KYC takes a few business days. You need Subscriptions enabled — this is off by default; open a support ticket to request it.
2. Create plans. In Razorpay's dashboard, create a Plan for each tier (monthly-299, yearly-2999). Plans hold the amount, currency, and billing interval.
3. Build a checkout page. Serve a page with Razorpay's Checkout.js. When the user picks a plan, call your backend to create a Subscription (via Razorpay's API) and pass the returned subscription_id to Checkout. The UPI Autopay mandate flow is handled inside the Razorpay modal.
4. Handle the webhook. Razorpay POSTs to your webhook endpoint on every event: subscription.authenticated, subscription.charged, subscription.completed, payment.failed, etc. You need a queue worker that:
- Verifies the HMAC signature.
- Upserts the subscription in your DB.
- Grants/revokes newsletter access based on status.
- Sends a "you're in" welcome email on first success.
- Sends a dunning email on failure.
5. Access control. In your newsletter send logic, filter recipients by active subscription status before pushing to the email queue.
6. Cancellation flow. Give the reader a self-serve cancel endpoint that hits Razorpay's subscription.cancel API. If you don't, they'll revoke the mandate from their UPI app and you'll be confused by ghost failures.
7. Compliance. DPDP Act 2023 — collect explicit consent for storing UPI-linked identifiers. GST invoicing for subscription revenue if you're above the threshold. RBI's Authenticator Framework for pre-debit notifications is handled by the gateway, but confirm your gateway is doing it.
Realistic effort: two to three weeks of focused developer time for a first version. Ongoing: dunning tuning, edge cases when a reader upgrades mid-cycle, refund flow for annual plans.
The shortcut
If you don't want to build any of the above — and there's no medal for building payment infrastructure yourself — use a platform that already ships UPI Autopay.
Fluxeta's UPI Autopay is built directly on top of Razorpay Subscriptions. You connect your Razorpay account once (or use our platform-owned gateway if you don't have one), define your paid tiers in INR, and your subscribe page renders with UPI as the default payment method. Mandate registration, webhook handling, dunning, invoicing, and DPDP-compliant consent are all handled. Cancellation is a one-click for the reader.
The tradeoff is the usual SaaS tradeoff: less control over the checkout page's exact look, less ability to route to a specific gateway account per subscription. For most newsletter creators, that's a good trade.
What Substack and international platforms can't do here
Worth naming explicitly: neither Substack, nor Beehiiv, nor Ghost Pro currently support UPI Autopay natively. They route paid subscriptions through Stripe, which in the Indian market means cards, and cards mean the failure modes above. That's the single biggest reason we recommend an India-first platform for India-facing paid newsletters — see Fluxeta vs Substack for the full breakdown.
Closing thought
Payment infrastructure is boring, until you realise it's the thing quietly determining whether your paid newsletter has 200 subscribers or 2,000 next year. Get UPI Autopay right and everything else — content, growth, retention — gets easier.
Fluxeta ships with UPI Autopay wired in — you can be taking payments on the first day. Free tier lets you run the whole flow (up to 1,000 subscribers) without a card on file. See how it works, or check pricing if you're comparing.
Try Fluxeta free
Newsletter, blog, courses, videos, memberships, link-in-bio, and booking — all-in-one, INR-native, no duct tape.
Start free →Related posts
Migrating from Substack: full 2026 guide (with 1-click importer)
End-to-end 2026 guide to migrating off Substack — export, DNS, subscribers, paid tiers, redirects, and India-specific tax and legal handoff.
Ghost vs Substack vs Fluxeta: India-specific comparison
Ghost vs Substack vs Fluxeta compared through an Indian lens — UPI, INR pricing, DPDP compliance, WhatsApp distribution, and total cost.
Substack alternatives in India (2026)
Honest look at Substack alternatives for Indian creators in 2026 — UPI Autopay, custom domain, fees, and audience portability compared.