Skip to content

Integration · Payments

PhonePe and WhatsApp: send UPI payment links and track them automatically

How the PhonePe gateway works in Broadchat: V1 (salt key) and V2 (client credentials) setup, payment links from the panel or chatbots, status callbacks and limits.

By Broadchat teamPublished Updated 5 min read

How it connects

Built-in connector in the Broadchat panel

PhonePe Payment Gateway · Payments · website

You will need

  • An activated PhonePe Payment Gateway merchant account with API access (UAT credentials for testing, production credentials for live payments).
  • Your PhonePe credentials: for V1, the Merchant ID, salt key and salt index; for V2, the Merchant ID, Client ID, Client Secret and Client Version.
  • The Payments module on your Broadchat plan.
  • A connected WhatsApp channel, if you want Broadchat to send the link to the payer.

When PhonePe is the right choice

The PhonePe WhatsApp integration in Broadchat suits businesses that already collect with PhonePe Payment Gateway and want to send payment links over WhatsApp: tuition fees, service invoices, advance payments for custom orders, COD-to-prepaid nudges. Broadchat creates the payment order with PhonePe, sends the link from your WhatsApp number and updates the status when PhonePe confirms the payment.

If you want customers to pay without leaving WhatsApp, use WhatsApp's own Review and Pay checkout through Razorpay or PayU instead; PhonePe links open PhonePe's payment page.

How a PhonePe payment flows

  1. You (or a chatbot) create a payment order for Meera, ₹3,600 for society maintenance.
  2. Broadchat asks PhonePe for a payment page and sends Meera a WhatsApp message with the amount, a "Pay here" link and the payment reference.
  3. Meera pays with her UPI app on PhonePe's page and is returned to a Broadchat page that shows the result.
  4. PhonePe calls your gateway's Webhook URL; Broadchat checks the status with PhonePe and marks the order Paid.
  5. The When Payment Transaction Complete trigger sends Meera a thank-you message with her receipt reference.
Payment eventWhere you can use it
New Payment Order CreatedWorkflow trigger, Payments → Automations
Transaction CompletedChatbot trigger, workflow trigger, Payments → Automations
Transaction FailChatbot trigger, workflow trigger, Payments → Automations

Outbound payment webhook example

If you add a trigger in Payments → Automations, your server receives a POST like this when a payment completes:

{
  "event": "TRANSACTION_COMPLETED",
  "eventLabel": "Transaction Completed",
  "timestamp": "2026-10-12T10:42:17.000Z",
  "paymentOrder": {
    "referenceId": "POMGX2K9A1F3C2B1",
    "status": "PAID",
    "amount": 3600,
    "currency": "INR",
    "description": "Maintenance Oct 2026, B-704",
    "payer": { "name": "Meera Iyer", "phone": "919876543210" },
    "gateway": "PHONEPE_V2",
    "gatewayName": "PhonePe main",
    "paymentLink": "https://…",
    "transactionId": "…"
  }
}

The other events are PO_CREATED and TRANSACTION_FAILED. Requests time out after 5 seconds and are not retried, so answer quickly and test with a UAT payment first.

Troubleshooting

  • Payment stays Pending after the customer paid: the Webhook URL is not saved in the PhonePe dashboard, or points to an old gateway. Copy it again from the gateway form.
  • Gateway saved but orders fail to create: check that you chose the right version. Salt key credentials only work with V1; client credentials only with V2.
  • Index rejected: V1's Index (salt index) and V2's Client Version must be numbers, usually 1.
  • Test payments in production: UAT or test merchant ids are detected automatically and use PhonePe's sandbox. Switch to production credentials before going live.
  • Customer did not receive the link: their 24-hour window was closed. Send a payment reminder template with the link instead.

Agencies can set up PhonePe collections for their clients in their own branded panel with the white-label platform.

