Pick the wrong payment gateway and you won't notice on day one. You'll notice in month four, when your settlement is stuck, your success rate sits at 82 percent, and support takes three days to reply while customers abandon carts.
For a new D2C brand in India, the gateway decision looks small and isn't. It affects your checkout conversion, your cash flow and how much engineering time you burn on integration.
This is a practical comparison of the three names founders ask about most: Razorpay, Cashfree and CCAvenue. We've integrated all of them into Shopify, WordPress and custom Next.js stores. We also have a broader seven-gateway comparison if you want more options.
The Short Version
| Razorpay | Cashfree | CCAvenue | |
|---|---|---|---|
| Best for | Most D2C brands, fast launch | Cost-sensitive brands, heavy UPI, payouts | Older businesses, international buyers |
| Developer experience | Excellent docs, SDKs, plugins | Good docs, solid APIs | Dated, more manual work |
| Typical domestic fee | About 2% | About 1.75 to 1.9% | About 2 to 3% |
| Settlement | T+2, faster on request | T+1 commonly | T+2 or longer |
| Checkout extras | One-click checkout, EMI, Pay Later | Payment links, vendor payouts | Wide method list, multi-currency |
Fees are directional. Real pricing depends on your volume, business category and negotiation. Confirm current rates and the exact settlement terms in writing before signing.
Razorpay
Razorpay is the default choice for a reason. The documentation is clear, sandbox testing works properly, and nearly every platform has a maintained plugin. If you're on Shopify, you're configuring rather than coding.
Where it wins:
- Fast, predictable integration on Shopify, WooCommerce and custom builds
- Strong payment method coverage: UPI, cards, net banking, wallets, EMI, Pay Later
- Checkout that remembers returning customers, which helps repeat purchase conversion
- A wider product family if you grow into payouts, subscriptions or business banking
Where it's weaker:
- Not the cheapest at list price
- Risk and KYC reviews can pause accounts, especially in categories they consider sensitive. Keep your documents tidy and your product descriptions clear.
Cashfree
Cashfree is the one we suggest when a brand cares about cost and moves a lot of UPI volume. Its payouts product is also strong: if you pay influencers, vendors or refunds in bulk, it's easier than stitching multiple tools together.
Where it wins:
- Competitive pricing, often negotiable at volume
- Fast settlement options
- Good payouts and split-payment features, useful for marketplaces and multi-vendor setups
Where it's weaker:
- Fewer ready-made plugins and less community content than Razorpay
- Small teams may take longer to debug an unusual setup
CCAvenue
CCAvenue has been around a long time and still serves many established businesses. It supports a long list of payment options and international currencies, which can matter if you sell to customers outside India.
Where it wins:
- Broad payment options and multi-currency support
- Familiar to many finance teams who already use it
Where it's weaker:
- The checkout experience and integration feel older. Expect more redirects and more manual handling than the other two.
- Pricing and settlement are often less friendly for a small brand
- Fewer modern developer tools, so custom builds take longer
For a new D2C brand with no legacy reason to choose it, CCAvenue is rarely our first recommendation.
What Actually Matters More Than Fee Percentage
A 0.25 percent difference in fees looks big in a spreadsheet. But these factors cost more in practice:
- Payment success rate. If 6 of every 100 attempts fail on UPI, you lose more than a fee difference ever saves. Ask each provider for success rates on your category and check them yourself in a test month.
- Settlement speed. Faster money in your account means you can reorder stock sooner.
- COD and RTO. A large share of Indian D2C orders are cash on delivery. Pair your gateway with shipping and COD tools. Our Razorpay and Shiprocket setup guide shows how.
- Support response. When a settlement is held, how fast will a human help?
- Compliance. Use RBI-authorised payment aggregators. If anyone offers to route you through an unlicensed setup to save a rupee, walk away.
Integrating Without Getting Burned
Whatever gateway you pick, never trust the browser to tell your server a payment succeeded. Customers close tabs, networks drop and bad actors forge requests. Confirm payments with a server-side webhook, and verify its signature.
Here's a Razorpay webhook handler in a Next.js route handler:
// app/api/webhooks/razorpay/route.ts
import crypto from "node:crypto";
import { NextResponse } from "next/server";
export async function POST(request: Request) {
// Use the raw body. Parsing JSON first changes the bytes and breaks the signature.
const rawBody = await request.text();
const signature = request.headers.get("x-razorpay-signature") ?? "";
const expected = crypto
.createHmac("sha256", process.env.RAZORPAY_WEBHOOK_SECRET!)
.update(rawBody)
.digest("hex");
const valid =
signature.length === expected.length &&
crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
if (!valid) {
return NextResponse.json({ error: "Invalid signature" }, { status: 400 });
}
const event = JSON.parse(rawBody);
if (event.event === "payment.captured") {
const payment = event.payload.payment.entity;
// Amounts arrive in paise. Compare with the order total you stored, not the client.
// Make this idempotent: webhooks can be delivered more than once.
await markOrderPaid(payment.order_id, payment.id, payment.amount);
}
return NextResponse.json({ received: true });
}
async function markOrderPaid(orderId: string, paymentId: string, paise: number) {
// Look up the order, skip if already paid, check the amount matches, then update.
}
Three habits matter here: verify the signature, treat events as repeatable, and check the amount against your own records. Cashfree and CCAvenue use different headers and signing methods, but the same principles apply.
So Which One Should You Pick?
- Launching on Shopify, want it working this week: Razorpay.
- Margin-sensitive, high UPI volume, or paying vendors and creators in bulk: Cashfree, or run it alongside Razorpay as a backup.
- Selling mostly to overseas buyers or already using it for another business: CCAvenue, or look at Stripe-style international options as well.
Many mature brands run two gateways. If one has downtime at midnight during a sale, the other keeps the checkout alive.
What To Do Next
Open accounts with your top two choices and run a real test before committing: 20 to 30 live transactions across UPI, cards and net banking, including a failed payment and a refund. Note success rate, settlement timing and how support responds.
If you'd rather not debug webhooks the night before a launch, INDOTREX sets up payments for Shopify and custom eCommerce builds, with failure handling, refunds and reconciliation covered. Talk to our team before your launch date, not after.




