§ Case study
The store with no middleman on payments: inside a live eDukan build
Every gateway payment costs an Indian retailer 2–3% of the sale. One retail client's store (name kept private) sends UPI payments straight to its own UPI ID — no gateway in between — and automates everything that happens after.
21 October 2026· Sucharia Strategic Solutions
A payment gateway is the easiest thing to add to an online store and the most expensive thing to keep. The standard 2–3% fee sounds small until you put it against MSME retail margins — for many product categories, the gateway quietly takes a tenth of the profit on every order.
When we built this retailer's store, that fee was treated as a design problem. The answer: for UPI, remove the middleman entirely.
UPI with nobody in between
At checkout, the store creates the order and renders a UPI QR that points directly at the store's own UPI ID — the customer pays from GPay, PhonePe, or any UPI app, and the money lands in the store's account with no gateway between them. A one-tap WhatsApp button lets the customer send their payment screenshot against the order number; the store confirms it from the admin, which triggers the automatic "payment approved" message and writes an audit-log entry.
Card checkout via Razorpay is built in behind a switch — with server-side signature verification and an idempotent webhook that can't double-process a payment event — for the day the store wants it on. The point is choice: the free rail is the default, the paid rail is optional.
Through a gateway
- Customer pays the gateway, not you
- 2–3% fee on every order
- Settlement lands later, in batches
- ₹97–98 of every ₹100 reaches the store
Direct UPI (this build)
- QR points at the store's own UPI ID
- No middleman, so no middleman's fee
- Money lands in the store's account instantly
- Screenshot on WhatsApp ties payment to order
The default path has nobody between the customer and the store. Cards stay available behind a switch.
Seven moments, two channels, zero typing
After payment, the engine runs the conversation. Seven order events — placed, payment approved, payment failed, refunded, shipping update, delivered, cancelled — each send automatically on both WhatsApp and email, from 14 message templates the store can edit without a developer. The WhatsApp side runs on Meta-approved templates, most of them in Hindi, because that's the language the customers actually read.
It goes further than order updates. A cart abandoned for 30 minutes gets a WhatsApp nudge with a coupon. A delivered order gets a review request the next day. And an inbound WhatsApp bot answers the routine questions — track my order, show categories, payment help — including a product carousel, with every rule editable from the admin. STOP and START keywords work in English, Hindi, and Gujarati, with consent recorded the way India's DPDP Act expects.
- 01Order placedWhatsApp + email confirmation
- 02Payment approvedreceipt message, audit-logged
- 03Shippedtracking number + courier link
- 04Deliveredthank-you message
- 05Next dayreview request
Five of the seven automated events, in the order a customer experiences them. Failed payments, refunds, and cancellations have their own messages.
An admin the team actually runs
Behind the storefront sits a 15-module admin: orders, products, categories, promotions, banners, FAQs, users, reviews, trending, store settings, message templates, communication logs and more — plus camera-scan order lookup, CSV bulk product import, one-click database backup, and a maintenance-mode switch. Two staff roles (admin and manager) keep sensitive areas gated.
One module deserves its own mention: Counter Rewards connects the physical shop to WhatsApp. Staff photograph a bill and send it with one structured caption; the system logs the sale, applies the customer's tier discount, and issues partner coupons automatically — a loyalty programme with no loyalty software for the customer to install.
Built for the festival spike
Festival season is when an MSME store earns its keep — and when cheap builds fall over. Order numbers are generated without database contention (the design target in the code: 100+ orders a minute). Notifications send after the customer gets their confirmation, so checkout never waits on WhatsApp. Images live on Cloudflare R2, logs stream to Axiom, a token-guarded health endpoint watches the database and storage, and 176 automated tests cover checkout, promos, consent, and the payment webhooks.
Stock logic is honest too: inventory is deducted when an order actually ships, and restored automatically if a shipped order is cancelled — so festival-rush overselling and phantom stock-outs don't happen by accident.
- 7 × 2
- order events, each on WhatsApp and email
- 14
- message templates the store edits itself
- 15
- admin modules, no developer needed
- 176
- automated tests on checkout, promos, webhooks
Every number verified in the deployed codebase, October 2026.
In short
- UPI payments go straight to the store's own UPI ID — no gateway in the middle, no gateway fee on the default payment path.
- Seven order events auto-send on WhatsApp and email from 14 editable templates, with DPDP-compliant consent and STOP/START in three languages.
- Abandoned carts get a coupon nudge after 30 minutes; delivered orders get a next-day review request; a WhatsApp bot answers routine questions.
- A 15-module admin — with camera order scanning, CSV import, and one-click backup — means the team runs the store without a developer on call.
- This exact engine is packaged as eDukan and is live in production for a real retailer today.
The engine behind this article
eDukan — eStore & payments engine