---
url: /zoho-payments-whmcs/installation.md
description: >-
  Install Zoho Payments for WHMCS end to end — upload the module, activate the
  gateway, enter your license and credentials, generate a refresh token,
  register the webhook, and test in test mode.
---

# Installation

Complete the installation of Zoho Payments for WHMCS: upload files, activate the gateway, enter credentials, generate an OAuth token, configure webhooks, and verify checkout.

**Prerequisites:** a server that meets the [Requirements](/zoho-payments-whmcs/requirements), a WHMCS admin account, your license key from relyweb.co, and a Zoho developer app — see the [Zoho OAuth setup guide](/zoho-payments-whmcs/guides/zoho-oauth).

## 1. Upload the module

Upload the module's `modules/` directory into your WHMCS root directory, preserving the folder structure:

* Places gateway files into `modules/gateways/`.
* Does not overwrite existing core WHMCS files.

::: tip Updating instead?
Overwrite the same files. See [Updating](/zoho-payments-whmcs/updating) for the manual-update flow.
:::

## 2. Activate the gateway

**Apps & Integrations → Zoho Payments → Activate.**

![Activating Zoho Payments from Apps & Integrations](/zoho-payments-whmcs/img/zoho-payments-whmcs-installation-activate.png)
*Apps & Integrations → Zoho Payments*

The gateway then appears under **Setup → Payment Gateways → Manage Existing Gateways**, where its configuration form opens.

## 3. Enter your license and credentials

**Setup → Payment Gateways → Zoho Payments** → fill the fields → **Save Changes**. See [Configuration](/zoho-payments-whmcs/configuration) for every field.

| Field | Source |
| --- | --- |
| **License Key** | relyweb.co — enables payment processing |
| **Account ID** | Zoho Payments account |
| **Widget API Key** | Zoho Developer Space |
| **Client ID** / **Client Secret** | OAuth app in the Zoho Developer Console |
| **Data Center** | **IN** (`.in`) or **US** (`.com`) — match your Zoho account |

## 4. Generate the refresh token

1. Click the *"Click Here to Generate Token"* helper link.
2. Authorise the app with Zoho when prompted.
3. Paste the returned token into **Refresh Token**.
4. Click **Save Changes**.

See the [Zoho OAuth setup guide](/zoho-payments-whmcs/guides/zoho-oauth) for full details.

## 5. Register the webhook

In your **Zoho Payments dashboard**, add a webhook pointing at your site:

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

Subscribe it to the **Payment completed** and **Payment Link paid** events, then copy the webhook **secret** into the gateway's **Webhook Secret** field and save.

::: warning HTTPS required
The webhook URL must be reachable over valid SSL. Without HTTPS, notifications won't arrive.
:::

## 6. Test in test mode

1. Set **Test Mode** to **Yes** and click **Save Changes**.
2. Open an invoice in the client area and click **Pay Now**.
3. Complete the payment in the widget modal.
4. Verify the invoice updates to **Paid** with recorded fees.
5. Switch **Test Mode** to **No** for production payments (see [Going live guide](/zoho-payments-whmcs/guides/going-live)).

## Related pages

* [Requirements](/zoho-payments-whmcs/requirements) — server and Zoho account
* [Configuration](/zoho-payments-whmcs/configuration) — every gateway field
* [Settings reference](/zoho-payments-whmcs/settings) — gateway defaults reference
* [Zoho OAuth setup](/zoho-payments-whmcs/guides/zoho-oauth) — app, refresh token, webhook
* [Widget checkout](/zoho-payments-whmcs/features/widget-checkout) — how customers pay
