₹399 Became Three Different Prices, and I Don't Know Why: A Pricing Bug in Razorpay Subscription Tiers

₹399 Became Three Different Prices, and I Don't Know Why: A Pricing Bug in Razorpay Subscription Tiers

August 21, 2026 3 min read
Build in Public MockEvalio Pricing / Product Decision

From the very first working version of MockEvalio, there was one paid plan: Free, or Pro at ₹399 a month. That number sat in the product for a month without anyone being able to actually pay it — the Razorpay keys were wired into the config from the second commit of the whole project, but nothing behind them worked yet. Then, within nine hours of that finally changing, ₹399 stopped being the price. It became three different prices.

What it took to accept a real payment at all

At 23:16 on April 3, nearly four weeks after the project started, the first commit landed that actually processes a payment — a Razorpay orders API client, signature verification, webhook handling, persisted capture records, and a real checkout flow on the frontend. Before this commit, "Pro, ₹399/month" was a number on a pricing page connected to nothing. After it, someone could actually pay it.

Nine hours later, one price became three

The next morning, two more commits landed. The first added a proper subscription-billing layer on top of the one-time checkout — a plan catalog, recurring billing service, a new database migration for it. The second replaced the single Pro tier outright. In its place: Free at ₹0, Starter at ₹99, Pro at ₹299, and Premium at ₹499 — a four-step ladder with a comparison table, each tier wired to its own Razorpay checkout.

One specific detail is worth being precise about. The new "Pro" tier isn't priced above the old ₹399 plan, or even close to it — it's priced below it, at ₹299. This isn't simply the old price staying put with cheaper and more expensive options added around it. The middle of the new ladder undercuts what the single tier used to cost, and a new top tier was added above that.

What I looked for and didn't find

I checked every commit message from March and April for anything that might explain this — a competitor's pricing, a conversion number, a piece of user feedback, a cost calculation. There's nothing. Neither commit that built the four-tier structure says why four tiers instead of three or five, why these three price points specifically, or why the middle price came in under the old one rather than at or above it.

That's a real gap, and it's a plainer one than most of what I haven't been able to explain in this series so far. Usually there's at least a partial clue — a code comment, an adjacent decision that narrows the possibilities. Here there isn't one. I don't know whether this was informed by something I looked at and didn't write down, or whether it was a reasonable-sounding structure I settled on without much more behind it than that. The commit history draws a clean, verifiable line between what changed and when. It has nothing to say about why.