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 8.X, 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


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

Copy files into the module directories

  • Upload the contents of /modules/registrars/openprovider from this repository to <your WHMCS directory>/modules/registrars/openprovider
  • Upload the contents of /includes/hooks/ to <your WHMCS directory>/includes/hooks
  • If you do not have the file <your WHMCS directory>/resources/domains/additionalfields.php then add the example version from resources/domains/additionalfields.php
    • Otherwise, add the following lines to the top of your additionalfields.php file. :
<?php
if (function_exists('openprovider_additional_fields')) $additionaldomainfields = openprovider_additional_fields();


Install Openprovider Addon module [Optional]

  • Upload <Module directory>/modules/addons/openprovider to <WHMCS directory>/modules/addons 
  • Activate Openprovider addon from Configuration >> System Settings >> Apps & Integrations >> Addon Modules 
  • Configure access permission (click Configure button) for groups and Save Changes.

Basic Configurations

  • Navigate to Configuration >> System Settings >> Domain Registrars and activate Openprovider.

Screenshot 2024-05-31 150913.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 in 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.

Optional and Advanced configurations

Lookup provider and domain name spinning

  • Click "change" to Choose Openprovider as the lookup provider Screenshot_20210203_180725 Screenshot_20210203_181056

  • Choose "configure" to select namespinning options

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

  • Navigate to the target client profile > Domains select the desired domain and under Management Tools activate "DNS Management".

DNSMGMT_WHMCS.png

  • The below option will appear in the domain details page of the chosen domain

Screenshot_20210203_183243

Notes:

  • If you experience any difficulty accessing the DNSSEC page, please check if file 'dnssec.php' exists in your WHMCS directory. If the file doesn't exist, please manually upload/copy the contents of <Module directory>/registrars/openprovider/custom-pages (dnssec.php file) to the top level of your WHMCS folder (i.e. <your WHMCS directory>/)
  • If you see the menu option as "dnssectabname" as shown in the screenshot below, copy the folder <Module directory>/lang/overrides to <your WHMCS directory>/lang/ folder.

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


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

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.

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

  • Open clientareadomaindetails.tpl in the template you are using and replace
{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.


Decide whether to use Openprovider Auto-renew

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


Custom DNS Templates

  • Create a custom DNS template in the Openprovider control panel (DNS management > Manage DNS templates),
  • Put the name of it in the advanced configuration file and any domain created with the Openprovider nameservers will have a DNS zone automatically created on Openprovider nameservers according to your DNS template.


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.

Was this article helpful?
Additional questions? Submit a request