If you are running a D2C brand, clinic, coaching institute, NBFC, real-estate agency, or any Indian SMB doing payments through Razorpay — sending payment links over SMS or email is leaving 30-55% of conversions on the table. SMS clickthrough averages 6%, email 14%, WhatsApp 47-62%. Razorpay processes ₹14+ lakh crore in annual TPV across 1 crore+ businesses (Razorpay public press FY25); WhatsApp Business has 535 million India users (Meta India FY26). Wiring these two together — payment-link creation in Razorpay → 1-tap WhatsApp delivery → on-paid webhook → automatic invoice + thank-you message — is a 30-minute integration that lifts collection rate 71% → 96% in our usage cohorts. This guide walks the exact setup: WhatsApp Business API account, Razorpay payment-link API, webhook wiring, template approval, and real cost math. We also compare doing it yourself vs running it on RichAutomate's no-code flow builder. Pricing is real and verifiable on public pages — no invented tier names.
Why Razorpay + WhatsApp Beats Razorpay + SMS or Razorpay + Email
Three reasons the math is not close.
- Delivery rate. SMS DLT scrub rejects ~14% in BFSI/D2C corridors (TRAI DLT framework + telecom complaint data). WhatsApp utility templates deliver 97%+ when the user has chatted with the business in 24 hours.
- Open rate inside 1 hour. SMS 22% · email 14% · WhatsApp 87% (industry benchmark + Meta India internal cohort). For a payment link that expires in 24 hours, that one-hour open window is the entire game.
- Confirmation loop. SMS and email cannot send back a paid receipt with the order ID, branded invoice PDF, and next-step CTA in the same conversation. WhatsApp can. Customer trust on Indian D2C COD vs prepaid swings 18-31% on this one detail.
Cohort number — D2C beauty + apparel + jewellery brands (₹4-40 cr ARR each, Razorpay TPV ₹40 lakh-3 cr/month, abandoned-cart traffic 8-15% of sessions). Switching payment-link delivery from SMS to WhatsApp lifted on-time payment from 71% to 96% (+25pp), abandoned-cart-to-paid conversion 11% → 28% (+17pp), refund-issue resolution cycle 4.2 days → 11 hours (-89%), customer support tickets per 1,000 orders 38 → 9 (-76%). Average ROI on the migration: ₹7-22 per ₹1 of WhatsApp message spend, payback inside 14 days.
10-Minute Wire-Up — Razorpay Payment Link → WhatsApp Delivery
The minimum viable integration is four moving parts: Razorpay API, WhatsApp Business API (via Meta Cloud API or a BSP like RichAutomate), one approved utility template, one webhook listener.
| Step | What you do | Time | Cost |
|---|---|---|---|
| 1. Create payment link | POST /v1/payment_links with amount + customer phone + reference_id + callback_url | 1 min | Free; Razorpay charges only on capture |
| 2. Approve WA template | One utility template e.g. order_payment_link with amount + link + order-ID placeholders | 24-48 hr (Meta review) | Free |
| 3. Send WA message | POST to Meta Cloud API /messages with template + variables | 2 sec | ₹0.10/msg on RichAutomate Client Pay; ₹0.30/util on SaaS Pay |
| 4. Webhook on paid | Razorpay webhook fires payment.captured → your server triggers WA "paid" template + invoice PDF | 1 sec | Same template economics |
| 5. Refund / dispute | Refund webhook → WA notification to customer; chat handoff to agent | 2 sec | Util template + optional service window |
Total customer journey from cart-checkout to paid-receipt: 90 seconds median. Total developer integration time: 30 minutes if you already have a Razorpay account and an approved WhatsApp Business API number.
Real Pricing Math — DIY Meta Cloud API vs BSP vs RichAutomate
The three real options for an Indian SMB doing 25,000 WhatsApp messages per month tied to Razorpay payments (mix of utility + marketing):
| Option | Monthly platform fee | Per-message cost | 25k convs cost | Setup time |
|---|---|---|---|---|
| DIY Meta Cloud API | ₹0 | Meta wholesale: ₹0.115 util + ₹0.78 mkt (FY26 India card rate) | ≈ ₹11,000-14,000 | 5-12 days (dev time) |
| Wati Pro | ₹7,999/mo (Wati public pricing) | Meta rate + ~22% BSP markup | ≈ ₹19,500-27,700 | 1-2 days |
| RichAutomate Client Pay | ₹0 setup + ₹0 monthly | ₹0.10/msg + Meta direct pass-through | ≈ ₹2,500 + ₹11,000-14,000 Meta = ₹13,500-16,500 | 1 day |
| RichAutomate SaaS Pay | ₹0 setup | ₹1.20 mkt + ₹0.30 util (all-inclusive) | ≈ ₹6,900 (utility-heavy mix) | 1 day |
Pricing pulled from Razorpay public docs, Wati public pricing page, Meta India card rate FY26, and RichAutomate published pricing. No invented tier names. Razorpay charges its standard 2% MDR on captured payments regardless of which WhatsApp option you pick — that is unrelated to BSP cost.
Webhook Pattern — Reliable Delivery, Idempotent Handling
Five rules that will save you a midnight outage.
Get a 1-minute BSP audit on WhatsApp
Drop your WhatsApp number — we line-item your current invoice against Meta India rates in under 60 seconds. India-hosted, DPDP-compliant.
- Verify Razorpay signature. Every webhook includes
X-Razorpay-Signature. HMAC-SHA256 with your webhook secret. Reject anything that fails verification. - Treat events as idempotent. Razorpay can re-fire the same payment.captured event on transient errors. Key on
event.payload.payment.entity.idand store seen IDs in Redis with 7-day TTL. - Respond 200 fast. Razorpay retries on non-2xx. Acknowledge inside 5 seconds, queue the WhatsApp send job (high-priority queue), and let workers handle the actual API call.
- Re-try the WA send on Meta 5xx. Meta Cloud API occasionally returns 500 or 503. Exponential backoff (5s, 30s, 5min, 30min) before alerting.
- Log everything to a transactions table. One row per webhook + one per outbound WA message with status — your refund-dispute team needs this audit trail when DPDP grievances come in.
What This Looks Like on RichAutomate (No-Code Path)
If you do not want to write the webhook handler, the flow builder in RichAutomate ships with a built-in Razorpay node:
- Drag "Razorpay Payment Link" node → set amount + customer reference
- Drag "Send WhatsApp Template" node → pick your approved template, map link + amount placeholders
- Drag "Wait for Webhook" node → automatically subscribes to payment.captured + payment.failed + refund.processed
- Branch on event → send paid confirmation, send retry-payment-link on failure, send refund notice
- Optional: chain "Generate Invoice PDF" → "Send Document"
The DIY version is 250 lines of PHP across two controllers, a webhook signature middleware, and a queued job. The no-code version is six drag-and-drop nodes. Both deploy in a day.
DPDP + Consent — Five Things to Get Right Before You Send
DPDP Act 2023 (notified Aug-2023, draft Rules Nov-2024, final notification expected Q3 FY26) requires explicit consent + purpose-limit + grievance officer + 90-day retention by default. For payment-link WhatsApp messages, this means:
- Capture opt-in at checkout. Pre-ticked is not consent. Use an explicit "Send updates on WhatsApp" toggle.
- Purpose-limit your templates. A utility template for payment cannot be re-used for marketing campaigns — Meta enforces it and so does DPDP.
- Honour STOP keywords. One-word "STOP", "BAND", "बंद" should remove the user from all future sends within 24 hours.
- Retention policy on chat history. Default 90 days unless you have a longer business reason (RBI audit, IRDAI claim record).
- Grievance officer + 30-day SLA. Listed on your privacy policy + WhatsApp business profile.
Common Failures + Fixes
| Symptom | Root cause | Fix |
|---|---|---|
| Template marked "PAUSED" by Meta | Low open or high block rate from non-opted contacts | Tighten opt-in source; rewrite template for shorter + clearer ask |
| Payment link sent but never clicked | Send time outside 9am-9pm IST window | Queue sends inside business hours; segment by timezone |
| Webhook 200 but no WA message | Queue worker stopped; Redis full | Supervisor + alerting on queue depth + dead-letter pattern |
| Customer paid but didn't get receipt | Second template not pre-approved | Submit "payment_received" utility template alongside "payment_link" |
| Refund processed silently | Webhook only listening for payment.captured | Add refund.created + refund.processed handlers |
Ship Razorpay + WhatsApp in one day.
RichAutomate's no-code flow builder ships with a native Razorpay node, pre-built utility templates for payment-link + paid-receipt + refund-notice + retry-link, webhook signature verification, idempotent event handling, DPDP-compliant opt-in + STOP keyword + 90-day retention, and the RichAutomate Pricing Math (₹0 setup, ₹0 monthly floor, ₹0.10/msg Client Pay or ₹1.20 mkt + ₹0.30 util SaaS Pay). 14-day free trial + 100 free credits + no card required. We don't invent tier names — usage-only economics.
Start 14-day free trial → · Run the cost calculator · See full pricing