WHMCS Integration

Navigation:  Billing Integration (Supported Systems) >

WHMCS Integration

Previous pageReturn to chapter overviewNext page

1. Go to http://repo.cloudlinux.com/kuberdock and download the latest available plugin version.


For example:




2. Unzip archive content into WHMCS root directory.


3. Go to WHMCS server console and synchronize time and date with KuberDock server by running the command:


ntpdate pool.ntp.org


You need to have NTPD installed to use this command. Use NTPD official documentation to install https://www.eecis.udel.edu/~mills/ntp/html/index.html.


Note. If KuberDock and WHMCS will have more than 15 minutes time difference, then it will cause an error for KuberDock user that will try to buy an application in KuberDock.


4. To add KuberDock instance, go to Setup, find Products/Services section and choose Servers.




Click Add New Server and fill in the proper fields:





4.1 In Add server section specify:


Name - preferred KuberDock instance name;

Hostname - leave blank;

IP Address - KuberDock master-server IP address.




4.2 In Server details section specify:


Type - choose KuberDock from drop-down menu;

Username - KuberDock master server administrator name;

Password - KuberDock master server administrator password.




4.3 Click Test Connection to check the validity of specified data. If you see Successful! message, then click Save Changes. If not, check your login and password accuracy.


4.4 Tick Secure checkbox to use secure https connection:




5. To add a group of servers go to Setup section, choose Products/Services and choose Servers. Click Create new group:




5.1 In Name field enter KuberDock.


Choose Fill Type by matching appropriate radio button - Add to the list full server or Fill active server until full then switch to the next least used.


In Selected Servers list choose a server that you just have added on the left side and click Add. When done, click Save changes.




6. Create Product Group. Go to Setup section, choose Products/Services and click Create Group. Enter the name of your group in Product Group Name field, choose Use Specific Template and tick KuberDock template from template list (or match your own template). When done, click Save changes.




7. Activate KuberDock Addon plugin in WHMCS. Go to Setup section and choose Addon modules. Find KuberDock addon and click Activate in front of it.




Then click Configure and match Full Administrator checkbox. When done, click Save changes.




8. Configure AutoAuth key in WHMCS to be used for single sign-on. You will need to add the following line to your WHMCS configuration.php file to define an AutoAuth key.

The value just needs to be a random sequence of letters and numbers:


$autoauthkey = "abcXYZ123";


Please, read this WHMCS documentation to create key http://docs.whmcs.com/AutoAuth and put in this field.


9. Restart your web-server (for example via command systemctl httpd restart in CentOS).


10. Go to KuberDock and log in as admin.Go to Settings, open Billing tab and choose WHMCS in Select your billing system field. Then paste URL to WHMCS in Link to WHMCS field and add WHMCS admin credential to WHMCS admin username and WHMCS admin password fields.


Finally, add AutoAuth key generated on step 8 to the Secret key for Single sign-on field in Settings, General.




Now WHMCS installation is completed with default KuberDock package (with three Kube Types included), which is already installed in KuberDock.


11. Set up currencies available for users when purchasing KuberDock packages. Go to Setup section, choose Payments and click Currencies. Fill the proper fields in Add Additional Currency section and click Add Currency.




You can add as much currencies as you need. Users will be able to choose currency when choosing a package.


Note that if you change default currency settingsb, then you need to edit each KuberDock product and just click Save changes to apply currency changes for the KuberDock products.


Note that when Configuring Packages and Configuring Kube Types, WHMCS default currency is used. To check which currency is default in Setting section choose Payments and click on Currencies - the one that doesn't contain delete icon in the end of the line is default.


default currencies


12. Go to Setup section, choose Automation Settings. Tick the checkboxes Enable Suspension and Enable Termination and specify the number of days after which KuberDock must suspend or terminate users` application. It is important to setup this section otherwise KuberDock will not terminate and suspend users pods after due date.




The KuberDock will do the following actions if suspend needed:


For PAYG packages.


If a user doesn't pay for the Pod after one day/or for the next month:


1. User status in KuberDock become 'suspended'.


2. Users` pod status become stopped with inability to start it.


3. WHMCS product status become 'suspended'.


For the Fixed Price package.


If a user doesn't pay for Pod on the first day/or for the next month:


1. Pod status become unpaid (means stopped) with inability to start it.


Also, tick proper checkboxes to let WHMCS send email notification to the user according to described cases.




That`s all you need to configure WHMCS integration with KuberDock. Now you should also set up resource limits, package prices (check step 3 of Configure Packages section) and price for each Kube Type (check step 2 in Configure Kube Types section).


You can also create additional packages and add Kube Types to them, to enable users purchase KuberDock.


Note that you need to set up payments gateway in WHMCS according to their documentation.