Skip to content

Zoho OAuth setup

This guide connects WHMCS to your Zoho Payments account. You'll create an OAuth application in the Zoho Developer Console, generate a refresh token, add your Account ID and Widget API Key, and set up the signed webhook. Work top to bottom — each step feeds the next.

Match your data centre first

Everything must be done in the same Zoho data centre as your account: India uses api-console.zoho.in, the US uses api-console.zoho.com. Pick the matching Data Center value (IN or US) in the gateway config and use the matching console throughout.

1. Create a server-based OAuth app

What you'll see

The Zoho Developer Console for your data centre, with an option to add a new client.

What to do

Create a Server-based Application. When it's created, note the Client ID and Client Secret — you'll need both in a moment. Add the redirect URI the console asks for so authorisation can complete.

Keep the console tab open

You'll come back here if you ever need to re-generate the refresh token or check the redirect URI.

2. Enter Client ID and Client Secret in WHMCS

What you'll see

The gateway config at Setup → Payment Gateways → Zoho Payments, with empty credential fields.

What to do

Paste the Client ID and Client Secret into their fields and click Save Changes. Saving first is required so the helper link in the next step can use them.

The gateway credential fields in WHMCSSetup → Payment Gateways → Zoho Payments

3. Generate the refresh token

What you'll see

A "Click Here to Generate Token" helper link in the gateway settings.

What to do

Click it, authorise the app with Zoho when prompted, and Zoho returns a refresh token. Paste that token into the Refresh Token field and Save Changes. From now on the gateway refreshes its access tokens automatically — you won't repeat this unless you revoke access in Zoho.

Token errors?

If token generation fails, double-check the Client ID / Client Secret, confirm the redirect URI is added in the Developer Console, and make sure the Data Center matches the console you used. Then generate the token again.

4. Add your Account ID and Widget API Key

What you'll see

The Account ID and Widget API Key fields in the gateway config.

What to do

Enter your Zoho Payments Account ID and the Widget API Key from the Zoho Developer Space. These initialise the checkout widget — if either is wrong, the widget won't load.

5. Set up the webhook

What you'll see

The webhook settings in your Zoho Payments dashboard, and the Webhook Secret field (which also shows your Webhook URL) in WHMCS.

What to do

In Zoho, add a webhook with:

  • Webhook URL:https://yourdomain.com/modules/gateways/zohopayments/webhooks/paylink_webhook.php
  • Events: Payment completed and Payment Link paid

Copy the webhook secret Zoho gives you into the Webhook Secret field in WHMCS and Save Changes. Full detail is on the Webhooks and Payment Links page.

You're connected

With the OAuth app, refresh token, Account ID, Widget API Key, and webhook all in place, turn on Test Mode and run a test payment. When it works end to end, follow the going live guide.

Documentation for the Relyweb app catalogue.