---
url: /relypay-whmcs/guides/zoho.md
description: >-
  Set up Zoho Payments in RelyPay for WHMCS — enter your account and OAuth
  credentials, pick the right data center, register the webhook, and test the
  connection.
---

# Connect Zoho Payments

Zoho Payments covers UPI, Cards and Net Banking across multiple regional data centres.
Connecting it takes a few more credentials than the other providers because it uses OAuth.
Set it up on the **Addons → RelyPay → Providers** page.

![The Zoho Payments configuration card in RelyPay](/relypay-whmcs/img/relypay-zoho-config.png)
*Addons → RelyPay → Providers → Zoho Payments*

## Credentials you will need

On the Zoho Payments card, fill in these fields exactly:

| Field | Where to find it |
| --- | --- |
| **Account ID** | From Zoho Payments Dashboard |
| **API Key** | From Zoho Payments → Settings → API Keys |
| **OAuth Client ID** | From Zoho API Console (Self Client) |
| **Client Secret** | From Zoho API Console |
| **Refresh Token** | Generated via OAuth flow |
| **Webhook Secret** | For webhook verification |

Create a **Self Client** in the Zoho API Console to get the **OAuth Client ID** and
**Client Secret**, then complete the OAuth flow to generate the **Refresh Token**. The
**Account ID** and **API Key** come from your Zoho Payments dashboard.

## Data Center

* **Data Center** — choose the region your Zoho account lives in:
  **India (.in)**, **US (.com)**, **EU (.eu)** or **Australia (.com.au)**.

::: warning Pick the correct data center
Zoho accounts are region-specific. Choosing the wrong data center will make authentication
fail even when every other credential is correct. Match it to the domain you use to sign in
to Zoho.
:::

## Options

* **Test Mode** — toggle. *Enable for sandbox testing.* Use this while trialing the
  integration, and disable it for live payments.

## Register the webhook

1. On the Zoho card in RelyPay, copy the **webhook URL** shown.
2. In the Zoho Payments dashboard, add that URL as your webhook endpoint and set a secret
   that matches the **Webhook Secret** you entered in RelyPay.
3. Subscribe to these events:

| Event | Required? |
| --- | --- |
| `payment.succeeded` | Required |
| `payment.failed` | Required |

::: warning SSL and webhook secret required
The webhook URL must be HTTPS, and the **Webhook Secret** must be set — without it RelyPay
cannot verify the signature and will reject callbacks with a *"Webhook secret not
configured"* notice in the activity log.
:::

## Test it

1. Click **Test Connection** on the Zoho card to confirm your credentials and data center
   are correct.
2. Enable Zoho Payments and save.
3. Place a test payment through a RelyPay [sub-gateway](/relypay-whmcs/features/sub-gateways)
   that Zoho can serve, and confirm the result appears in the
   [transaction log](/relypay-whmcs/features/transactions) with **Zoho** as the provider.

## Related

* [Configuration overview](/relypay-whmcs/configuration)
* [Routing](/relypay-whmcs/features/routing)
