WHMCS Domain Module - Install and configure Openprovider domain registrar module

In this article, you will find everything you need to install and configure the Openprovider module in WHMCS, so that you can automatically register extensions that also allow additional fields, such as .es domains, without manipulation.

WHMCS Domain Module

The WHMCS module for Openprovider conveniently interacts with your Openprovider account, enabling you to simplify certain domain provisioning and management functions, such as enrollment, renewal, deletion, and contact information changes.

The module keeps the expiration dates of the domain and auto-renew settings aligned between the installation of your WHMCS and Openprovider account, meaning that the same domains are renewed every day.

In addition, the module allows you to search for domain availability using the Openprovider API, enhancing performance over the default domain availability check.

Install and configure the Openprovider Module

Installation using script [Beta] 

curl -s https://raw.githubusercontent.com/openprovider/Openprovider-WHMCS-domains/refs/heads/master/scripts/install_openprovider.sh | /bin/bash -s

Manual Installation

Download the module package from: https://github.com/openprovider/Openprovider-WHMCS-domains/releases

Copy files into the module directories

<?php
if (function_exists('openprovider_additional_fields'))
    $additionaldomainfields = openprovider_additional_fields();


Install Openprovider Addon module [Optional]

Basic Configurations

embedded-image-8ndozfjy.png
  1. Enter the credentials for an API user. Ensure API access is enabled in the Openprovider Control Panel for the credentials you are using.
  2. Click Save.
  3. [This step is only required for module versions prior to 5.8.0]. Import TLD/domain prices via Openprovider API by running the modules/registrars/openprovider/cron/DownloadTldPrices.php script (either as a cron job or run the script from the terminal of the hosting server). Please refer to Import and sync TLD prices from Openprovider for detailed instructions.

  4. Navigate to Utilities > Registrar TLD Sync to select TLDs to import prices, configure margin, Automatic Registration, etc. For more details, please refer to Registrar TLD Sync.

    325563753-35739a5d-9bf5-44a8-97c2-9aa080e14f32.png
      
  5. Navigate to Configuration >> System Settings >> Domain Pricing and select Openprovider as registrar for the TLD that you want to sell via Openprovider Screenshot_20210203_180350

That's all you need to do to get started selling domains from Openprovider! Additional configurations can be found below.

Advanced configurations

Lookup provider and domain name spinning

Enable premium domains

First Make sure that the currency that you are using to pay Openprovider is configured in
Configuration >> System Settings >> Currencies (prior to WHMCS 8.0, Setup >> Payments >> Currencies) 
and click on Update Exchange Rate. Otherwise, WHMCS will not use the premium fee correctly, potentially meaning that your client will pay significantly less for the domain.

mceclip0.png

  1. Navigate to Configuration >> System Settings >> Domain Pricing
  2. Enable Support for premium domains
  3. Configure premium pricing and margins
  4. In the Advanced configuration file of the module (/modules/registrars/openprovider/configuration/advanced-module-configurations.php) find the parameter "OpenproviderPremium" and set it to true.

Allow additional DNS records

If you plan on allowing your end users to edit their own DNS records, and want them to be able to create all record types supported by Openprovider, you can make some modifications to the WHMCS templates as described here:


Allow end users to edit DNSSEC records

DNSMGMT_WHMCS.png
 

Screenshot_20210203_183243

Notes:

309657655-c4bf574c-2b2f-4367-bb6e-789578535564.png


Configure TLDs which don't allow locking (.nl, .eu, .es, etc.)

Note: This manual change is only required in versions before 5.9.0.

Not all TLDs allow domain locking, but WHMCS assumes that this option is available for all domains. As a result, end users will see a warning "Domain Currently Unlocked!" when they visit the domain details page.

embedded-image-n6w2pkla.png

You can hide this option with the following changes to your template files.

{if $lockstatus eq "unlocked"}

with

{$domainSplit = "."|explode:$domain}
{$domainTld = $domain|replace: $domainSplit.0 : ""}
{if $lockstatus eq "unlocked" && $domainTld != '.eu' && $domainTld != '.nl' && $domainTld != '.be'  && $domainTld != '.es'}


Configure tag management

Set up tag management to send custom emails to the end users of your resellers.

[DEPRECATED] Configure the Openprovider cron sync

This feature is deprecated since version 5.3 of the Openprovider domain module, and is not recommended for versions WHMCS 8+. We suggest that you use the WHMCS native domain sync and do not use the Openprovider custom sync for WHMCS 8 and higher.


Domain Renewals

Various options exist for managing domain renewals. A detailed explanation of your options can be found here.


Custom DNS Templates


Troubleshooting

If domain operations from WHMCS are not working or showing errors or any connectivity issues with Openprovider or API errors, the first troubleshooting step should be to enable module logging, reproduce the issue/error and review the System Module Debug Log.

 

Navigate to Configuration > System Logs > Module Log (before WHMCS 8.0, Utilities > Logs)​ and you can find the raw API commands being sent and received by your WHMCS modules. The responses should contain additional information about the problem and how it can be solved.

 

306894883-0769a7bc-ebbe-4724-b2a5-b99182a127f5.png

If you have the Openprovider addon installed and activated in your WHMCS, you should be able to download module and activity logs from Addons >> Openprovider >> click on the 'Download' button (After enabling module logs and reproducing the issue).

312725841-6dfd32cc-957b-4025-8309-c67ae4451051.png

For more details, please refer to WHMCS documentation: Troubleshooting Module Problems and System Logs

 

Important: Only enable module logging for troubleshooting or testing purposes. At all other times, make certain that you set Module Logging to Off.

FAQ

Common issues and solutions for them can be found here.


Revision #4
Created 2026-08-13 10:02:46 UTC by Sarath
Updated 2026-08-19 14:25:29 UTC by Sarath