Payment Gateways for WooCommerce in India
How to choose and set up a payment gateway for an Indian WooCommerce store: UPI, cards, COD, settlement, failure handling and the testing people skip.

Choosing a payment gateway looks like a commercial decision — compare the fees, pick the cheapest. In practice the technical differences decide more, because a gateway that fails awkwardly costs far more in abandoned orders than a fraction of a percent in fees.
Here's what to actually evaluate for an Indian WooCommerce store, and how to set it up so it doesn't lose you money quietly.
What Indian customers expect to see
The payment methods an Indian store needs are not the same as a US or European one, and a gateway chosen without that in mind will underperform regardless of its other qualities.
- UPI, which is the default for a very large share of online payments. If UPI is missing, slow or badly implemented, you will feel it in the conversion rate.
- Debit and credit cards, with the tokenisation and additional authentication that current RBI rules require.
- Net banking, still widely used for larger amounts.
- Wallets, which vary in importance by audience.
- EMI options for higher-value carts, which meaningfully change conversion in some categories.
- Cash on delivery, still expected in many categories — and a business decision as much as a payment one.
Evaluating a gateway
- Does its WooCommerce plugin get updated regularly, and does it support current WooCommerce versions? An abandoned gateway plugin is a checkout that breaks at the next Woo release.
- Does it keep the customer on your site, or redirect them off and back? Redirect flows lose more people, particularly on mobile browsers that handle the return badly.
- How are failed and pending payments communicated back to WooCommerce? A gateway that leaves orders stuck in 'pending' with no webhook is a permanent source of support tickets.
- What's the settlement cycle, and are there setup or annual fees on top of the transaction rate?
- What's the refund process, and can it be done from the WooCommerce order screen or only in the gateway's dashboard?
- What does support look like when something is wrong at 9pm during a sale?
The webhook is the important part
Most payment problems trace back to the gateway and WooCommerce disagreeing about what happened. The customer paid, the browser closed before returning, and the order sits unpaid while the money has left their account.
The fix is server-to-server notification: the gateway calls your site directly to confirm the payment, independently of whether the customer's browser made it back. Make sure the gateway supports this, that it's configured, and that the endpoint is reachable — a security plugin or firewall blocking the callback URL is a common and baffling cause of stuck orders.
Verify the webhook signature. An unverified payment callback is an endpoint that will happily mark orders paid for anyone who finds it.
Handling failures well
- A failed payment should return the customer to a checkout that still has their details, with a clear message and an obvious way to try again or choose another method.
- Never clear the cart on a failed payment.
- Distinguish between declined, cancelled and timed out, so the message is accurate. 'Your bank declined this' and 'the payment timed out' call for different next steps.
- Set up a retry path that doesn't create a duplicate order.
- Monitor the failure rate by method. A sudden rise in one method usually means a gateway-side problem, not a customer-side one.
Cash on delivery, deliberately
COD is still expected in a lot of Indian categories, and refusing it costs orders. It also carries real costs: higher return rates, cash handling, and the risk of orders placed casually and refused on arrival.
If you offer it, do it deliberately. Restrict it by order value, by PIN code where your courier supports it, or by product category. Consider an OTP confirmation step on COD orders to filter out casual ones. Charge a handling fee if the economics need it, and disclose it before the payment step.
Track COD return rates separately from prepaid ones. They are different businesses and blending them hides the problem.
Compliance and the boring requirements
Card storage and recurring payments are governed by RBI rules that change periodically, and the practical implications land in your gateway's plugin rather than in your code. Keeping the plugin updated is how you stay compliant, which is another reason maintenance status matters more than fees.
You'll also need GST-compliant invoicing, which WooCommerce doesn't do natively. Set that up before launch — retrofitting sequential invoice numbering onto existing orders is genuinely unpleasant.
Make sure your refund and cancellation policy is on the site and reachable from the checkout. Most gateways require it, and customers look for it before paying.
Testing properly
Nearly everyone tests one successful card payment and calls it done. The failures are where the money goes.
- Successful payment with each method you offer — including UPI on an actual phone, not a desktop emulation.
- Declined card, cancelled payment, and a payment abandoned mid-flow by closing the browser.
- A payment that succeeds at the gateway while the customer never returns to the site — then confirm the webhook marked the order paid.
- A refund, both full and partial, initiated from WooCommerce.
- Checkout on a mid-range Android phone on mobile data, which is how most of your customers will pay.
- The whole flow again after every gateway plugin update and every major WooCommerce update.
Should you offer more than one gateway?
A second gateway is genuine insurance: when one has an outage — and they all do — you can switch rather than stop trading. It also lets you offer a method the primary gateway handles poorly.
The cost is another plugin in your checkout, another set of updates, and reconciliation across two dashboards. For a store where a day of downtime matters, that's clearly worth it. For a small store, one well-chosen gateway and a tested fallback plan is usually enough.
Frequently asked questions
Which payment gateway is best for WooCommerce in India?
The one whose method mix matches your customers and whose WooCommerce plugin is actively maintained. UPI support quality matters most for an Indian audience. Compare the plugin's update history and its webhook handling as seriously as the transaction rate — a broken checkout costs far more than a fraction of a percent.
Why do some WooCommerce orders stay stuck on 'pending payment'?
Usually because the gateway's server-to-server callback isn't reaching your site, so WooCommerce never learns the payment succeeded. Check that the webhook is configured, that the URL is reachable, and that no security plugin or firewall is blocking it. Relying on the customer's browser returning is not enough.
Should I offer cash on delivery?
In many Indian categories, refusing it costs orders. Offer it deliberately rather than by default: restrict by order value, PIN code or category, consider an OTP confirmation to filter casual orders, and track COD return rates separately. The higher return rate is real and needs to be in your margins.
Do I need more than one payment gateway?
It's real insurance — gateways do have outages, and a second one means you keep trading. The cost is another plugin in your checkout and reconciliation across two dashboards. For a store where a day offline matters, it's worth it; for a small store, one good gateway and a tested fallback plan usually is.
How do I test a WooCommerce payment gateway properly?
Test the failures, not just a successful card payment. Declined cards, cancelled payments, a browser closed mid-flow, and a payment that succeeds while the customer never returns — that last one proves the webhook works. Then test refunds from the WooCommerce order screen, and repeat after every plugin update.
Topics
- WooCommerce payment gateway India
- UPI WooCommerce
- WooCommerce payments
- Indian payment gateway