Photo: Unsplash — free to use, no attribution required
The Payment Failure Problem in India
Nearly 75% of Indian online shoppers abandon their carts before completing a purchase, and payment failures are the single largest reason. Not shipping costs, not indecision — the payment itself breaks. A customer finds a product, adds it to cart, enters their details, clicks "Pay Now," and then watches a loading spinner for 45 seconds before seeing a bank server timeout error. That sale is gone, and in most cases, that customer never returns to retry.
This problem is distinctly Indian. In the US or Europe, card-on-file payments complete in under 3 seconds with a 98%+ success rate. In India, the payment journey involves redirects to bank pages, OTP verification mandated by RBI, and multiple potential points of failure between your store, the payment gateway, the card network, and the issuing bank. Each hop introduces latency and a chance for the transaction to drop.
During high-traffic sale events — Diwali, Republic Day sales, end-of-season clearances — the problem intensifies dramatically. Bank servers that handle normal transaction volumes fine suddenly buckle under 10x the load. I have seen stores lose Rs 3-5 lakh in a single day because their gateway's bank connections were timing out during a flash sale. The customers were ready to buy. The infrastructure was not ready to take their money.
Delayed OTPs compound the issue. SMS delivery in India can take anywhere from 5 seconds to 3 minutes depending on network congestion, the customer's telecom provider, and whether DND (Do Not Disturb) settings are blocking transactional messages. By the time the OTP arrives, the payment session has expired or the customer has given up and switched to a competitor's app where UPI checkout takes 10 seconds flat.
Why Indian Customers Abandon Checkout
Payment failure is the trigger, but the underlying causes are more specific. Understanding exactly why Indian buyers leave at checkout reveals fixable problems rather than vague "user experience" issues.
No UPI option. UPI processed over 14 billion transactions in a single month in late 2025. It has become the default payment method for a massive segment of Indian consumers — from college students splitting dinner bills to business owners paying suppliers. If your checkout page shows only credit card, debit card, and net banking options, you are excluding the payment method that a majority of your visitors prefer. Many younger buyers do not even have a credit card. UPI is their only digital payment option.
No COD for first-time buyers. Trust remains a significant barrier in Indian e-commerce. A first-time visitor to your store has no relationship with your brand. Asking them to pay Rs 2,000-3,000 upfront to a website they discovered five minutes ago through an Instagram ad is a big ask. Cash on delivery exists specifically to bridge this trust gap. Stores that remove COD to reduce operational costs often see a 30-40% drop in first-time customer conversions.
Forced account creation before payment. Requiring visitors to create an account, verify their email, and set a password before they can even see the payment page adds friction at the worst possible moment. The customer has already made their buying decision — do not put a registration wall between that decision and the transaction. Guest checkout is not optional; it is essential.
No BNPL for high-value items. A customer looking at a Rs 15,000 phone case or a Rs 8,000 pair of headphones may not want to pay the full amount today, especially mid-month when salary is running low. Buy Now Pay Later options like Simpl, LazyPay, or ZestMoney split the payment into manageable installments. For items priced above Rs 3,000, offering BNPL can lift conversion rates by 20-25% because it reframes the price from "Rs 8,000 today" to "Rs 2,700 per month."
Limited payment methods losing mobile-first buyers. India's e-commerce traffic is 80%+ mobile. These users have Google Pay, PhonePe, Paytm, and Amazon Pay loaded on their phones. They are accustomed to paying for everything — groceries, auto rides, movie tickets — through these apps. An e-commerce checkout that only offers traditional card and net banking feels outdated and inconvenient to this segment.
Building a Bulletproof Payment Stack
A single payment gateway with limited payment options is the e-commerce equivalent of a shop with one narrow entrance. You need multiple doors, each wide enough for different types of customers to walk through comfortably.
Primary gateway + backup gateway. Run Razorpay as your primary with Cashfree or PayU as your secondary. This is not about preference — it is about redundancy. When Razorpay's HDFC Bank connection goes down (it happens, usually during peak hours), your backup gateway's connection through a different banking channel keeps transactions flowing. The cost of maintaining two gateways is negligible compared to the revenue lost during a single hour of downtime.
Full UPI coverage. Support all major UPI apps: Google Pay, PhonePe, Paytm, BHIM, and Amazon Pay. Implement both UPI collect (where the customer enters their VPA) and UPI intent (where clicking "Pay" opens their UPI app directly). Intent flow is critical on mobile — it reduces the payment journey from "type VPA, switch to app, enter PIN" to "tap button, enter PIN, done." That difference in friction directly translates to higher completion rates.
BNPL and EMI options. Integrate Simpl and LazyPay for instant BNPL on orders above Rs 1,500. For higher-value orders above Rs 3,000, offer no-cost EMI options through your gateway's EMI partnerships with major banks. Display the EMI amount prominently on the product page itself — "or Rs 1,200/month for 6 months" — not buried in the checkout flow.
COD with verification. Enable COD but protect yourself. Verify the customer's phone number with an OTP before confirming a COD order. This single step eliminates a large percentage of fake orders. For new customers placing COD orders above Rs 5,000, trigger an automated verification call confirming the order details. Charge a nominal COD handling fee of Rs 30-50 — this small friction nudges genuine buyers toward prepaid while barely affecting conversion.
Wallet support. Paytm Wallet, Amazon Pay balance, and MobiKwik wallets still carry significant balances for many users. These are one-tap payments with no OTP, no redirect, no bank page — the fastest possible checkout after saved UPI. If your gateway supports wallets, enable them.
Automatic retry logic. When a payment fails due to a gateway timeout or a temporary bank error, do not dump the customer back to the cart page with a generic "Payment Failed" message. Automatically retry the transaction once through the same gateway, and if that fails, offer an instant switch to the backup gateway or an alternative payment method — all on the same page, without losing the cart or requiring re-entry of any details.
Gateway Redundancy: The Backup Plan
Imagine running a Diwali sale. You have spent Rs 2 lakh on ads over the past week driving traffic to your store. Conversion rate is strong, orders are pouring in, and then at 8 PM on Diwali eve — peak shopping time — your primary gateway's connection to SBI and HDFC goes down. Every customer using these two banks (which together cover roughly 35-40% of Indian card and net banking transactions) hits a payment failure wall. Without a backup gateway, those sales are simply lost.
Setting up gateway failover is straightforward with most modern e-commerce platforms. On a custom-built store, implement it at the server level: wrap your primary gateway's payment initiation call in error handling that detects timeout or failure responses, and automatically re-route to the secondary gateway. The customer sees a brief "Processing your payment..." message for an extra 2-3 seconds. They do not see the failure or the switch.
For Shopify and WooCommerce stores, the approach is different since you cannot directly control gateway routing at the server level. Instead, configure both gateways in your store settings and use apps or plugins that support automatic failover. On WooCommerce, plugins like "Gateway Fallback" handle this. On Shopify, you can set a secondary gateway through Shopify Payments settings and configure checkout scripts to attempt the backup on failure.
The Razorpay + Cashfree combination works well because they use different banking partnerships for several key banks, meaning a failure on one gateway's channel does not necessarily affect the other. PayU is another solid secondary option, particularly strong with net banking transactions. Test your failover setup before every major sale — not during it.
The OTP Problem and How to Solve It
The Reserve Bank of India mandates two-factor authentication for online card payments. In practice, this means an OTP sent via SMS to the cardholder's registered mobile number. This regulatory requirement creates a uniquely Indian friction point that does not exist in most other markets.
The OTP arrives late. On Airtel and Jio, transactional SMS typically delivers within 5-15 seconds. On BSNL or smaller MVNOs, it can take 60-180 seconds. During high-traffic periods (sale events, festive seasons, month-end salary days), even the major networks experience SMS delivery delays as banking SMS volumes spike. Your payment session typically has a 5-minute timeout — if the OTP arrives at minute 4, the customer has already closed the tab.
DND settings block OTPs. Customers who have activated DND (Do Not Disturb) through TRAI's registry sometimes find that transactional messages — which should be exempt from DND — are still blocked or delayed by overzealous carrier-level filtering. There is no fix for this on your end, but you can mitigate it by offering alternative authentication methods.
Solutions that actually work:
Promote UPI as the primary payment method. UPI payments authenticate through the UPI app's PIN — no SMS OTP involved. By making UPI the default selected option on your checkout page (not credit card), you route a majority of customers through a flow that completely bypasses the OTP problem. This single change — reordering payment options to show UPI first — has measurably improved checkout completion rates for stores I have worked with.
Card tokenization (RBI-compliant). Since RBI's tokenization mandate, customers can save their card details as tokens with their consent. Subsequent purchases using a saved token still require authentication, but the process is streamlined — many banks now support device-based authentication or in-app approval instead of SMS OTP for tokenized repeat transactions.
UPI intent flow on mobile. Instead of asking the customer to type their UPI ID, the intent flow opens their preferred UPI app directly when they tap "Pay." The customer enters their UPI PIN in their familiar app interface and the payment confirms. No OTP, no redirect to a bank page, no typing required. On Android, this works seamlessly. On iOS, support is improving but still inconsistent — offer a QR code fallback for iPhone users.
Pre-fill OTP on Android. Using the SMS Retriever API on Android, your checkout page can automatically read the incoming OTP and fill it in without the customer manually switching to their messages app, copying the code, and pasting it back. This does not eliminate the SMS delivery delay, but it removes the manual effort once the OTP arrives, reducing drop-off during the authentication step.
Checkout Page Optimization for Indian Buyers
Your checkout page design determines whether a willing buyer completes the purchase or bounces. Every extra field, every unclear label, every missing trust signal is a small push toward abandonment.
Show the full total before checkout. Indian buyers are extremely sensitive to surprise costs at checkout. A product listed at Rs 1,499 that suddenly becomes Rs 1,849 at checkout due to shipping, handling fees, and GST feels deceptive — even if those charges are standard. Display the estimated total including shipping and taxes on the product page or cart page itself. Stores that moved their shipping cost calculator to the product page reported a 12-18% reduction in checkout-stage abandonment.
Guest checkout is mandatory. Do not require account creation before payment. Offer it as an option after the purchase is confirmed: "Want to track your order easily? Create an account with one click." This captures accounts from satisfied customers rather than blocking frustrated ones.
Minimal form fields. Name, phone number, delivery address, PIN code — that is all you need for a domestic Indian order. Email can be optional. Do not ask for "Company Name," "State" (auto-detect from PIN code), or separate "Address Line 2" fields. Every field you remove reduces the time between "I want to buy" and "Payment complete." Auto-detect city and state from the PIN code — India Post's PIN code database is publicly available and reliable.
Auto-detect payment preference. If a returning customer previously paid via Google Pay, pre-select Google Pay on their next checkout. If they used COD, show COD as the default. This small personalization removes decision fatigue and speeds up repeat purchases.
Trust signals that matter in India. Display "100% Secure Payment" with a lock icon near the payment button. Show "Easy Returns" and "Cash on Delivery Available" badges prominently. Include your GST number in the footer — this signals legitimacy to business buyers. If you have a physical office or warehouse address, display it. Indian buyers trust businesses with visible physical presence more than faceless online-only operations.
Mobile-first design is non-negotiable. With 80%+ of Indian e-commerce traffic on mobile, your checkout must be designed for a 6-inch screen first and adapted for desktop second — not the other way around. Large tap targets for payment options, a sticky "Pay Now" button that stays visible while scrolling, and auto-opening the numeric keyboard for phone number and PIN code fields. Test your checkout on a Rs 10,000 Android phone on a 4G connection — not on your MacBook on office Wi-Fi.
Post-Failure Recovery: Getting the Sale Back
Even with an optimized payment stack, some transactions will fail. Bank servers go down, networks drop, customers get distracted. The difference between stores that recover these lost sales and those that do not comes down to speed, channel, and messaging.
WhatsApp over email, always. Email open rates in India for transactional e-commerce messages hover around 15-20%. WhatsApp message open rates exceed 80%. When a customer's payment fails, sending an email saying "Complete your purchase" is like mailing a letter — it might get read, eventually. A WhatsApp message with a direct retry link reaches the customer within seconds and gets opened within minutes. Use the WhatsApp Business API to send template-approved abandoned cart messages.
Trigger recovery within 15 minutes. The purchase intent decays rapidly. A customer who failed to pay 10 minutes ago still wants the product. The same customer 24 hours later has likely moved on or bought from a competitor. Your automated recovery flow should trigger the first WhatsApp message within 15 minutes of a detected payment failure. Include the specific product name, a one-click retry link, and — critically — an alternative payment method suggestion: "Your card payment did not go through. Tap here to try again with UPI or pay cash on delivery."
Retry payment links. Generate a unique payment link for each failed transaction that pre-fills all the customer's details — name, address, cart contents — so they only need to choose a payment method and complete the transaction. Razorpay's Payment Links and Cashfree's Payment Links APIs both support this. The customer should not have to re-add items to cart, re-enter their address, or re-select shipping. One tap to a payment page, one step to pay.
Offer a different payment method in the recovery message. If the customer's card payment failed, do not suggest they retry with a card. Suggest UPI or COD instead. If UPI failed, suggest a card or COD. The goal is to route them around the obstacle, not back into it. Include 2-3 payment options directly in the recovery message so the customer can choose without visiting your site first.
Escalating incentives for high-value carts. For abandoned carts above Rs 5,000, consider a tiered recovery approach: first message at 15 minutes with a simple retry link, second message at 2 hours with free shipping offered, third message at 24 hours with a 5% discount code. This should be automated through your e-commerce platform's workflow engine or a dedicated cart recovery tool like WebEngage or MoEngage.
Frequently Asked Questions
What is the best payment gateway for e-commerce in India?
Razorpay is the strongest all-around choice for small-to-mid-sized stores — it has the broadest UPI app support, a well-documented API, and competitive transaction fees starting at 2%. Cashfree is an excellent secondary gateway, offering faster settlement cycles (next business day compared to Razorpay's T+2 on basic plans) and strong direct bank integrations that can maintain uptime when Razorpay's channels are congested. PayU is worth considering if you need international payment acceptance alongside domestic methods, as their multi-currency support is more mature. For stores processing over Rs 10 lakh per month, all three gateways offer negotiated volume pricing — push for rates below 1.8% on UPI and debit cards.
How do I reduce cart abandonment on my online store?
Start by showing the complete order total — product price, shipping, taxes — on the product page itself, not as a surprise at checkout. Surprise costs are the second biggest abandonment driver after payment failures. Enable guest checkout so buyers are not forced to create accounts. Add UPI and COD as payment options if they are missing — for Indian stores, these two alone typically recover 15-20% of abandoned carts. Display estimated delivery dates on the product page. Implement exit-intent popups on desktop and back-button intercepts on mobile with a targeted offer. Finally, set up automated WhatsApp-based cart recovery messages that trigger within 15 minutes of abandonment with a one-tap retry payment link.
Should I offer COD on my e-commerce store?
Yes, with protective measures in place. COD accounts for 40-45% of Indian e-commerce transactions, so disabling it means cutting off nearly half your potential buyers. The risk is RTO (return to origin) — COD orders see 15-25% RTO rates compared to 5-8% for prepaid. Mitigate this by capping COD at Rs 5,000 per order, verifying phone numbers via OTP before confirming COD orders, charging a small handling fee of Rs 30-50 (this alone nudges 10-15% of buyers toward prepaid), and maintaining a blocklist of phone numbers and addresses with repeated COD cancellations. Some stores offer COD only for repeat customers who completed at least one prepaid order — this eliminates most fraud while still offering the option to trusted buyers.
Why do UPI payments fail on my website?
Four main causes: First, collect request timeouts — the payment link sent to the customer's UPI app expires before they approve it. Most gateways default to a 3-minute timeout; extend this to 5 minutes, as customers often need time to open the right app and locate the pending request. Second, VPA validation errors — validate the customer's UPI ID format before initiating payment to catch typos early. Third, PSP downtime — the customer's UPI app backend (PhonePe, Google Pay) may be temporarily unavailable. Show a clear message suggesting they try a different UPI app or use the QR code option. Fourth, UPI intent failures on iOS — Apple's restrictions mean UPI deep links do not consistently open the correct app on iPhones. Always offer a QR code fallback for iOS users, letting them scan with their UPI app of choice.
How much does payment gateway integration cost?
Upfront setup cost is zero — Razorpay, Cashfree, and PayU all offer free account creation and integration. Per-transaction fees vary by payment method: UPI transactions under Rs 2,000 carry 0% merchant fees due to the government's MDR waiver, credit cards cost 2-2.5% per transaction, debit cards 0.9-1.5%, net banking Rs 10-15 flat per transaction, and wallets 1.5-2%. Development costs for custom API integration range from Rs 15,000 for a basic integration to Rs 50,000 for a full-featured setup with failover, retry logic, and webhook handling. If you are on Shopify or WooCommerce, plugin-based integration is essentially free — just install the gateway's official plugin and configure your API keys.