Setting up WHMCS

1.Login to your WHMCS admin, navigate the menu to /SETUP/Products/Services/Servers
2.Click to add a new server and enter the details:

Name: Your desired server name IP address: Nameservers: Enter your desired nameservers eg. / Type: cpanel Username: The user API you received inside your reseller panel Access Hash: The API key you received inside your reseller panel Secure: Check


3.The API host name is : , the ip address to use is

Setup Servers

  1. Save changes.

4.Create a template for the free account welcome emails. Navigate to /SETUP/Email Templates/ Choose TYPE to be "Product" and enter a name in Unique Name, eg. Free Hosting Welcome

5.You can use the bellow template and adjust it as needed (replace with your own reseller domain!):

************************ Email Template Example ********************************************* Dear {$client_name},


Thank you for your order from us! Your hosting account will now be setup over the next 5 minutes and this email contains all the information you will need in order to begin using your account.

If you have requested a domain name during sign up, please keep in mind that your domain name will not be visible on the internet instantly. This process is called domain propagation and can take up to 48 hours. Until your domain has propagated, your website and email will not function, we have provided a temporary url which you may use to view your website and upload files in the meantime.

New Account Information

Hosting Package: {$service_product_name}
Domain: {$service_domain}
Billing Cycle: {$service_billing_cycle}

Login Details

Username: {$service_username}
Password: {$service_password}

Control Panel URL: http://cpanel.**

Server Information

Server Name: {$service_server_name}

If you are using an existing domain with your new hosting account, you will need to update the nameservers to point to the nameservers listed below.

Nameserver 1: {$service_ns1} ({$service_ns1_ip})
Nameserver 2: {$service_ns2} ({$service_ns2_ip}){if $service_ns3}
Nameserver 3: {$service_ns3} ({$service_ns3_ip}){/if}{if $service_ns4}
Nameserver 4: {$service_ns4} ({$service_ns4_ip}){/if}

Uploading Your Website

You may use one of the addresses given below manage your web site:
Cpanel URL: http://cpanel.**
FTP Hostname: ftp.**

And once your domain has propagated you may use the url below:

Webpage URL: http://www.{$service_domain}

************************ Email Template Example End ***********************************************************************

6.Next is to create the product inside your WHMCS. Navigate the menu to /SETUP/Products/Services/Products/Services

7.Create a new group if needed, then click on Create new Product and enter the details of the new service:

Details Tab Product Type: Hosting account Product Group: Your choosen group Product Name: Enter a name of your service, eg. Free
account Product Description: Simple description of the service Welcome
Email: The new Welcome email for the free service Require Domain:
Check this if you wish to allow doman registration
Pricing Tab Payment type: free
Module Settings Module name: cPanel WHM Package Name: Enter a name for a package Web Space Quota: Enter the disk quota per your free
reseller limits Bandwidth Limit: Enter bandwidth quota per your free
reseller limits Max FTP Accounts: 1 Max Email Accounts: None Max SQL
Databases: Enter SQL Databases quota per your free reseller limits Max
Subdomains: Enter Subdomains quota per your free reseller limits Max
Parked Domains: Enter Parked Domains quota per your free reseller
limits Max Addon Domains: Enter Addon Domains quota per your free
reseller limit Automatically setup the product as soon as an order is
placed: Check

The rest should remain the same.

8.Click save changes

Installing the reseller API Hook
1.Copy the file 'hook_subwhois.php' to the location:
Click here to download the hook file

2.(OPTIONAL) For more usability when removing the subdomain name from cart summary it is recommended to replace the bellow function:

function removeItem(type,num) {
        var response = confirm("{/literal}{$LANG.cartremoveitemconfirm}{literal}");
        if (response) {
                window.location = 'cart.php?a=remove&r='+type+'&i='+num;

with the bellow :

function removeItem(type,num) {
        var response = confirm('Press OK to choose a new subdomain or cancel to remain on view cart');
        if (response) {
        } else {

The file can be located inside:


You need to replace the code inside the default order form you've set in your whmcs admin section /SETUP/General Settings/Ordering tab

Alternatively you can download the order template bellow which should contain all customization above and is ready to be used:
Cpanel Api WHMCS order template

This needs to be untared using 7zip or similar applications and upload the content of the archive inside:

After you've uploaded the order template, you should be able to select it when creating the product group inside your WHMCS "Products/Services" section.
Note: This template is based on the pre-existing one, Comparison, in the Default templates from WHMCS.