Getting Started

The first step in creating a module for WHMCS is determining which type of module you wish to create:

  • Provisioning Modules - Provisioning Modules, also referred to as Product or Server Modules, allow you to create modules to allow for the provisioning and management of products and services. Learn more

  • Addon Modules - Addon Modules allow you to create modules and extensions that provide client and/or admin area output and that are not directly linked to individual products and services. Learn more

  • Payment Gateway Modules - Gateway Module allow you to connect WHMCS with additional payment and credit card processors for processing and capturing payments. Payment gateway modules include:

    • Third Party Gateways — A customer leaves the site to pay and returns when the payment process completes.
    • Merchant Gateways — A customer enters credit card details without leaving WHMCS and payment is processed via an API.
    • Tokenised Gateways — Credit card details are entered either within or outside of WHMCS and a token is generated and stored for future billing needs.
  • Mail Provider Modules - Mail Provider Modules allow you to create modules to add custom mail providers within WHMCS. Learn more

  • Registrar Modules - Registrar Modules, also referred to as Domain Modules, allow you to create modules to allow for the registration and management of domains within WHMCS. Learn more

Sample modules demonstrating usage and functionality are made available for all types of modules via the WHMCS Github page.

  • Code Samples - We make sample code available for each of our module types via GitHub.
  • Style Guide - Recommended programming style and best practices for developing with WHMCS.
  • Module Class Autoloading — Enable automatic class loading in WHMCS modules.
  • Hooks Guide - Hooks allow you to execute your own code when events occur inside WHMCS.
  • API Guide - The API allows you to perform operations and actions within WHMCS.