Collect UPI payments, consultation fees, booking deposits, and EMIs directly inside WhatsApp — without redirecting customers to a payment gateway website. This guide covers WhatsApp Pay (where available), Razorpay payment links inside Flows, and Cashfree UPI collection for Indian businesses.
| Method | How it works | Best for | Setup complexity |
|---|---|---|---|
| WhatsApp Pay (native UPI) | Built into WhatsApp — customer pays via UPI without leaving the app. Available through select Meta-approved payment partners. | Small ticket, impulse purchases, B2C retail | Medium — requires Meta WhatsApp Pay integration |
| Razorpay Payment Link in Flow | Flow generates a Razorpay payment link → shown as URL button in confirmation screen → customer taps → pays → webhook confirms payment | Service fees, deposits, subscriptions, B2B invoices | Low — WA.Expert + Razorpay webhook, 30 min setup |
| Cashfree UPI Collection | Flow triggers Cashfree API → generates UPI ID or payment link → sent to customer → Cashfree webhook confirms on payment | High-volume collection, NBFCs, EMI, D2C | Medium — Cashfree API integration needed |
| Static UPI ID in message | Flow confirmation screen shows your UPI ID + amount → customer pays manually → you verify via bank or webhook | Very small businesses, manual verification acceptable | Zero — no integration needed |
💡 For most Indian businesses, the Razorpay payment link method is the fastest to set up and the most reliable. WA.Expert's Razorpay integration generates a unique payment link per transaction, tracks payment status, and triggers confirmation automatically — no manual verification.
WA.Expert → Integrations → Razorpay → enter API key and secret. Enable payment link generation. Test with ₹1 transaction.
Flows → New Flow → "Payment Collection" template. Add: service description (text), amount selection (dropdown or fixed), payer name (TextInput), confirm screen.
Fixed amount: hardcode ₹999. Variable amount: dropdown (₹500/₹1000/₹2000) or TextInput with number validation. Dynamic amount: pull from your system via webhook data source.
Show summary: service name + amount + payer name. "Pay ₹[amount] via Razorpay" CTA button that opens the generated payment link.
Razorpay → WA.Expert webhook → auto-send payment receipt template → update your booking/CRM record → mark as paid.
Razorpay webhook fires on failure → WA.Expert sends "Payment failed — try again" template with fresh payment link. Retry up to 3 times.
Appointment booked via Flow → confirmation screen shows payment button → patient pays ₹200–500 consultation fee before visit → doctor's slot confirmed only on payment.
Demo class booking → ₹99–199 token fee collection inside WhatsApp → higher show-up rate (paid leads show up 3× more than free-demo leads).
Site visit confirmed → "Secure your unit with ₹25,000 token" → Flow payment inside WhatsApp → token receipt auto-sent → unit marked reserved in CRM.
EMI reminder template → CTA button opens payment Flow → customer confirms EMI amount and pays via UPI → receipt auto-sent → CRM updated → no manual reconciliation.
Consultation enquiry → scope confirmed in chat → "Pay ₹5,000 retainer to proceed" → Flow payment → engagement letter auto-sent → matter opened in practice management system.
Post-order "Would you like to add gift wrapping?" → tap Yes → Flow shows ₹49 add-on → customer pays → order flagged for gift wrapping in WMS. Zero friction upsell.
⚠️ Razorpay payment links expire after 15 minutes by default. For appointment and consultation fee collection, set the link expiry to at least 30 minutes in your Razorpay settings. WA.Expert auto-generates fresh links if the session times out.
Complete Razorpay webhook setup and payment notification templates.
Read guide →WA.Expert's Razorpay integration handles payment link generation, confirmation, and receipt — automatically.