7 July 2026

The Razorpay + WhatsApp + SMS playbook for Indian D2C

The three integrations every Indian D2C brand needs. Real wiring, real failure modes, and the decisions we make on every build.

  • D2C
  • Playbook

Every D2C brand in India ends up with the same three-piece integration stack: Razorpay for payments, WhatsApp for order updates, SMS for OTP and transactional fallback. Getting all three right is the difference between an 80% checkout completion rate and a 55% one.

Here’s what we do on every build.

Razorpay

Which product to use

  • Payment Gateway — the standard checkout on your own site. Use this for D2C.
  • Payment Links — for social commerce (post a link in Instagram DM, buyer pays)
  • Payment Pages — for pre-built payment forms; skip unless you’re not a developer
  • Razorpay Route — for marketplace-style split payments; skip unless you’re a marketplace

For 90% of D2C, it’s the Payment Gateway.

Standard vs Custom checkout

  • Standard — Razorpay’s hosted popup. 5-minute integration. Ships fast, looks generic.
  • Custom — your own checkout UI, Razorpay only handles the payment step. Takes 2-3 days. Ships branded.

Ship Standard for MVP, migrate to Custom when the brand matters.

Which payment methods to enable

Default all on. Then optimize:

  • UPI — 60-70% of Indian D2C payments. Non-negotiable.
  • Cards — 20-25%. Non-negotiable.
  • Netbanking — 5-10%. Keep on.
  • Wallets (Paytm, Amazon Pay, etc.) — a few % each. Enable the big ones.
  • EMI — turn on only for orders above ₹3000
  • Pay Later (Simpl, LazyPay) — turn on only for known-customer flows, high fraud otherwise
  • International cards — turn OFF unless you actively sell abroad. Fraud vector.

Webhook wiring

Don’t trust the frontend payment.captured callback. Always verify server-side via webhook.

Standard webhook events to subscribe to:

  • payment.captured — money in your account
  • payment.failed — for retry / abandonment flow
  • refund.processed — for accounting
  • order.paid — the aggregate event, most reliable trigger for “mark order paid”

Verify webhook signature with your webhook secret. Store payment record on your side. Trust nothing from the client.

The one thing everyone gets wrong

Idempotency. If a webhook fires twice (they will), your “mark order paid” logic must not double-fulfill. Store the Razorpay payment ID against the order and check before firing downstream events.

WhatsApp

WhatsApp Business API vs WhatsApp Business App

  • WhatsApp Business App — the free consumer app with a business profile. Fine for manual replies. Cannot send automated messages at scale.
  • WhatsApp Business API — required for automated transactional messages. Requires a Business Solution Provider (BSP).

For D2C automation, you need the API.

BSPs worth considering

  • AiSensy — best price/feature for Indian brands under 10,000 orders/month
  • Interakt — good UI, good for CRM-heavy use
  • Wati — mature, good for larger brands
  • Gupshup — enterprise, expensive, use if scale requires

Message types

WhatsApp splits messages into two categories:

  • Session messages — free, only after the customer has messaged you in the last 24 hours
  • Template messages — paid (~₹0.30-0.80 per message in India), requires WhatsApp to pre-approve the template

For transactional flows (order confirmation, shipping updates, delivery notification), you use template messages. Get 5-6 templates approved during setup:

  • Order placed
  • Order confirmed / payment received
  • Order shipped with tracking link
  • Delivery attempted
  • Delivery completed
  • Order cancelled / refund initiated

The abandonment flow that pays for itself

Wire cart abandonment to WhatsApp using a template message. If a customer added to cart, entered checkout, then bailed — a WhatsApp reminder 20 minutes later recovers 8-15% of them. At ₹0.60 per message, the ROI is instant.

SMS

Why still SMS in 2026

Two reasons:

  • OTP delivery — WhatsApp OTP is possible but has 3-5% failure rate. SMS OTP is 99%+ reliable.
  • Order updates for non-smartphone / non-WhatsApp users — a fraction of your buyers don’t have WhatsApp installed or checked. SMS is the universal fallback.

Which SMS provider

  • MSG91 — best price/reliability for India. Standard choice.
  • Twilio — expensive for India, only use if you’re already on Twilio for other reasons.
  • Fast2SMS — cheap, less reliable. Use for non-critical messages if budget matters.

DLT registration (mandatory in India)

Every SMS template you send needs to be registered with a DLT (Distributed Ledger Technology) operator: Vodafone, Airtel, Jio, BSNL. This takes 3-7 days on first setup. Register 5-6 templates:

  • OTP for login/checkout
  • Order confirmation
  • Payment received
  • Order shipped with tracking link
  • Order delivered
  • Refund initiated

Non-registered messages get blocked at the telco. First-time D2C sites always miss this and wonder why OTP works in dev and fails in prod.

The complete integration flow

For a typical order:

  1. Customer places order → your server creates order in DB
  2. Customer clicks pay → server creates Razorpay Order via API
  3. Razorpay opens payment UI → customer pays → Razorpay webhook fires order.paid
  4. Server verifies signature, marks order paid, fires two events:
    • WhatsApp template “Order confirmed” to their number
    • SMS “Order placed successfully” as fallback
  5. Order status changes on your admin panel

Cost per order (roughly, India, 2026):

  • Razorpay fee: 2% + GST for domestic UPI, 3% + GST for cards
  • WhatsApp template: ₹0.40-0.80
  • SMS: ₹0.15-0.25

Total transaction cost: 2-4% of order value plus a few rupees for messaging.

The failure modes to design for

  • Razorpay webhook delayed by 30 seconds — happens. Don’t mark orders paid on frontend callback. Wait for webhook.
  • WhatsApp template message rejected as spam by Meta — happens. Have SMS as automatic fallback if WhatsApp fails.
  • SMS provider down for 2 hours — happens. Log failures, retry after 15 minutes, have a secondary provider on standby for OTP-critical paths.
  • DLT template approval reverses — rare but happens. Monitor delivery rates and alert if OTP delivery drops below 95%.

Wire all three redundantly, monitor them, and your D2C store keeps working while your competitors’ stores drop orders on Diwali sale weekend.

3 RELATED READING

Next to this one.

NEXT STEP

Have a product to ship?

Start a project ↗ hello@napdesigns.com