Industries
Restaurants & Food
Take restaurant orders, table bookings and payments in one WhatsApp chat. Auto-reply to common questions and cut support costs with ChatMitra.
Real Estate
Use WhatsApp automation to capture property leads, qualify them automatically, and follow up fast. See how real estate agents close more with ChatMitra.
Travel & Tourism
Use the WhatsApp Business API to capture travel leads, send itineraries, confirm bookings, and keep travellers updated. See how agencies grow with ChatMitra.
Banking & Finance
Run secure KYC, send account alerts and payment notifications on WhatsApp. Cut support load and stay within Meta's rules with ChatMitra.
Beauty & Cosmetics
Sell your catalog, recover carts and win repeat orders on WhatsApp. Auto-reply to product questions and send launches to opted-in customers with ChatMitra.
Education
Answer admission enquiries, fee and timetable questions, and keep parents updated — all on WhatsApp. Cut admin load and costs with ChatMitra.
EduTech
Capture course leads, qualify them and onboard learners on WhatsApp. Automate replies and cut lead-qualification cost with ChatMitra's no-code chatbot.
Events & Webinars
Handle event registrations, reminders and RSVPs in one WhatsApp chat. Cut no-shows, automate FAQs and keep attendees updated with ChatMitra.
Freelancers & Consultants
Capture leads, send proposals and chase invoices in one chat. WhatsApp automation for freelancers and consultants with ChatMitra — from ₹0.20 a chat.
Health & Wellness
Book appointments, send reminders and answer client questions in one WhatsApp chat. Auto-reply to routine queries and cut support costs with ChatMitra.
Home Decor
Share your home decor catalog, take orders and send delivery updates on WhatsApp. Automate FAQs and cut support costs with ChatMitra.
IT Services
Use the WhatsApp Business API to qualify leads, run support over chat, and wire WhatsApp into your stack with webhooks. How IT companies scale with ChatMitra.
Marketing Agencies
Use WhatsApp automation to capture leads, run campaigns and manage multiple client brands from one account. How agencies scale on WhatsApp with ChatMitra.
Offline & Retail
Turn shop footfall into a WhatsApp list. Share catalogs, add a QR-to-chat at the counter and bring buyers back — with ChatMitra from ₹0.20 per chat.
Spas & Salons
Use the WhatsApp Business API to take spa and salon bookings, cut no-shows with automated reminders, and rebook regulars. How salons grow with ChatMitra.
Automotive
Use the WhatsApp Business API for automotive dealerships to qualify buyers, book test drives and send service reminders — automated, on one chat, with ChatMitra.
All Industries
Browse every industry guide
WhatsApp Marketing

How to Send a Payment Link on WhatsApp (App and API)

How to create a payment link and send it on WhatsApp: the app, API templates with a URL button, India's Pay Now cards, message examples and payment confirmation.

Nikunj Gohil
Written byNikunj Gohil
Read time 17 min
Posted on
How to Send a Payment Link on WhatsApp (App and API)
Summarise this post with:

Short on time? Read this first

  • A WhatsApp payment link is a checkout link from your payment gateway, such as Razorpay, Cashfree, PayU, Stripe or PayPal, sent in a chat. WhatsApp carries the message; the gateway takes the money.
  • On the WhatsApp Business Platform, a link sent more than 24 hours after the customer's last message has to go in an approved template, usually as a URL button whose last part changes per customer.
  • In India, Meta's Enhanced Payment Links turn Razorpay, PayU and Cashfree links in a template button into a Pay Now card. It needs Meta to enable your account first.
  • Confirm every payment from the gateway's dashboard or webhook, never from a screenshot, and reply with a receipt.
