Introduction
Modules directly shipped with WHMCS are maintained by the WHMCS Core Team. Bugs and Feature Requests have to be addressed via https://whmcs.com. It is possible to migrate to our Module Variant.
We are offering our custom module for WHMCS which covers more features than the natively integrated module would ever receive. In addition, this enables us to release more frequently. Therefore, we recommend using our custom variant instead.
Supported built-in WHMCS Features
Find below Features that can be integrated based on WHMCS Registrar Functions. Some of them are optional and historically joined WHMCS.
- Availability Check
- Domain
- Registration
- Renewal & Restore
- Transfer
- Release / Push (.uk, ...)
- Domain & Transfer Synchronisation
- Registrar Lock
- Private Nameservers
- Manage Domain Contact Information
- Get EPP/Auth Code
- Additional Fields
- TLD & Pricing Sync (aka. Registrar TLD Sync)
- Premium Domains
- IDNs
- DNSSEC
- DNS Management
- Email Forwarding
- ID Protection
Custom Features
Here, is where we are doing it better than our competitors. Some of the below features can be enabled or disabled in the Registrar Module Settings.
- Registrar Lock Menu Removal (e.g. .eu)
- Show Registrar System Connectivity Status
- Additional Domain Fields Extensions
- Validation on Checkout
System Requirements
In our system requirements, we recommend avoiding PHP versions that have reached their End of Life (EOL), as indicated in red on the PHP Supported Versions page.
We develop for the latest Version of WHMCS. In general WHMCS v8 is supported and PHP8. PHP7 reached EOL a longer while ago and we stopped officially supporting it. Still, the module might work with PHP7 but no warranty on that - trial and error though.
To ensure compatibility with WHMCS, please follow these steps:
- Check the supported PHP versions for your desired WHMCS version using our WHMCS/PHP Matrix.
- Determine the required IonCube Loader version for your WHMCS version from the WHMCS/IonCube Loader Matrix.
- Identify the compatible MySQL version for your chosen WHMCS version using the WHMCS/MySQL Matrix.
Ensure to have the below packages installed on your WHMCS Server:
- curl
- php-curl
Installation
To install our module please follow the belows steps:
- Download the latest version from here
- Extract the entire archive contents to your WHMCS installation’s root directory
- Login to WHMCS Admin area and activate the module.
- Fill in your API key and password, chose whether you want to use the live or the test environment and save. Ensure to use your testapi/testpass for API key/password in context of the test environment.
- PREMIUM DOMAINS: If you want to enable premium domains in whmcs, you need to make sure that you define an exchange rate between USD and your currency via WHMCS' Admin Area (navigate to System Settings → Currencies). Our module explicitly sets USD when checking the price for premium names and the USD price will be sent back to us when confirming the price for the premium name at registration time. Also you need to enable premium domains for your API KEY in your account in the reseller settings page (need to change “Allow premium domains operations” from NO to YES).
-
DOMAIN SYNCHRONIZATION: The Domain and Transfer Synchronization Feature is built-in in our Registrar Module. It cares for updating the expirydate and status of the domains processed. We highly recommend configuring WHMCS to also Sync the Invoice Next Due Data.
Check "System Settings → Automation Settings" and apply the settings to fit your needs. A good first start might be:
WHMCS picks 50 domains per Sync run (domains with status "Active", "Pending Transfer", "Pending Registration" only!). This list of domains will be sequentially synced and not in Bulk - that's how WHMCS is doing that.
Finally, getting all domains / a larger portfolio synchronized might take a while. WHMCS allows for a hourly frequency at max through its UI. Still, it is possible to invoke the WHMCS Sync Job manually and by that, you can shorten that frequency by adding such calls as cron job in addition to the WHMCS automation settings.
// Domain Sync only
php -q /var/www/html/whmcs/crons/cron.php do --DomainStatusSync -vvv
// Transfer Sync only
php -q /var/www/html/whmcs/crons/cron.php do --DomainTransferSync -vvv
You may combine the options even in one call and feel free to leave `-vvv` out which is just for a more verbose mode (the less 'v's, the lower the verbosity). In our opinion, the DomainTransferSync should run more frequently to get the status of Transfers processed more in-time and that's why we suggest separating that.
Find more Options / Details in the WHMCS System Cron Guide.
- Optional: We offer language files (Italian only for now) here. Please copy those files to the /lang/overrides folder of your WHMCS installation’s root directory. See below for details on adding your own.
- Optional: If you want to register .it, .fr, .be, etc., please configure your additional domain fields as explained below.
Additional Fields
WHMCS provides a way to define additional fields that are needed for some TLDs. We add those for our module via file /resources/domains/dist.additionalfields.php
. Add the below at the end of the file, if not yet present.
include(ROOTDIR."/modules/registrars/moniker/moniker_additionaldomainfields.php");
Unfortunately we do not yet have support for all TLDs that have additional fields in our WHMCS module but plan to add it in future releases. From the TLDs that require additional data we currently support: .co.uk, .org.uk, .me.uk, .uk, .eu, .be, .asia, .fr, .re, .pm, .tf, .wf, .yt, .it, .de, .nl, .tel, .us
NOTE
- If you want to offer .it domain names, please copy the file itterms.html (or itterms-it.html for the italian variant, please rename it then) to the root of your WHMCS installation. Find the files under
modules/registrars/moniker
. - The above way via
/resources/domains/dist.additionalfields.php
is not a recommended way, still suggested by our documentation since years. We will rewrite that mechanism to a future-safe way. Just a matter of time and priorities. Also, please keep in mind that you have to apply the current solution after each WHMCS upgrade again.
NEW: We ship with a built-in mechanism that checks for the above include statement to be present. It adds the line automatically if absent. That simplifies installation and upgrade efforts for you.
Localization support
Our module is in English, and we provide an Italian translation as well.
Find all the language files we offer here. The ones of interest please copy to /lang/overrides/
.
Notes
The price sync feature supports only the following currencies: USD, EUR, GBP, CAD, AUD and JPY. If your default currency is not one of the above then the prices are pulled from our API in USD and you need to define exchange rates between USD and your default currency in order to use this feature.