Appearance
Are you an LLM? You can read better optimized documentation at /zoho-payments-whmcs/features/widget-checkout.md for this page in Markdown format
Widget checkout
Customers pay a WHMCS invoice inside an embedded Zoho Payments widget — no redirect, no leaving your site. WHMCS confirms the result the moment the customer finishes paying.
Your server never sees card data
The widget is Zoho's secure, in-page component. Card details are collected by Zoho inside the widget — your WHMCS server never handles raw card numbers.
The checkout, step by step
| Step | What happens |
|---|---|
| 1. Pay Now | Customer selects Zoho Payments and clicks Pay Now; WHMCS loads the widget in place using your Widget API Key and Account ID |
| 2. Widget opens | Customer enters details and completes the payment inside the widget — nothing leaves the invoice page |
| 3. API verified | WHMCS does not trust the on-screen result; it verifies the payment against the Zoho API to confirm the money was taken |
| 4. Marked Paid | On Zoho's confirmation, WHMCS marks the invoice Paid, records the transaction, and stores the processing fee Zoho reports |
Client area → Invoice → Pay Now (embedded Zoho Payments widget)
Widget troubleshooting
A missing or blank modal indicates an incorrect Widget API Key or Account ID. Verify both in Setup → Payment Gateways → Zoho Payments and inspect browser console logs.
India and US data centres
Set Data Center to match your Zoho account region. Mismatched regions between credentials and gateway configuration cause widget initialization and OAuth errors.
| Data Center | Zoho domain | Choose this if… |
|---|---|---|
| IN | .in (India) | Your Zoho account and Developer Console are on zoho.in |
| US | .com (United States) | Your Zoho account and Developer Console are on zoho.com |
See the Zoho OAuth setup guide to line these up.
Test prior to going live
Enable Test Mode and process a test transaction. Verify the invoice updates to Paid and fees are recorded before switching to live mode (see Going live guide).