How to Build a Zero-Fee UPI Payment Gateway for Teens and Small Businesses
A lightweight serverless payment verification system using Gmail alerts and UPI transactions without traditional payment gateways or KYC friction.
Hey everyone, I wanted to share something I built that might help a lot of people here.
The Problem:
If you’re under 18 or running a small online business in India, accepting payments is ridiculously hard. Payment gateways like Razorpay and Stripe require KYC documents, business registration, and charge 2-3% per transaction. For teens selling art, running Discord bots, or doing freelance work, this is a complete roadblock.
Even if you manage to get approved, those fees add up fast. Sell something for ₹500? You lose ₹10-15 immediately.
The Solution:
I built a system that uses your bank’s email notifications to verify UPI payments. When someone pays you, your bank sends you an email instantly. This system watches your Gmail inbox and automatically matches those emails to orders on your website.
No payment gateway. No fees. No KYC.
How it works in simple terms:
You have a checkout page on your site. Customer enters their name and have options like pay via upi apps or QR code, UPI apps option use intent url and redirects to upi app, They pay ₹497.72 (slightly different amount each time, so we can identify which payment is theirs). Your bank emails you saying “You received ₹497.72 from Priya Singh”. My system checks Gmail, finds that email, verifies the amount matches, checks the timestamp is recent, and confirms the name. Order automatically marked as paid.
The whole thing runs on Cloudflare Pages which is completely free for small sites.
Who can use this:
Teens with FamPay accounts (no KYC needed, just Aadhar). Adults with HDFC Bank accounts (or any bank that emails transaction alerts). Anyone building a small online store, selling digital products, taking freelance payments, or running a SaaS side project.
What makes it work:
Every order gets a unique amount (for example₹497.72 instead of ₹500) so you can identify payments. Three-layer verification checks amount, time window (15 minutes), and customer name. Smart name matching handles how Indian banks shorten names (Brajesh Kumar becomes Brajesh K). Everything runs serverless so hosting is free.
The catch:
This is NOT for serious businesses with high volume. It’s for side projects, MVPs, and people who are locked out of traditional payment systems. You’re limited by Gmail API quotas (which are generous but not infinite). There’s a 2-10 second delay. You need to handle edge cases yourself.
Why I built this:
I was 17 when I first tried to monetize a project. Every payment gateway rejected me. Even when I turned 18, the KYC process took weeks and the fees were painful for a ₹99 product. This would have saved me so much frustration.
Tech stack:
Cloudflare Pages for frontend. Cloudflare Functions for backend API. Gmail API for checking emails. Cloudflare KV for order storage. Everything free tier.
I’ve written complete documentation with code examples, the unique amount formula, name matching logic, and how to handle payment verification. If you’re interested, I can share the guide.
Would love to hear if anyone has tried something similar or has questions about the approach. Also open to feedback on making this more robust.