Resources Insight E-commerce & D2C
WhatsApp payment API for India: UPI intent, gateways, payment links, and what to use today
Meta's Payments API lets an Indian business put the bill and the pay button inside the chat. It needs a gateway, a provider that has built it, and in two of its modes an invitation. Here is what the pages say, and what a shop should do while it waits.
The short version
- Meta's Payments API for India has two modes: UPI intent, which works with any gateway that can generate a UPI intent link, and a deeper integration that Meta lists for Razorpay, PayU, BillDesk and Zaakpay only.
- The bill is an order details message. After the customer pays, the business must send an order status message, or the customer's screen keeps saying 'Order pending'.
- Two routes are gated: Meta's Payment Links mode is 'not publicly available yet', and Enhanced Payment Links need your account allowlisted. Both pages say to ask your provider or Meta.
- On Meta's side the bill is priced like any message of its type: a service message inside the 24-hour window (charged after 1,000 per number per month from 1 October 2026) or a utility template outside it.
- Most Indian shops are better served today by a payment link sent in the chat with the order record beside it, and tagging the order paid when the gateway confirms.
Bhavesh Rathod runs a dry fruits and spices shop in Rajkot with six staff and a Shopify store for out-of-town orders (an invented example). Half his WhatsApp orders end the same way. The customer settles on 500 g of almonds and a box of saffron and writes “UPI bhejo”. Someone at the counter sends the shop’s UPI ID or a gateway link, waits for the screenshot, and marks the order paid by hand.
Meta’s Payments API for India removes that step: the bill and the pay button sit inside the chat. Whether a six-person shop should use it is a separate question, so the status comes first, as Meta’s pages state it (all show “Updated: May 21, 2026”; we read the main ones live on 15 October 2026):
- The API is India-specific and needs a payment gateway account. Meta’s first prerequisite is that the “Essential Payments APIs are available at SP/TP”, which means your provider has to have built them.
- Two routes are gated. The Payment Links mode of the API says “This feature is not publicly available yet”. Enhanced Payment Links says it is “not publicly available yet. To request access, please reach out to your BSP or Meta representative”.
- Self-service payment configuration in WhatsApp Manager is marked a beta feature; Meta says to contact its Business Engineering team for access.
Conecxt doesn’t list in-chat payments today. What it does instead is further down.
What is the WhatsApp payment API for India?
It is the part of the WhatsApp Business Platform that lets a business send a bill as a message, have the customer pay it through UPI or a gateway page without leaving WhatsApp, and be told what happened. Meta’s overview puts it as accepting payments “through all UPI apps installed on their devices and other payment methods such as cards, NetBanking, and wallets via WhatsApp.”
There are two integration models, and your gateway decides which one you can use:
- UPI intent mode. Works with “any payment gateway that supports UPI Intent generation”. The recommended version is what Meta calls dynamic VPA, where the gateway’s UPI intent link goes into the message as it is. The older version needed a VPA, a merchant category code and a purpose code configured in Meta Business Suite first; its page now tells you to migrate.
- Payment gateway deep integration mode. “Currently supported for Razorpay, PayU, Billdesk, and Zaakpay only.”
| What you get | UPI intent mode | Gateway deep integration |
|---|---|---|
| UPI apps on the customer’s phone | Yes | Yes |
| Cards, net banking and wallets inside the flow | No. Meta’s alternative: “Send payment links” | Yes |
| Payment status from WhatsApp’s own webhooks | No, from the gateway | Yes |
| Refunds through the WhatsApp API | No | Yes |
The dynamic VPA page adds a routing note: BillDesk or Zaakpay, use the deep integration; Razorpay, PayU or Cashfree, use Enhanced Payment Links, “a faster integration path”.
How does a UPI payment on WhatsApp work?
The business sends an order_details message, the customer pays, and the business sends an order_status message to say what happened. All three parts are mandatory in practice, and the third is the one businesses forget.
The order details message is an interactive message with a header, a body of up to 1,024 characters, an optional 60-character footer, and an action called review_and_pay that carries the items, the amounts and a reference_id. In UPI intent mode the reference ID is the tr value from the gateway’s UPI intent link. When the customer taps Review and Pay and then Continue, WhatsApp shows the UPI apps installed on the phone, with WhatsApp’s own payment option among them. The customer picks one and pays.
Then the gateway tells you, not WhatsApp: in UPI intent mode the status arrives on the gateway’s webhook, matched by the reference ID. If the gateway isn’t sending webhooks, “work with them to enable it.”
Now the part people skip. Meta’s page says the customer’s order screen “will continue to show ‘Order pending’ until merchant sends order status interactive message”. The status values are pending, processing, partially-shipped, shipped, completed and canceled, with an optional description of up to 120 characters. Cancelling only works before payment; after a successful or pending payment the cancel fails with error 2047.
Two details from the same pages: you can pin one preferred UPI app (gpay, phonepe, paytm, amazonpay, cred or mobikwik) to the top of the list, and UPI transactions are capped at ₹5,00,000, above which the deep integration page says to offer only the gateway’s web page. Reconciliation is on you: “WhatsApp does not support payment reconciliations.” Meta points UPI intent users to bank statements and the reference ID, and deep integration users to the gateway account.
What does the deep gateway integration add?
Status from WhatsApp, a lookup API, refunds, and control over which payment options the customer sees.
The payment status arrives on the messages webhook as a status of type payment (captured or pending), with a transaction block whose status is pending, success or failed and whose method is upi, card, wallet or netbanking. Meta says not to trust the webhook alone: businesses “must use payment lookup API to retrieve the statuses directly from WhatsApp”.
Refunds are a POST to the payments_refund endpoint with the reference ID and the amount. The page also lets you restrict the options shown to upi or web.
Setup for this mode starts with a payment configuration: a named link between the WhatsApp Business account and a gateway account, authorised by the gateway account’s owner in Meta Business Suite. A payment_configuration_update webhook fires when it is connected, disconnected or active, and each order details message names the configuration to pay through.
What about payment links?
Three different things get called a payment link, and only one of them is open to everyone.
The plain one is a gateway link or a UPI request pasted into the chat. It needs no API, works on every WhatsApp version, and the customer pays in a browser. Someone checks the gateway dashboard and marks the order paid. This is what Bhavesh does today, and it is what the Shopify integration guide assumes.
The Payment Links mode of the Payments API wraps a gateway link inside an order details message, so the pay button opens it in an in-app browser with cards, net banking, wallets and UPI. Meta’s page says the feature “is not publicly available yet”.
Enhanced Payment Links are the interesting one for a retailer. You create an ordinary template with no header and exactly one dynamic URL button, where the URL prefix is one of the gateway’s own: rzp.io/i/ or rzp.io/rzp/ for Razorpay, pmny.in/PAYUMN/, api.payu.in/ or u.payu.in/PAYUMN/ for PayU, and payments.cashfree.com/links, payments.cashfree.com/link/ or cfre.in/CSHFRE/ for Cashfree. On a supported WhatsApp version the message renders as a payment bubble with the amount and a Pay Now button. UPI apps open directly; cards and net banking open in an in-app browser. When the payment succeeds or the link expires, “the payment card automatically updates” and disables the button. Your gateway callbacks and reconciliation don’t change at all.
The conditions, from the same page: an allowlisted WhatsApp Business account (your provider submits the account ID, the gateway and a sample link), a live production link, one link per message, no media header, “currently available for India only”, and a recipient on a WhatsApp version that renders it. Links wrapped under your own domain don’t render. Meta suggests a 24 to 48 hour expiry and warns that every tap on Pay Now creates a new UPI intent, so expired intents show as failures in gateway reports.
What do you need before you can take payments in the chat?
A gateway, the right identifiers from it, a payment configuration, and a provider that passes the API through. In order:
- A gateway account: any UPI-intent gateway for UPI mode; Razorpay, PayU, BillDesk or Zaakpay for the deep integration; Razorpay, PayU or Cashfree for Enhanced Payment Links. Meta has gateway-specific guides for BillDesk, CCAvenue and Cashfree.
- From the gateway: the VPA, the merchant category code and the purpose code for UPI mode (Meta’s advice: if you don’t know them, “contact payment gateway to get this information”), or the gateway account owner’s authorisation for the deep integration.
- A payment configuration on the WhatsApp Business account, created under India in WhatsApp Manager. The self-service page is beta.
- A provider whose API passes order details, order status and the payment webhooks through to you. Ask before you sign; Meta puts this first on its prerequisites list.
- Your own order system: Meta lists order trigger APIs or CSVs to raise an order and payment posting APIs to close it.
Meta’s merchant checklist adds four items: always send the order status message, be verified “and WABA contact is marked with a verified check” (see our business verification guide), have a messaging tier that fits the volume, and list customer support details in the profile.
What does it cost on Meta’s side?
Meta’s payments pages list no fee for the payment itself, and the message carrying the bill is priced like any other message of its type. The pages, as captured in September, say nothing about message pricing at all; the pricing page governs.
- An order details message sent inside the 24-hour window is a non-template interactive message, so it is a service message. From 1 October 2026 service messages are charged after 1,000 per business phone number per month, at ₹0.1150 per delivered message to an Indian number, before GST, on Meta’s 1 October 2026 rate card. The order status message that follows is charged the same way.
- Outside the window you need the order details template. Meta’s page says it “is categorized as ‘Utility’”, which is ₹0.1150 per delivered message. The same page notes a business can create it under the marketing category with a
display_formatattribute, and marketing is ₹0.8631. The order status template is utility too. - An Enhanced Payment Link template is priced by the category review gives it; Meta’s page suggests a utility template from the Template Library. A reminder that also mentions a discount is marketing, as our guide to message categories explains.
- Gateway fees are on the gateway’s rate card, not Meta’s pages.
Take Bhavesh’s shop: 900 bills a month, all sent after the customer’s own message, and 900 status confirmations. That is 1,800 service messages, 1,000 of them free, and 800 × ₹0.1150 = ₹92 before GST. Meta’s side is small money. The gateway’s charge on each payment is the number that matters, and it is the same whether the link sits in a bubble or in a text. Our October 2026 cost guide has the full rate table.
What should most Indian shops do today?
Send a payment link in the chat, keep the order record beside the conversation, and tag the order paid when the gateway confirms. That is our position for any business under a few hundred orders a day.
The link works on every phone, needs no allowlisting, and your provider doesn’t have to have built the Payments API. The trade-off: no bubble that updates itself, so someone watches the gateway dashboard or its webhook into your tool, and the customer gets “received, thank you” as a text rather than a tick on the bill. For a shop that already sends a courier number by hand, that is one more line in the same chat.
Go further when four things are true at once: a developer, a gateway Meta lists, a provider that passes the API through, and customers who care about the in-chat status. Meta’s own examples are tickets (metro, bus, events) and reminders for bills, subscriptions and insurance renewals, where “Order pending” turning into “completed” in the chat saves a support call. The COD confirmation playbook shows the prepaid nudge most D2C stores need first.
Isn’t WhatsApp adding UPI payments itself?
In the free WhatsApp Business app, partly, and not yet. Meta’s newsroom post of 14 May 2026 introducing Business AI for Indian small businesses said it will “starting soon” take UPI payments in chat. That is the app’s assistant, not the Platform, and Meta gave no date; our Business AI and AI agent comparison explains the difference. (Terms such as “customer service window” and “utility template” are defined in our glossary.)
The first step takes ten minutes. Check which gateway you are on. If it is Razorpay, PayU or Cashfree, ask your provider whether it supports Enhanced Payment Links and whether it will submit your account for allowlisting. If either answer is no, keep sending links, and tag every paid order in the chat where the money was asked for.
Common questions
Can customers pay by UPI inside WhatsApp?
Yes, through Meta's Payments API for India. The business sends an order details message with the bill, the customer taps Review and Pay and chooses any UPI app on the phone, WhatsApp's own included. The business then confirms with an order status message. It needs a payment gateway account and a provider that supports the API.
Which payment gateways work with WhatsApp payments in India?
Meta's UPI intent mode works with any gateway that can generate a UPI intent link. Its deeper integration, with payment status webhooks and refunds, is listed for Razorpay, PayU, BillDesk and Zaakpay only. Enhanced Payment Links, which turn a gateway link into a pay bubble, are listed for Razorpay, PayU and Cashfree.
Is the WhatsApp payment API free?
Meta's payments pages list no fee for the payment itself. The message carrying the bill is charged like any message of its type: as a service message inside the 24-hour window, charged after 1,000 per number per month from 1 October 2026, or as a utility template outside it. Gateway charges are the gateway's own.
Can I just send a payment link on WhatsApp instead?
Yes, and for most Indian shops it is the practical route today. A gateway link pasted in the chat works on every WhatsApp version with no API work. You lose the in-chat status bubble, so someone has to watch the gateway dashboard and mark the order paid, but you keep the order record beside the conversation.
Sources
- Payments API for India: overview (Meta for Developers) · Updated 21 May 2026, read live 15 Oct 2026
- Receive UPI payments through WhatsApp, dynamic VPA (Meta for Developers) · Updated 21 May 2026, read live 15 Oct 2026
- Receive UPI payments through WhatsApp, payment configuration method (Meta for Developers) · Updated 21 May 2026
- Receive payments via payment gateways on WhatsApp (Meta for Developers) · Updated 21 May 2026, read live 15 Oct 2026
- Accept payments via payment links (Meta for Developers) · Updated 21 May 2026
- Enhanced Payment Links (Meta for Developers) · Updated 21 May 2026, read live 15 Oct 2026
- Send order details template, India (Meta for Developers) · Updated 21 May 2026
- Send order status template message (Meta for Developers) · Updated 21 May 2026
- payment_configuration_update webhook reference (Meta for Developers) · Updated 17 Jun 2026
- Pricing on the WhatsApp Business Platform (Meta for Developers) · Updated 30 Sep 2026; India rates on the 1 Oct 2026 rate card
- Introducing Business AI on WhatsApp for small businesses in India (Meta Newsroom) · 14 May 2026
Run this on your own number
Create an account, connect your WhatsApp number, and invite your team.