UPI, COD, GST and WhatsApp are first-class here, not apps bolted onto a card-first, Western flow. One mobile number, one OTP, the address prefilled from the last order. And every rupee settles to your own Razorpay, with zero platform fee.
India buys by phone: orders update over WhatsApp and SMS, and email is only for the invoice. So the checkout asks for one number, not two, and never stands an email wall in the way.
Three fields, two of them the same number, and an email wall, all before a shopper who buys by phone has done anything.
The contact and shipping phone are collapsed into a single mobile field. Email drops below, optional. India buys by phone, and order updates ride WhatsApp and SMS.
A returning guest verifies their number and their last delivery address appears inline, with no login round-trip and no retyping. And because the number is read from the verified token, not the form, no stranger can type it to read someone's address.
Identity is revealed only after the OTP. A stranger can never type your number to read your address. And that one verified number then satisfies COD too, so no one verifies twice.
Use my location, then search, then a dropped pin — typing is the last resort. The address form is where mobile checkouts leak, so it's the part we made effortless.
A form full of empty boxes is where mobile checkouts die. So the address starts with one tap: location first, search second, a dropped pin third. Typing is the fallback, never the opening move.
Reverse-geocoding runs on a server-side key and logs the provider’s real status. A rejected or quota’d key surfaces as an error. It can never quietly masquerade as “no address found” and lose you the order.
Cash on delivery is where fraud and returns hide, so a cash order ships only after the number is proven server-side, and the shopper gets a gentle nudge toward prepaid instead of a lecture.
The proving phone always comes from the session or the token, never the request body. High-risk cash orders route to a confirmation queue before a label ever prints.
When a cash order would trip the under-threshold delivery fee, the shopper is offered the swap, not scolded for choosing COD. Lower fee for them, lower return risk for you.
Wallet balance is real money, so it's redeemed like a bank ledger, not a subtracted number on a page: one atomic, row-locked, idempotent transaction. Reserved when the order is created, swept back if payment fails.
Store credit is real money, so spending it is treated like a bank ledger, not a subtracted number on a page. Two tabs, a double-tap, a flaky network retry: the credit still leaves the wallet exactly once.
The price you set is final. Tax is extracted from it at 5% for packaged tea, the India-correct model most Western checkouts get backwards. Business buyers get a proper GSTIN invoice, and every transaction settles to your own Razorpay.
Extracted from the price, never added on top. That’s the model most Western checkouts get backwards. Every amount is computed in paise, so the taxable base always reconciles.
Prices, coupons and totals are all re-checked on the trusted side before an order exists — and if a shopper leaves before paying, the cart is already saved and handed to Cart Recovery.
Everything the browser sends is treated as a suggestion. The order that gets written is the one the server can prove: priced, taxed and validated on the trusted side.
Leave without paying, and nothing is lost.
The checkout quietly snapshots the cart and contact every ten seconds. If a shopper drops off, the handoff is already made.
Wins back the checkout that walked away, with a multi-touch, evidence-timed nudge.
See how Cart Recovery worksA checkout that fits how India buys — and how you get paid.
Phone-first for them, proven on the server for you. It ships with your store — live in 7 days, on your own Razorpay, with nothing skimmed off the top.