How to accept payments on the WhatsApp Business API
Turning a WhatsApp conversation into a paid order no longer means dropping a customer onto a separate checkout page. With the official WhatsApp Business API and a supported Indian payment provider, you can send a structured payment request — UPI, cards, net-banking or wallets — right inside the chat, and get a confirmation back the moment the money lands. This tutorial walks through the exact order of steps to accept payments on WhatsApp with InfiQ, the templates and webhooks involved, and the mistakes that quietly cost businesses conversions and rejected templates.
What you'll do
Verify your WhatsApp Business API account with InfiQ, connect a supported Indian payment gateway (UPI/cards/net-banking), build an approved order-details or payment template, wire the payment-status webhook, test with your own number, then go live — customers pay inside the chat and you get instant confirmation.Step 1 — Prepare your account and payment provider
Before you can request a single rupee, two things must be in place: a live WhatsApp Business API account and a payment gateway that supports in-chat collection for India. InfiQ provisions and verifies your API account so your business is a genuine, quality-rated sender rather than a grey-area workaround. In parallel, get your payment provider's onboarding done, because gateway KYC is usually the slowest link in the chain. Line these up first and the rest of the tutorial takes minutes.
- Confirm your WhatsApp Business API number is active and verified through InfiQ, with a display name approved by Meta.
- Complete your Meta Business Manager verification so your business identity is trusted.
- Finish KYC and settlement-account setup with a supported Indian payment gateway (UPI, cards, net-banking, wallets).
- Keep your GSTIN, bank details and business documents handy — the gateway will ask for them.
Step 2 — Connect the payment gateway to InfiQ
With both accounts ready, link your payment provider inside InfiQ. This is a credentials-and-consent step, not a coding project: you authorise InfiQ to create payment requests on your behalf and to receive status updates back. Once connected, InfiQ can generate a native payment object for each order rather than pasting raw links into messages, which is what makes the experience feel like a real checkout instead of a workaround.
- Add your gateway's API keys or connect via the provider's authorisation flow in InfiQ.
- Choose your default currency (INR) and which methods to offer — UPI, cards, net-banking, wallets.
- Set your settlement and refund preferences so reconciliation is clean from day one.
Step 3 — Build the payment message template
Payments almost always travel with a template, because you typically send them outside a live conversation — an invoice after a call, an order confirmation, or a 'complete your purchase' nudge. This is where category discipline matters: a transactional confirmation is a utility message, while a promotional 'you left items in your cart' prompt is marketing, and marketing costs more per delivered message. Choosing the correct category keeps templates from being rejected and keeps your cost predictable.
- Itemise the order clearly, with clean variables for amount, order ID and customer name.
- Pick the right category: utility for a genuine transaction, marketing for a promotional nudge — never mislabel one as the other.
- Attach the payment request/button so the customer can pay in-chat.
- Submit for Meta approval and wait for the template to move to 'Approved' before sending at scale.
Step 4 — Wire the payment-status webhook
Accepting money is only half the job; you need to know the outcome without checking a dashboard manually. Subscribe to your payment-status webhook so InfiQ and your systems learn the instant a payment is captured, failed or refunded. Map each event to an action and reconciliation becomes automatic: a successful capture fires a receipt and triggers fulfilment, a failure prompts a retry link, and a refund updates your records.
- Subscribe to payment 'captured', 'failed' and 'refunded' events on your webhook.
- Map 'captured' to an automatic receipt template and your order-fulfilment trigger.
- Map 'failed' to a friendly retry message so the sale isn't lost.
- Log every event against the order ID so finance can reconcile at a glance.
Step 5 — Test with your own number, then go live
Never make your first live payment your first test. Send the payment template to your own WhatsApp number, complete a real low-value UPI transaction, and confirm the webhook fires and the receipt goes out end-to-end. Only when the full loop works — request, pay, confirm, fulfil — should you enable it for customers. After launch, watch delivery, read and quality signals; a new number should be warmed up gradually rather than blasted with high volume on day one.
- Run a real ₹1 UPI payment to yourself and confirm the receipt and webhook both fire.
- Warm up a fresh number with gradual volume before large campaigns.
- Monitor your quality rating, delivery failures and payment success rate after going live.
- Iterate on template wording and timing to lift completion, especially for cart-recovery nudges.
Frequently asked questions
Can customers actually pay inside WhatsApp, or does it open a separate page?+
What payment methods can I accept?+
How much does it cost to send a payment message?+
Do I need a developer to set this up?+
How long does the whole setup take?+
Why do my payment templates keep getting rejected?+
How do I know when a customer has paid?+
Can I send a follow-up reminder without paying for a new template?+
Start collecting payments inside WhatsApp
Let InfiQ's India-based team connect your gateway, get your payment templates approved and take you live on the official WhatsApp Business API — book a demo or start free today.