This article provides a guide for how to integrate VPS Reseller with WHMCS. We will start by installing the WHMCS module for reselling VPS Servers. Follow the guide below to integrate VPS Reseller WHMCS module.

Whmcs marketplace

Getting Started with VPS Reseller with WHMCS

Please follow the below guidelines to configure your VPS Reseller with WHMCS integration.

Prerequisites

  • WHMCS installation
  • VPS Reseller account
  • WHMCS server has ports 4081-4085 open

Install WHMCS VPS Module

  1. Download and extract the WHMCS integration [HERE].
  2. Copy the entire directory via FTP, SFTP, SCP, etc. to /<WHMCS_PATH>/modules/servers/virtualizor_cloud/

Get API Credentials

  1. A VPS Reseller Welcome Email was sent with the required API Credentials after payment confirmation.
  2. In case you do not have this email, you can view it in your Rad Web Hosting client dashboard.
  3. Login to Rad Web Hosting client dashboard.
  4. Retrieve API key and Secret from VPS Reseller Welcome Email (Subject: “Your VPS Reseller Account is Deployed”). View guide: Viewing Email History in Hosting Dashboard
  5. Copy the API key pair credentials (these will be needed to configure WHMCS server connection).Copy api key pair

Create Server in WHMCS Admin

  1. Login to your WHMCS admin area.
  2. From WHMCS Admin > Setup > Apps & Integrations > Browse > Provisioning
    1. Select “Apps & Integrations” from Configuration Menu Items
      Select 'apps & integrations' from configuration menu items
    2. Choose “Browse” Option
      Click 'browse' button
    3. Choose “Provisioning” category
      Choose 'provisioning' category
    4. Click the “VPS Reseller Module”
      Choose 'vps reseller module'
    5. Viewing VPS Reseller Module Application Details
      Whmcs vps reseller module
  3. Click “Add New Server”. Follow directions:
    1. Module: Virtualizor_cloud
    2. Hostname of IP Address: IP Address (provided in Welcome Email)
    3. Username: API KEY (provided in Welcome Email)
    4. Password: API SECRET (provided in Welcome Email)

    Whmcs vps reseller module

  4. Click “Test Connection” to validate configuration
  5. Click “Add Server” to add this server to WHMCS
    Configure server in whmcs - advanced mode

Create Product

  1. Navigate to Setup > Products/Services > Products/Services.
  2. Select “Create a new Product
    1. Product Type: Server/VPS
    2. Product Group: Any
    3. Product Name: Any

    Configure whmcs product

  3. Click “Continue” to Add product and access Product Settings
  4. Go to “Module Settings” tab and enter the following details:
    1. Module: Virtualizor_cloud
    2. Required Module Settings: these settings must be set with the following values (or provisioning automation will fail)
      1. Type: KVM
      2. Burstable RAM: (empty)
      3. VNC: (Tick Box) Yes
      4. IPv6: 0
      5. Region: auto
        Configure product module settings
    3. Configure Module Settings: These fields should be configured as per your desired product values
      1. Disk Space: integer (in GB)
      2. Guaranteed RAM: integer (in MB)
      3. SWAP RAM: integer (in MB)
      4. Bandwidth: integer (in GB)
      5. CPU Cores: integer
      6. IPs: integer
      7. IPv6 Subnets: integer
      8. Select “Automatically setup the product as soon as the first payment is received” (for automated provisioning workflow)
  5. Go to “Custom Fields” tab and create required Custom Fields:
    1. Field Name: vpsid
      1. Field Type: Text Box
      2. Description: The ID of the server from VPS Panel. 
      3. Validation: (empty)
      4. Check Admin Only tick box.
    2. Field Name: OS or OS|Operating System
      1. Field Type: Drop Down
      2. Description
      3. Validation: (empty)
      4. Select Options: (Comma-separated values of OS template file names-remove “.img” file extension) – Click here to get available OS templates
        1. Example values: centos-7.1-x86_64,debian-10-x86_64,ubuntu-18.04-x86_64
      5. Check Required Field and Show on Order Form tick boxes.

