This project is not covered by Drupal’s security advisory policy.

The Zoho Billing module provides a reusable integration between Drupal and the Zoho Billing platform. It enables Drupal applications to securely communicate with Zoho Billing APIs for managing customers, subscriptions, invoices, products, plans, add-ons, and billing events.

The module is designed as a generic integration layer rather than being tied to a specific Drupal content model or business workflow. Other custom or contributed modules can use the provided Drupal services and events to build subscription management, membership, e-commerce, SaaS billing, customer portals, and other billing-related functionality.

Features

* OAuth 2.0 authentication with automatic access-token refresh
* Support for multiple Zoho data centers
* Zoho Billing organization configuration
* Reusable Drupal API client
* Customer management
* Subscription management
* Invoice management
* Product management
* Plan management
* Add-on management
* Billing Events API integration
* Webhook endpoint for receiving Zoho Billing events
* Webhook signature verification
* Drupal event dispatching for webhook events
* Optional integration with the Drupal Key module for secure storage of OAuth and webhook secrets
* Configurable administration interface
* Dependency-injection-based service architecture
* Automated unit and functional tests

Extensible Integration Architecture

The module exposes reusable Drupal services that developers can use from custom or contributed modules to interact with Zoho Billing.

For example:

$customers = \Drupal::service('zoho_billing.customers');

$customer = $customers->get($customer_id);

Similar services are available for subscriptions, invoices, products, plans, add-ons, and events.

The module also converts incoming Zoho Billing webhook notifications into Drupal events. This allows other modules to react to billing activity without modifying the Zoho Billing module itself.

This architecture can support integrations such as:

  • Drupal user and Zoho customer synchronization
  • Subscription-based memberships
  • SaaS subscription management
  • Customer self-service portals
  • Invoice and payment workflows
  • Drupal Commerce integrations
  • Subscription activation and cancellation workflows
  • Custom CRM and business-process integrations

Security

Zoho Billing authentication is handled using OAuth 2.0, including automatic access-token renewal.

For production installations, integration with the Drupal **Key** module is recommended for securely managing the Zoho OAuth Client Secret and webhook signing secret without storing sensitive credentials directly in exported Drupal configuration.

Incoming webhooks can also be validated using signature verification before the associated Drupal events are dispatched.

Requirements

* Drupal 10.3 or later
* Drupal 11
* PHP 8.1 or later
* A Zoho Billing account
* Zoho OAuth API credentials

The Drupal Key module is optional but recommended for production environments.

Use Cases

Zoho Billing can be used as the billing backend while Drupal provides the customer-facing digital experience. Typical implementations include subscription websites, SaaS platforms, membership portals, recurring billing applications, customer dashboards, and custom enterprise applications requiring integration between Drupal and Zoho Billing.

Project Goals

The goal of this module is to provide a common, maintainable Drupal integration layer for Zoho Billing so that individual Drupal projects do not need to independently implement OAuth authentication, API communication, token management, webhook validation, and core Zoho Billing operations.

Project-specific business logic can then be implemented in separate modules while relying on **Zoho Billing** as the common integration foundation.

Supporting organizations: 

Project information

Releases