---
url: /zoho-payments-whmcs/configuration.md
description: >-
  Every Zoho Payments for WHMCS gateway field in one table — Account ID, Widget
  API Key, Client ID and Secret, Refresh Token, Data Center, Webhook Secret,
  Test Mode, and License Key.
---

# Configuration

All settings live on one native page: **Setup → Payment Gateways → Zoho Payments**. Fill the fields, click **Save Changes**, and the gateway is ready — there is no separate addon area.

![Zoho Payments gateway configuration form](/zoho-payments-whmcs/img/zoho-payments-whmcs-configuration-form.png)
*Setup → Payment Gateways → Zoho Payments*

## Fields

| Field | What to enter | Where it comes from |
| --- | --- | --- |
| **Account ID** | Your Zoho Payments Account ID — tells the widget which account collects the payment | Zoho Payments account |
| **Widget API Key** | The API key that loads the payment widget on the invoice page | Zoho Developer Space |
| **Client ID** | OAuth Client ID identifying your integration to Zoho | Zoho Developer Console (OAuth app) |
| **Client Secret** | OAuth Client Secret paired with the Client ID; keep it private | Zoho Developer Console (OAuth app) |
| **Refresh Token** | Long-lived token that keeps the gateway connected; generated via the helper link, not typed by hand | Generate Token helper (see below) |
| **Data Center** | **IN** (`.in`, India) or **US** (`.com`, United States) — must match your Zoho account. Default **IN** | Your Zoho account region |
| **Webhook Secret** | Verifies Payment Link notifications; this field also shows your Webhook URL | Zoho webhook settings |
| **Test Mode** | **Yes** sandbox / **No** live. Default **No** | — |
| **License Key** | Enables payment processing; without an active key, new payments are blocked | relyweb.co |

::: info Credential sources

* **Account ID & Widget API Key:** Zoho Payments dashboard and Developer Space.
* **Client ID, Secret & Refresh Token:** Zoho Developer Console OAuth app.
* **Webhook Secret:** Zoho Payments Webhook settings.
* **License Key:** RelyWeb client area at [relyweb.co](https://relyweb.co).

See the [Zoho OAuth setup guide](/zoho-payments-whmcs/guides/zoho-oauth) for detailed retrieval steps.
:::

## Generate the Refresh Token

1. Enter **Client ID** and **Client Secret** → click **Save Changes** (enables the helper).
2. Click the *"Click Here to Generate Token"* helper link.
3. Authorise the app with Zoho when prompted.
4. Copy the returned token, paste into **Refresh Token** → click **Save Changes**.

You only do this once. If you change your OAuth app or revoke access in Zoho, regenerate it with the same link. Full steps: [Zoho OAuth setup guide](/zoho-payments-whmcs/guides/zoho-oauth).

## Webhook Secret and URL

The **Webhook Secret** field also displays your **Webhook URL**:

```
https://yourdomain.com/modules/gateways/zohopayments/webhooks/paylink_webhook.php
```

Add that URL as a webhook in your Zoho Payments dashboard, subscribe it to the **Payment completed** and **Payment Link paid** events, then copy Zoho's secret back into this field.

::: warning Secrets must match
The Webhook Secret must match Zoho's secret exactly, and the endpoint must use valid SSL. If mismatched, webhook notifications fail and Payment Link invoices will not automatically update.
:::

## Verify

Set **Test Mode** to **Yes** and save. Run a test invoice through checkout to confirm the **Paid** status updates correctly. Once verified, set **Test Mode** to **No** (see [Going live guide](/zoho-payments-whmcs/guides/going-live)).

## Related pages

* [Settings reference](/zoho-payments-whmcs/settings) — every field with its default
* [Zoho OAuth setup](/zoho-payments-whmcs/guides/zoho-oauth) — create the app and refresh token
* [Widget checkout](/zoho-payments-whmcs/features/widget-checkout) — how customers pay
* [Installation](/zoho-payments-whmcs/installation) — the full setup sequence
* [Licensing](/zoho-payments-whmcs/licensing) — Leased vs Lifetime and your key