Product custom fields

Optional WHMCS Integration Customization

Create new VPS welcome email template. We have provided a custom email template to use for sending VPS server credentials to end-user when VPS is provisioned (created). This template will utilize merge fields and organize important server details better than the default “VPS/Dedicated Server Welcome Email” template  that is provided with WHMCS.

How to add custom Welcome Email template:

  1. In WHMCS admin area, navigate to “Setup->Email Templates”
  2. Choose to “Create New Email Template”
  3. Select “Product/Service” from the “Email Type” drop-down menu and give the template a unique name
    Create custom vps welcome email template
  4. Configure the email sending settings
  5. Add a subject for your email (i.e. “New VPS Server Details”)
  6. To import our pre-made template, click “Enable/Disable Rich-Text Editor” button
  7. Copy and paste the email template from below:

Dear {$client_name},

PLEASE PRINT THIS MESSAGE FOR YOUR RECORDS – PLEASE READ THIS EMAIL IN FULL.

We are pleased to inform you that the virtual machine you ordered has been set up.

Manager Details
=============================

URL: https://{$service_server_hostname}:4083
Username: {$service_username}
Password: {$service_password}

Server Details
=============================

{$service_product_name}

ServerName: {$service_domain}
Main IP: {$service_dedicated_ip}
Root pass: {$service_password}
{if $service_assigned_ips} IP Address Allotted: {$service_assigned_ips} {/if}

Client Area
=============================

Manage Service from Client Area: Click Here

You can access your server over SSH. If you are a Windows user, you can use a free SSH client called Putty which can be downloaded from:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

=============================

{$signature}

This is a basic template layout and you can customize or add additional details, if desired.

WHMCS Product Configuration Tips

In order to enable automated provisioning, the product must be configured with a valid “Operating System” value. This value can be configured with either a product Custom Field or Configurable Option. With either method, it is possible to declare the Operating System value from the Order Form during product configuration (client makes selection during checkout process).

We recommend using the Configurable Option method to declare the Operating System value, as future modifications (such as availability of new OS template) are simpler.

Values for available OS templates

Rad Web Hosting keeps a public list of available KVM OS templates in the Knowledgebase, at: VPS Guides -> List of Available OS Templates

The highlighted values from the “Name” column (shown in the below image) are the API-acceptable values for operating system templates. For example, “centos-8.2-x86_64” or “ubuntu-18.04-x86_64” (without parenthesis) would be the correct values required by the API.

List of available os templates

Create Operating System selection via Product Configurable Options

Using Configurable Options to configure order form Operating System selection is more extensible and easier to manage from an administrative perspective if you plan to offer multiple VPS products. The Product Custom Fields OS selection values are assigned directly to each individual product, and thus require more efforts to make a change to the OS selector, like adding a new operating system template. With custom fields OS method, the simple addition of 1 new template requires manual modification of each product’s custom fields.

With Operating System Configurable Options implementation, a single Configurable Option can be assigned to multiple products, and an update to the Configurable Option values automatically applies to all assigned products. In this type of situation, Configurable Options can provide the same results while also reducing the number of database entries written and reduces administrative work when changes are needed.

Follow the steps to add Operating System selection via Product Configurable Options:

  1. Create new Configurable Options group
  2. Add new Configurable Option named “Operating System” (exact name required)
  3. Select “Drop-Down” from the Format options
  4. For each Operating System template option you wish to offer, enter the value exactly as it appears in the “Name” field from the table provided in the List of Available OS Templates (as described above)
  5. Assign the Configurable Options group to VPS products by selecting the Product Names from the products list provided in Configurable Options group settings.

Now, the list of OS templates will be presented to client at checkout when a VPS product is added to the Shopping Cart.

For complete details on creating Configurable Options, please refer to this article from WHMCS.