On this page 0

    To send a WhatsApp payment link, create the link in your payment gateway (Razorpay, Cashfree, PayU, Stripe or PayPal) with the amount, a description and an expiry, then send it in the chat with one line explaining it. On the WhatsApp Business Platform, once a day has passed since the customer last wrote, the link has to travel in a Meta-approved template, usually as a URL button. Confirm payment from the gateway, not a screenshot.

    Getting paid is often the step where WhatsApp sales slow down. The customer has said yes, and now needs a clear, safe way to pay without hunting for your bank details. This guide covers creating the link, sending it from the app and through the API, the template rules that decide whether it arrives, the newer payment cards Meta offers in India, copy-ready messages, and what to do after the customer pays.

    Key takeaways

    • WhatsApp carries the link. The gateway handles the payment and tells you when it's done.
    • On the API, the 24-hour window decides between a plain message and an approved template.
    • Treat the gateway's confirmation as the source of truth, and always send a receipt.

    A WhatsApp payment link is a URL for a hosted checkout page, created by a payment gateway or bank, that you send to a customer on WhatsApp. The customer taps it, pays on the gateway’s page by UPI, card, net banking or wallet, and the gateway records the payment against that link.

    It’s one of four ways to collect money through WhatsApp, and they’re often confused:

    MethodWhat the customer seesWhere it worksBest for
    Payment link from your gatewayA link or button that opens a checkout pageAnywhere; any WhatsApp accountMost businesses, any amount, any country your gateway supports
    Payment QR code in the WhatsApp Business appA QR code shared in the chatIndia, small businesses on the Business appShops and services paid in person or in chat
    Enhanced Payment Links (Meta)A payment card with the amount and a Pay Now buttonIndia, Business Platform, Razorpay, PayU or Cashfree, account enabled by MetaBusinesses already sending gateway links at volume
    Payments API order details (Meta)An invoice-style message with a review-and-pay buttonIndia (and Brazil), Business Platform, supported gatewaysFixed-price orders and tickets with a fully integrated checkout

    “WhatsApp Pay” is a different thing again: the UPI payments feature inside the regular WhatsApp app, which WhatsApp describes as a way to “send and receive money right where you chat” (WhatsApp, payments in India). It isn’t how a business sends payment links.

    The rest of this guide is about the first row, the method almost every business can use today, and how the Meta features in rows three and four build on it.

    Every major gateway follows the same pattern. The labels differ, but the steps are these:

    1. Open Payment Links in your gateway’s dashboard, or use its API if you’ll create links in bulk.
    2. Enter the exact amount and currency. Round figures cause fewer questions than “₹1,999.50 incl. charges”.
    3. Describe it in the customer’s words: “Order #4821: 2 cotton kurtas” beats “Payment”.
    4. Add the customer’s name and number if the gateway lets you, so the payment is easy to match later.
    5. Set an expiry. Razorpay, for example, lets you “set due dates for Payment Links after which the links expire” (Razorpay, payment links).
    6. Decide on partial payment. Useful for advances and deposits. Razorpay lets customers “make partial payments” and lets you set the first instalment.
    7. Add your own reference ID (order or invoice number), so the gateway’s webhook can tell your system which order was paid.
    8. Create the link and copy it.

    Single-use or reusable? Decide before you create it. Stripe’s documentation draws the line clearly: an invoice is for “specific individuals or businesses”, while a payment link can be used by “anyone with the link” and re-used “multiple times with multiple customers” (Stripe, payment links). Use a single-customer link or invoice for anything tied to one order. Keep reusable links for fixed-price products, deposits or donations, where it doesn’t matter who pays.

    UPI-only links. If your customers mostly pay by UPI, some gateways offer a UPI-only link. Razorpay documents both “Standard Payment Links and UPI Payment Links” (Razorpay, create payment links), and says customers paying through its payment links can use “Card, UPI, NetBanking, Wallet, EMI, Pay Later and Bank Transfer”.

    Outside India, the same approach works with Stripe, PayPal or any gateway that issues hosted links. Check the currencies and payment methods your gateway supports in each country.

    The right link depends on who pays and how often. This is our rule of thumb:

    SituationLink to useWhy
    One customer, one order or invoiceSingle-use link with the order number as reference, short expiryReconciles itself; can't be paid twice by mistake
    Booking advance or depositSingle-use link, partial payment switched on if the balance is also collected onlineThe deposit and balance stay on one record
    Fixed-price product, workshop seat or donationReusable linkOne link works for everyone; sales are counted by the gateway
    Monthly fees or subscriptionsThe gateway's subscription or recurring-payment productCustomers approve once instead of paying a new link each month
    Customer standing at your counterA payment QR codeFaster than typing a number or opening a link
    Customer paying from abroadA gateway link that supports their currency and cardsLocal UPI or wallets may not be available to them

    For a small team replying by hand, the routine is short:

    1. Create the link as above.
    2. Open the customer’s chat and write the context first: what it’s for, the amount and the due date.
    3. Paste the link on its own line, starting with https://, so WhatsApp shows it as tappable.
    4. Say what happens after payment: “We’ll dispatch within 24 hours and send the tracking link here.”
    5. When the gateway shows the payment as captured, reply with a confirmation and a receipt.

    In India, there’s also a built-in option. Meta announced in September 2025 that small businesses “can now quickly share QR codes in one tap for fast and efficient sales closures, enabling customers to pay directly within WhatsApp using their preferred payment method” (Meta, September 2025). A QR code suits customers who are in front of you or paying a known amount. A gateway link suits invoices, deposits and anything you need to reconcile automatically.

    The Business app has limits at scale: every link is created and matched by hand, one chat at a time. Once you’re sending dozens a day, the Business Platform and a tool that fills links automatically start to pay off.

    On the Business Platform (the API), one rule decides how you send: the customer service window. Meta explains that “when a WhatsApp user messages you or calls you, a 24-hour timer called a customer service window starts,” and that once it closes, “you can only send pre-approved template messages” (Meta, send messages).

    Inside the window (the customer wrote to you in the last 24 hours), you can reply with a normal text message containing the link, or with a call-to-action URL message that shows a button instead of the raw URL. Our guide to WhatsApp interactive messages covers the CTA URL format.

    Outside the window, you need an approved template. The cleanest design puts the link in a URL button:

    Building the payment template

    1. Body: name the customer, the order or invoice number, the amount and the due date, all as variables. For example: “Hi {{1}}, your invoice {{2}} for {{3}} is ready. Please pay by {{4}} using the button below.”
    2. Button: add a URL button labelled “Pay now”. Meta says URL buttons support “1 variable, appended to the end of the URL string”, and “templates are limited to two URL buttons” (Meta, template components). So enter your gateway’s fixed prefix, then the variable, such as https://rzp.io/rzp/{{1}}.
    3. Samples: give a realistic sample value for every variable, including the link’s ending, or Meta won’t approve the template. Our explainer on template elements covers variables and samples in more detail.
    4. At send time: pass only the variable part (the link ID) for the button. Meta warns that special characters in button parameters must be percent-encoded, because “unencoded special characters can cause the generated URL to fail validation”.
    5. Header: leave it out if you want to qualify for Enhanced Payment Links (below). Otherwise a text header such as “Payment due” is fine.

    If your gateway’s links don’t share a fixed prefix, or you wrap them in your own domain, use your own stable prefix, such as https://pay.yourdomain.com/{{1}}, that redirects to the gateway link.

    Utility or marketing?

    The category decides the price and whether per-person marketing limits apply. Meta’s utility test has two parts: the template “must be non-promotional, not containing any promotional or persuasive intent”, and must be “specific to or requested by the user”, such as their order, account or transaction (Meta, template categorisation).

    MessageLikely categoryWhy
    "Your invoice #4821 for ₹6,400 is ready. Pay by 12 March."UtilitySpecific to the customer's transaction, no persuasion
    "Your booking is held until 6 PM. Pay the ₹2,000 advance to confirm."UtilityCompletes a booking the customer asked for
    "Pay now and get 10% off your next order!"MarketingContains an offer
    "Your plan expires soon. Renew today to keep saving."MarketingMeta lists attempts "to renew subscriptions" under marketing
    "You left items in your cart. Complete payment here."MarketingMeta treats cart reminders as retargeting, "marketing even if requested by users"

    In India, since 1 October 2026, Meta charges ₹0.1150 per delivered utility template and ₹0.8631 per marketing template, and normal replies inside an open window count as service messages, with 1,000 free per business number each month (Meta, pricing). Sending 500 invoice links as utility templates costs 500 × ₹0.1150 = ₹57.50 in Meta charges, before your provider’s fee. Our Cloud API pricing guide explains the rest.

    Meta has a newer option that upgrades an ordinary gateway link. It “transforms existing payment gateway URLs into rich, native payment experiences within WhatsApp”. When a supported link is sent in a template, it “automatically renders as a structured payment bubble” showing the amount and currency and a “Pay Now” button, with checkout by UPI app or a hosted payment page (Meta, Enhanced Payment Links).

    What Meta requires, per its documentation:

    • An enabled account. “This feature is not publicly available yet.” Your messaging account must be allowlisted through your solution partner or Meta, with a sample link and your preferred gateway.
    • A supported gateway: Razorpay, PayU or Cashfree.
    • A compliant template: no header, and “exactly one dynamic URL button with a supported PG link prefix”. Meta’s requirements table only rules out a media header, but its limitations list says “No header components allowed” and “Single button required”, so leave the header out entirely. For Razorpay, the listed prefixes are https://rzp.io/rzp/ and https://rzp.io/i/. PayU and Cashfree have their own.
    • A live, direct link: from the production environment, active and unexpired. Links “wrapped” under your own domain or redirected from a hosted page won’t render as a card.

    What you gain: Meta says the card updates itself when the payment completes or expires, and “disables the ‘Pay Now’ button to prevent duplicate payments”. Your gateway’s webhooks and reconciliation don’t change. What to check: Meta says “enhanced rendering depends on recipient’s WhatsApp version”, so the template’s text must make sense without the card.

    Meta’s Payments API and order details messages

    For a fully integrated checkout, Meta’s Payments API in India lets businesses “accept payments from your customers through all UPI apps installed on their devices and other payment methods such as cards, NetBanking, and wallets via WhatsApp” using invoice (order_details) messages. Meta offers two integration models: UPI Intent mode, for “any payment gateway that supports UPI Intent generation”, and a deeper integration “currently supported for Razorpay, PayU, Billdesk, and Zaakpay only” (Meta, Payments API India).

    Payment links fit inside this too. Meta’s payment-links integration for India uses the gateway link inside an order_details message: the business generates the link “by providing the unique ‘reference-id’ and other information like amount and validity”, and the customer pays in an in-app browser. Meta marks that integration “not publicly available yet” (Meta, payment links (India)). In Brazil, Meta documents a similar payment-links flow, where “WhatsApp only facilitates the communication between merchants and buyers” (Meta, payment links (Brazil)).

    The deeper integration also brings payment status and refunds into WhatsApp’s own APIs, which UPI Intent mode doesn’t. Whichever route you pick, you need a provider and gateway that support it. For most businesses, a template with a URL button is the practical starting point, with Enhanced Payment Links as the upgrade. For online stores, our WhatsApp for ecommerce guide covers where checkout fits in the wider customer journey.

    Each of these can be sent as a free-form reply inside the 24-hour window, or turned into a template with the link in a URL button. The square brackets are your variables.

    1. Product order (after the customer confirms)

    Hi [Name], thanks for confirming. Your order [#number] comes to [amount] including delivery. You can pay securely here: [link]. We’ll pack it as soon as the payment comes through.

    2. Service advance or booking deposit

    Hi [Name], your [service] on [date] at [time] is held for you. To confirm it, please pay the [amount] advance here: [link]. The balance is due on the day.

    3. Invoice for a completed job

    Hi [Name], invoice [#number] for [work done] is ready. Amount: [amount], due by [date]. Pay by UPI or card here: [link]. Reply here if anything on the invoice looks wrong.

    4. Payment reminder (polite, factual)

    Hi [Name], a reminder that invoice [#number] for [amount] is due on [date]. You can pay here: [link]. If you’ve already paid, please ignore this message.

    5. A payment that didn’t go through

    Hi [Name], it looks like the payment for order [#number] didn’t complete, and no money was taken. You can try again here: [link]. The link is valid until [time].

    6. Cash on delivery to prepaid (no incentive)

    Hi [Name], your order [#number] is set to cash on delivery. If you’d rather pay online now, you can use this link: [link]. Otherwise, no action is needed.

    7. Event or class ticket

    Hi [Name], your seat for [event] on [date] is reserved until [time] today. Complete your [amount] payment here to confirm: [link].

    8. B2B invoice with partial payment

    Hello [Name], invoice [#number] for [amount] is attached. As agreed, you can pay [first instalment] now and the rest by [date] using this link: [link]. Our bank details are also on the invoice if you prefer a transfer.

    9. International customer

    Hi [Name], your order [#number] total is [currency amount]. You can pay by card or [local method] here: [link]. Your bank may show the charge as [merchant name].

    10. Payment received

    Hi [Name], we’ve received [amount] for order [#number]. Thank you! Your receipt is here: [receipt link]. We’ll update you when it ships.

    Examples 1 to 5, 7, 8 and 10 are tied to the customer’s own order or booking, so as templates they’re candidates for utility. Example 6 stays utility only if you don’t add a discount or cashback. With one, it’s marketing. For longer reminder sequences, see our WhatsApp reminder messages guide. For order confirmations and COD, see these order confirmation message examples.

    After the customer pays: confirm and reconcile

    A payment link is only half the job. The other half is knowing, reliably, that it was paid.

    1. Use the gateway’s webhooks. Razorpay sends payment_link.paid when a link “is successfully paid”, plus payment_link.partially_paid, payment_link.expired and payment_link.cancelled (Razorpay, payment link webhooks). Other gateways have equivalents.
    2. Match by reference ID, not by amount. Two customers can owe the same amount on the same day.
    3. Reply on WhatsApp with the amount received, the order number and a receipt. If the customer has messaged you in the last 24 hours, a normal reply works. Otherwise, use a utility template.
    4. Handle the other outcomes. For a partial payment, confirm the balance and due date. For an expired link, send a new link instead of reviving the old one. For a cancelled link, tell the customer it no longer works.
    5. Never accept a screenshot as proof. Screenshots are easy to fake or reuse. Check the gateway.

    Customers are rightly wary of links asking for money: “fake payment link” gets about 140 searches a month in India, according to SE Ranking. A few habits protect your customers and your reputation:

    • Use the gateway’s own domain where you can. Customers learn to recognise it, and Enhanced Payment Links needs it anyway. Avoid generic link shorteners.
    • Always state the amount and the reason in the message, so a customer can spot a mismatch before paying.
    • Send from your verified business number with a complete business profile, and tell customers which number you’ll use for payments.
    • Never ask for OTPs, card numbers, CVVs or UPI PINs in chat. A legitimate checkout collects these on the payment page or in the customer’s own UPI app.
    • Set short expiries on order-specific links, and cancel links you’ve replaced.
    • Keep single-customer links single-use. Don’t forward one customer’s link to another.

    ChatMitra doesn’t create payment links and has no built-in payment-link integration with your gateway, so the link always comes from your gateway, your spreadsheet or your own system. What it does is put the right link in the right customer’s WhatsApp message:

    • From the inbox: when you send a template with a dynamic URL button, the send screen asks for the button’s value. Paste the customer’s link ID and send.
    • From a Google Sheet or webhook: the automation’s “send template” step can fill a URL button’s value from a sheet column or webhook field, written as {{Column}}, so each row gets its own link. A condition step can skip rows marked as paid.
    • From your own system: on the Pro plan, per ChatMitra’s pricing page, the REST API sends templates with a URL-button parameter, so your billing system can send each link the moment it’s created.

    The template builder accepts one variable at the end of a URL button, as Meta requires, so you can build a template to the Enhanced Payment Links shape: no header, and a single dynamic URL button with your gateway’s prefix. Whether it renders as a payment card depends on Meta enabling your account, and we haven’t tested that with ChatMitra.

    What it doesn’t do: it doesn’t show payment status or reconcile payments. The campaign screen’s button field also has no contact-attribute picker, so for a different link per customer, use the Sheet or webhook automation or the API, and keep broadcasts for a shared checkout link. If you need link creation, reminders and reconciliation in one place, billing software with its own WhatsApp sending, or the gateway’s own tools, may fit better. For wider automation ideas, see our WhatsApp automation guide, and for the full sales process, our guide to WhatsApp for sales. To try it, compare ChatMitra’s plans.

    Mistakes to avoid

    1. Sending a bare link. Without the amount and the reason, the customer can’t tell a real request from a scam.
    2. Using one reusable link for order-specific payments. You won’t know who paid for what.
    3. Putting a discount in a payment template. It becomes marketing, costs more and is subject to per-person marketing limits.
    4. Forgetting the 24-hour window. A plain text link to a customer who last wrote three days ago won’t send on the API.
    5. Trusting screenshots. Always confirm in the gateway.
    6. Not closing the loop. No confirmation leads to “did you get my payment?” messages and repeat payments.
    7. Wrapping links for Enhanced Payment Links. Wrapped or redirected links won’t render as a card.

    The link isn’t tappable. Put it on its own line, starting with https://, with no spaces. On the API, move it into a URL button.

    The template was rejected. Check that the URL variable is at the very end, that every variable has a realistic sample, and that the body doesn’t start or end with a variable. If it was approved as marketing, remove promotional words and tie the text to a specific order or invoice.

    The button opens a broken page. The value you passed at send time probably contains characters that weren’t percent-encoded, or duplicates part of the prefix. Pass only the link ID.

    The Pay Now card doesn’t appear. Confirm that your account is enabled for Enhanced Payment Links, that the template has no header and only one button, a dynamic URL button, that the link is live, unexpired and direct from Razorpay, PayU or Cashfree, and that the customer’s WhatsApp is up to date.

    The customer says they paid, but there’s no webhook. Search the gateway dashboard by reference ID, phone number or amount. Check your webhook endpoint’s logs, then confirm or ask for the transaction reference before shipping.

    Sources: Meta's WhatsApp Business Platform documentation (send messages, template components, template categorisation, pricing and the India INR rate card, Payments API India, payment links for India and Brazil, Enhanced Payment Links); Meta's September 2025 India announcement; WhatsApp's India payments page; Razorpay's payment links, creation and webhook documentation; and Stripe's payment links documentation. All are linked above. Facts checked against Meta's, WhatsApp's, Razorpay's and Stripe's pages on 28 September 2026.

    Clear answers

    Frequently Asked Questions

    Create the link in your payment gateway's dashboard (for example Razorpay, Cashfree, PayU, Stripe or PayPal) with the exact amount, a description and an expiry date. Copy it and send it in the customer's chat with one line saying what it's for and how much. On the WhatsApp Business Platform, if more than 24 hours have passed since the customer's last message, send it in an approved template with a URL button instead.

    Not as a general feature. Payment links are created by a payment gateway or bank. WhatsApp's own options are different: in India, the WhatsApp Business app lets small businesses share a payment QR code in the chat, and the Business Platform has a Payments API for invoice-style order_details messages. Some gateways also offer their own WhatsApp tools for creating links.

    Links in normal WhatsApp messages usually become tappable when they start with https:// and have no spaces or line breaks inside them. If you're sending through the API outside the 24-hour window, the link has to sit in an approved template, and the most reliable place is a URL button. Check that special characters in the button's variable part are percent-encoded.

    A factual message about the customer's own order, invoice or account, such as an amount due with a pay button, can qualify as utility if it has no promotional or persuasive intent. Adding an offer, a discount or a push to renew or buy more makes it marketing. Meta makes the final decision when it reviews the template.

    It's a Meta feature in India that shows a supported payment link as a payment card with the amount and a Pay Now button, instead of a plain link. It works with Razorpay, PayU and Cashfree links sent in a template that has no header and exactly one button: a dynamic URL button using the gateway's link prefix. It isn't publicly available yet; your account has to be enabled through your solution partner or Meta.

    Yes, if your gateway's link offers UPI. Razorpay, for example, lists UPI alongside cards, net banking, wallets, EMI and Pay Later on its payment links, and also offers UPI-only payment links. On Enhanced Payment Links, Meta says UPI payments switch directly to the customer's UPI app.

    Check the payment in your gateway's dashboard, or better, subscribe to its webhooks. Razorpay, for example, sends events when a payment link is paid, partly paid, expired or cancelled. Then send the customer a confirmation and receipt on WhatsApp. Don't treat a forwarded screenshot as proof.

    Yes, if your tool can fill the link per customer. The usual way is a template with a dynamic URL button, filled from a spreadsheet column, your CRM or an API call. A broadcast that uses one fixed link for everyone only suits a shared checkout, such as a reusable link for a fixed-price product.

    Nikunj Gohil

    ChatMitra

    Nikunj Gohil writes for the ChatMitra blog about the WhatsApp Business API.

    Ready to try WhatsApp Business API?

    Start free on the Starter plan — free subscription. Pro is ₹999/month with a 15-day trial when you need automation.