Meta now charges per message, not per conversation — and those charges never pass through us. See what that means 
VartaAPI

Integration · All integrations

Razorpay WhatsApp integration: a payment confirmation on WhatsApp, automatically

When a customer pays you through Razorpay, VartaAPI can send them a WhatsApp message straight away: the amount, the payment ID and anything you put in the payment's notes. You set it up once in the flow builder. No code, and no other app in between.

Plan: Comet and above (it is a chatbot flow) · Updated 7 October 2026

What it does

Razorpay tells VartaAPI every time a payment is captured. VartaAPI checks Razorpay's signature on it (once you have saved the secret, step 5 below), finds the customer's mobile number on the payment, and runs the flow you built for it. Most businesses send one WhatsApp template: "Thank you, we have received ₹1,499. Payment ID pay_…". You can add more steps after it, such as a tag on the contact or a deal in the pipeline.

It only reacts to a captured payment. A failed payment, a refund or a subscription event is received and ignored, so a customer is never thanked for money that did not arrive.

Set it up in five steps

  1. In VartaAPI, open Flows and make a new flow. For the trigger, choose "another system sends us something (Webhook)", and under "Who is sending it?" choose Razorpay.
  2. Add a Send template step with an approved utility template, such as a payment receipt. The customer has probably not written to you in the last 24 hours, so WhatsApp only allows a template, not a plain message.
  3. Save the flow. A webhook address appears, starting https://api.vartaapi.com/hooks/. Copy it.
  4. In your Razorpay Dashboard, add a new webhook, paste that address, and tick only the payment.captured event. Razorpay's form has a box for a secret: make one up and keep it.
  5. Back in the flow's trigger, paste the same secret into "Razorpay webhook secret" and save. From now on a message without Razorpay's correct signature is refused.

Then switch the flow on. Make a small test payment to your own number and the message arrives on your phone. The flow's call list shows each payment Razorpay sent and what happened to it.

What you can put in the message

Each of these can fill a blank in your template:

  1. {{amount_rupees}}: the amount in rupees, for example 1499 or 1499.50 (Razorpay sends paise; VartaAPI converts)
  2. {{payment_id}}: Razorpay's payment ID, for example pay_P8x…
  3. {{method}}: how they paid, for example upi or card
  4. {{email}} and {{contact}}: what the customer gave Razorpay
  5. {{notes.anything}}: any note you attach to the payment or payment link, for example {{notes.order_id}} or {{notes.plan}}

Razorpay does not send the customer's name with a payment. If you want to greet them by name, add the name as a note when you create the payment link or order, and use {{notes.name}}.

Safe against duplicates and fakes

Razorpay sometimes sends the same event twice. VartaAPI remembers each payment ID and sends the message only once. With the secret saved, a request that does not carry Razorpay's signature is refused, so nobody can trigger your messages by guessing the address.

Each address accepts up to 60 events a minute, more than a small business takes in an hour.

What it costs

A payment receipt is a utility template. Meta charges utility messages at ₹0.115 each in India and bills you directly; VartaAPI adds nothing per message. The flow builder is on Comet (₹999 a month plus GST) and above. See the pricing page for the plans and Meta's current rates.

Questions

Quick answers.

Do I need a developer to connect Razorpay to WhatsApp?
No. You copy one address from VartaAPI into your Razorpay Dashboard, tick one event and paste a secret back. The message itself is built in the flow builder with no code.
Which Razorpay events send a message?
Only payment.captured, when the money has actually been taken. Other events are received and ignored.
Will the customer get two messages if Razorpay retries?
No. VartaAPI remembers each payment ID and sends once.
Why do I need a template?
WhatsApp lets a business send a free-form message only within 24 hours of the customer writing. A payment confirmation usually goes outside that window, so it must be a template Meta has approved. VartaAPI has ready-made templates to start from and submits yours to Meta.
Where does the customer's phone number come from?
From the contact number on the Razorpay payment. If your checkout stores it somewhere else, you can point the trigger at that field. The number needs its country code, for example 919876543210.
Can I also email the receipt?
Not from a flow yet. Razorpay can send its own email receipt alongside the WhatsApp message.

Read next: Webhooks: start WhatsApp messages from any software · The flow builder · WhatsApp API pricing in India

Try it on your own number.

Start on the free plan, connect your WhatsApp number, and upgrade when you need it.