Setting up payments for a WordPress e-commerce store in India
11 min read · 05-Jul-2025
villagehosting.in team
5 July 2025
Accepting payments online in India requires choosing the right payment gateway, handling GST correctly, and staying compliant with RBI guidelines. Here is the complete guide for WooCommerce store owners.
Don't use Stripe as your primary gateway for Indian customers
Stripe is excellent for international payments but creates friction for Indian customers — many Indian banks block international online transactions by default, requiring customers to call their bank. For a primarily Indian audience, Razorpay or PayU should be your primary gateway. Add Stripe as a secondary option for international buyers.
Payment gateway options for India
Razorpay (most popular)
Razorpay is the default choice for most Indian startups and businesses.
Fee: 2% per transaction (no setup cost). International cards: 3%.
Supports: UPI, cards, netbanking, wallets (Paytm, Mobikwik), EMI
WooCommerce plugin: Official Razorpay WooCommerce plugin — free.
Settlement: T+2 (funds in your bank 2 days after transaction).
Requirements: Indian bank account, business PAN, registered business (individual/proprietorship is fine).
PayU (widely supported)
Fee: 2% for domestic, 3% for international.
WooCommerce plugin: WooCommerce PayU plugin.
Advantage: Has a long track record, preferred by some enterprise buyers.
CCAvenue
Popular for travel, services, and government-adjacent businesses.
Fee: 1.99% to 3.99% depending on payment method.
Advantage: Supports more payment methods including some that Razorpay does not.
Direct bank transfer / NEFT
For B2B businesses where payment is made on invoice:
WooCommerce → Settings → Payments → BACS (Direct Bank Transfer)
Add your bank account details. Orders remain "on hold" until you mark them paid after verifying the transfer.
UPI via payment links (simplest)
If you are a very small seller, you can manually send a UPI payment link (via Razorpay or PayU) for each order. Not scalable, but works for 1–5 orders per day without gateway integration.
Installing Razorpay on WooCommerce
- Install WooCommerce if not already installed
- Install the Razorpay WooCommerce plugin from WordPress plugin directory
- Sign up at razorpay.com → get your API Key ID and Secret
- WooCommerce → Settings → Payments → Razorpay → Enable → enter API keys
- Enable test mode first, make a test payment, then switch to live mode
GST configuration for Indian stores
Install a GST plugin:
- WooCommerce GST Plugin (by MakeWebBetter or similar)
- Or WT Smart COD for WooCommerce which includes GST handling
Configure GST rates:
- Standard rate: 18% (most goods and services)
- Reduced rate: 5% or 12% (food, some categories)
- Exempt: books, unprocessed food
Set the GST rate per product category in WooCommerce → Products → Categories → GST Rate.
GST on shipping: Shipping charges attract GST at the same rate as the highest GST rate in the cart, unless you ship at cost (no profit element).
HSN codes: Include HSN (Harmonized System of Nomenclature) codes in your product settings — required for GST invoices.
Generating GST-compliant invoices
WooCommerce's default invoice does not include GST breakdown or HSN codes. Use a plugin:
- WooCommerce PDF Invoices & Packing Slips (free) + GST add-on
- ELEX WooCommerce GST Plugin
A compliant Indian GST invoice must include:
- Your GSTIN (GST Identification Number)
- Buyer's GSTIN (for B2B transactions)
- Invoice number (sequential, never repeated)
- HSN code per line item
- CGST + SGST (for intra-state) or IGST (for inter-state) breakdown
- Place of supply
GST registration requirement
You must register for GST if:
- Your annual turnover exceeds ₹20 lakhs (₹10 lakhs in some states)
- You sell to other states (inter-state supply) — no threshold, registration required immediately
- You sell through an e-commerce marketplace (Amazon, Flipkart) — required regardless of turnover
Apply for GSTIN at gst.gov.in. Free and takes 3–7 working days.
Indian customer experience: what matters
UPI checkout: Indian customers expect UPI as a default option. Ensure it is prominently shown, not buried below cards.
EMI options: For purchases above ₹3,000, displaying EMI options (via Razorpay) increases conversion significantly.
COD (Cash on Delivery): Despite the growth of UPI, COD still accounts for 40–60% of orders for many Indian categories (clothing, small electronics, food supplements). WooCommerce supports COD natively; enable it under Payments.
Mobile checkout: Over 80% of Indian e-commerce traffic is mobile. Test your checkout on a real mobile device.
RBI compliance for Indian payment gateways
Auto-debit mandates: For recurring payments (subscriptions), you need RBI-compliant recurring mandates. Razorpay Subscriptions and PayU handle this.
International payments: To accept international cards, your gateway account must be enabled for international processing. Razorpay requires additional documentation for international transactions.
2FA / 3D Secure: RBI mandates that all card payments in India go through 3D Secure (OTP verification). Your gateway handles this automatically — do not try to disable it.
Handling refunds
WooCommerce → Orders → select order → Refund button.
With Razorpay integration, refunds are processed automatically back to the original payment method. Timeline: 5–7 business days for cards, 1–3 days for UPI.
Always keep a record of refund IDs from your gateway dashboard for disputes.
Test your payment flow before going live
- Enable test mode in your gateway plugin
- Use the test card numbers provided by your gateway (e.g. Razorpay provides test UPI ID and card numbers)
- Complete a purchase end-to-end — checkout, payment, order confirmation email, inventory decrement
- Test a refund
- Switch to live mode only after successful testing
Tax collection account (TCS) for marketplace sellers
If you are selling on your own store (not via Amazon/Flipkart), you collect GST directly. If you sell through a marketplace, TCS (Tax Collected at Source) at 1% is deducted by the marketplace.
This does not apply to your own WooCommerce store — you collect full payment, remit GST to the government in your monthly GST return (GSTR-1 for sales, GSTR-3B for payment).