Set it up

  1. Check which PhonePe API you have

    Newer PhonePe merchant accounts get client credentials (Client ID, Client Secret, Client Version): use PhonePe (V2). Older integrations use a salt key and salt index: use PhonePe (V1). Your PhonePe dashboard or onboarding email shows which credentials you received.

  2. Add the gateway

    Open Payments → Payment Gateways and add a gateway. Under Choose one, click Connect PhonePe (V1) or Connect PhonePe (V2). Enter a Name, then the Merchant ID and API Key and Index (V1), or the Merchant ID, Client ID, Client Secret and Client Version (V2). Save.

  3. Copy the webhook URL into PhonePe

    Open the saved gateway again. The form shows a Webhook URL with a copy button. Add it in your PhonePe dashboard as the callback URL so payment results reach Broadchat immediately.

  4. Create a payment order

    Open Payments → Payment Orders and click Create Payment Order. Choose the PhonePe gateway, pick a contact or enter Payer Name and Payer Mobile, the Amount (INR) and a description. Tick Send the payment link to the payer on WhatsApp and choose a channel to send it automatically, or use Copy payment link.

  5. Send links from a chatbot

    In a chatbot, add a Send Message step of type Payment and select your PhonePe gateway. With PhonePe the customer receives a Pay Now link, and {{payment_reference_id}} and {{payment_amount}} can be used in the next steps.

  6. Follow up on the result

    Use the chatbot triggers When Payment Transaction Complete and When Payment Transaction Fail, the workflow Paymentz triggers, or Payments → Automations to send the result to your own system.

What you can do

  • UPI payment links on WhatsApp

    Broadchat creates a PhonePe payment page for each order and can send the link to the payer from your WhatsApp number, with the payment reference.

  • Verified payment status

    When PhonePe calls the webhook, Broadchat re-checks the payment with PhonePe's status API before marking the order Paid or Failed, and the payer's return page shows the confirmed result.

  • Payment events for automation

    New Payment Order Created, Transaction Completed and Transaction Fail events start chatbots and workflows and can be posted to your own URL from Payments → Automations.

  • One dashboard for collections

    Payments → Payment Orders shows purchase orders, total collection, pending amount and failed transactions, with each order's status and reference.

Limitations to know

  • PhonePe payments open on PhonePe's payment page in the browser or app; they are not WhatsApp's in-chat Review and Pay checkout, which works only with Razorpay or PayU.
  • The payment link itself is sent as a normal WhatsApp text message, which needs an open 24-hour customer service window. To request payment outside the window, send an approved template with the link in a URL button.
  • V2 payment links expire after 7 days.
  • Amounts are in INR only, from ₹1 to ₹10,00,000 per payment order.
  • Refunds are not started from Broadchat; issue them in your PhonePe dashboard.

Sources

  1. PhonePe Payment Gateway developer documentation — PhonePe, checked 12 October 2026
  2. Customer service windows — Meta for Developers, checked 12 October 2026

Broadchat team · Product and partner success team

The people who build and support Broadchat, the white-label WhatsApp Business API platform. We write from what we see while onboarding partners and their clients on the official WhatsApp Cloud API, and we check every article against Meta's current documentation.

Last updated:

Frequently asked questions

Can customers pay with PhonePe inside WhatsApp?

They pay on PhonePe's payment page, opened from the link in WhatsApp, using UPI apps or other methods PhonePe offers. WhatsApp's in-chat Review and Pay checkout is available through Razorpay or PayU, not PhonePe.

What is the difference between PhonePe V1 and V2 in Broadchat?

They match PhonePe's two API generations. V1 uses a Merchant ID with a salt key and index; V2 uses a Merchant ID with Client ID, Client Secret and Client Version. Use whichever credentials PhonePe issued to your account.

How does Broadchat know a PhonePe payment succeeded?

PhonePe calls the gateway's Webhook URL, and Broadchat then confirms the status directly with PhonePe's status API before marking the order Paid. The payer's return page also re-checks the status.

Can I refund a PhonePe payment from Broadchat?

No. Broadchat records payments and their status; refunds are issued from your PhonePe merchant dashboard.

See Broadchat on a real WhatsApp number

A short walkthrough of campaigns, chatbots, the team inbox and the partner panel, built around your use case.