Optional Configurable Options

The WHMCS VPS Reseller module also supports the following Configurable Options:

  • Number of IPs – number of IPv4 to add to VPS (Integer)
  • Space – amount of disk storage to assign VPS (Integer-in GB)
  • RAM – amount of physical memory to assign VPS (Integer-in MB)
  • CPU Cores – number of CPU Cores assigned to VPS (Integer)
  • Operating System – selection for KVM template image file to install operating system (name-version-architecture-without “.img” file extension: i..e. “ubuntu-18.04-x86_64”)

Values configured by Configurable Options take precedence over Product “Module Settings” and “Custom Fields”. For example, if the “RAM” configurable option is provided, this value would be used rather than the value assigned by “Guaranteed RAM” value in “Module Settings”.

Bulk Custom Field SQL Query Manipulation

NOTE: Use extreme caution when querying the database directly and always make a full backup before making any changes.

In case you have opted to configure the OS template selection via Custom Fields, adding, removing, or modifying OS template options across multiple product IDs can be accomplished via SQL query with UPDATE applied to tblcustomfields table in WHMCS database. The easiest way to accomplish this would be to utilize a database tool like phpMyAdmin.

    1. Login to your server’s phpMyAdmin interface and navigate to the WHMCS database.
    2. In the database-related menu, find “SQL” tab and access it.
    3. Enter the following query (substituting the appropriate values for your usage):
      UPDATE tblcustomfields
      SET fieldoptions = 'none,centos-5.11-x86_64,centos-6.10-x86_64,centos-7.1-x86_64,centos-7.7-x86_64,centos-8-stream-x86_64-minimal-latest.gz,centos-8-x86_64-minimal-latest.gz,debian-10-x86_64,debian-6.0-x86_64,debian-7.8-x86_64,debian-8.7-x86_64,debian-9.4-x86_64,fedora-13-x86_64,fedora-15-x86_64,fedora-16-x86_64,fedora-17-x86_64,fedora-18-x86_64,fedora-19-x86_64,fedora-20-x86_64,fedora-21-x86_64,fedora-27-x86_64,fedora-linux-fedora-server-30-x86_64-minimal-latest.gz,scientific-6.6-x86_64,scientific-7.4-x86_64,suse-11.3-x86_64,suse-12.3-x86_64,suse-13.1-x86_64,ubuntu-12.04-x86_64,ubuntu-13.04-x86_64,ubuntu-14.04-x86_64,ubuntu-15.04-x86_64,ubuntu-16.04-x86_64,ubuntu-17-10-x86_64,ubuntu-18.04-x86_64,ubuntu-18.10-x86_64,ubuntu-19.04-x86_64,webuzo-centos-7.5-x86_64,webuzo-ubuntu-16.04-x86_64'
      WHERE
      tblcustomfields.fieldname = 'OS|Operating System'
    4. Verify the update by navigating to an affected VPS product URL in the WHMCS cart front-end. Check the “OS” custom field drop-down values to ensure the database query successfully updated the options.

Client Area Features

Vps reseller end-user client area product details

WHMCS Admin Product Management

Whmcs admin product management

Where to Download WHMCS VPS Reseller

The latest version of WHMCS VPS Reseller module can be downloaded from multiple third-parties.

Currently, the following Marketplaces/Repositories are confirmed to support the latest updates:

Download whmcs vps reseller on whmcs marketplace
Download whmcs vps reseller on programmableweb
Download whmcs vps reseller on sourceforge

 

 

 

For any issues with installation, please open a support ticket.

1.0 from 30 reviews
Ratings and reviews
  • 1.0 from 30 reviews
1.0 from 10 reviews
Ratings and reviews
  • 1.0 from 10 reviews
Avatar of editorial staff

Editorial Staff

Rad Web Hosting is a leading provider of web hosting, Cloud VPS, and Dedicated Servers in Dallas, TX and Phoenix, AZ.
lg