---
url: /phonepe-whmcs/guides/going-live.md
description: >-
  Move PhonePe for WHMCS from sandbox to production — run a full sandbox test,
  then work through the go-live checklist and switch Sandbox Mode off.
---

# Going live

Once your credentials and webhook are in place, don't flip straight to live payments. Run a real
end-to-end test in **sandbox** first, confirm every part of the flow works, then turn Sandbox Mode
off with confidence. This guide gives you both halves: the sandbox test and the go-live checklist.

## 1. Test in sandbox

Under **Setup → Payment Gateways → PhonePe**, set **Sandbox Mode** to **Yes** and **Save
Changes**. Sandbox uses PhonePe's test environment, so no real money moves.

![Sandbox Mode toggle in the PhonePe gateway settings](/phonepe-whmcs/img/phonepe-whmcs-going-live-sandbox.png)
*Setup → Payment Gateways → PhonePe → Sandbox Mode*

Then run a full test payment against a test invoice and confirm the whole chain works:

* **Pay Now** launches checkout in your chosen [payment mode](/phonepe-whmcs/features/payment-modes)
  (redirect or iframe).
* You can complete the payment on PhonePe's side.
* The **webhook** reaches your site and passes the SHA256 auth and the secondary API check.
* The invoice is marked **Paid** and the **transaction fee** is recorded.

::: tip If something doesn't complete
Open **Utilities → Logs → Gateway Log** — it's the first place to look. A rejected webhook
(a `401`) almost always means the Webhook Username/Password don't match between PhonePe and WHMCS.
:::

## 2. Go-live checklist

When the sandbox payment works end to end, confirm each of these before switching to production:

* \[ ] **KYC is verified** on your PhonePe Business account.
* \[ ] **Client ID** and **Client Secret** are the **production** credentials from the merchant
  dashboard.
* \[ ] The **webhook URL** is registered in the dashboard over HTTPS:
  `https://yourdomain.com/modules/gateways/phonepe/webhook.php`
* \[ ] **Webhook Username** and **Webhook Password** match exactly between PhonePe and WHMCS.
* \[ ] Your **SSL certificate** is valid on the WHMCS domain.
* \[ ] Your **License Key** is entered and active (payments are disabled while it's inactive).
* \[ ] You've picked the **Payment Mode** you want and tested it in your live theme.

## 3. Switch Sandbox Mode off

Set **Sandbox Mode** to **No** and **Save Changes**. The gateway now uses PhonePe's live
environment and starts taking real payments.

::: warning Do one live test
Make one small real payment right after going live to confirm production credentials and the
webhook behave exactly as they did in sandbox. Check the Gateway Log and the invoice status, then
you're done.
:::

## Related pages

* [PhonePe setup](/phonepe-whmcs/guides/phonepe-setup) — credentials and webhook
* [Payment modes](/phonepe-whmcs/features/payment-modes) — redirect vs iframe
* [Webhooks](/phonepe-whmcs/features/webhooks) — how results are verified
* [Troubleshooting](/phonepe-whmcs/troubleshooting) — when something doesn't complete
