RCM - Resellerclub Mods

Howto install R.G.S.Provisioning Module V3

RGSPM - ResellerClub G Suite Provisioning Module
Release Date
Latest Version

EOL (Deprecated)

We strongly recommend to update to the new v4 Module Series: Google Suite Provisioning Module v4

Would you like to have it installed by us? - Order installation service for this module here

Document Version: 1.2 - 05-07-2017

Step 1

Resellerclub Mods Management Core Console (Addon)


All our products requires the Resellerclub Mods Management Core Console Addon. Download the Addon from the product license details page TAB "Download" and install first this Addon.

If already installed, make sure you run version v1.4.7 or greater.

Visit the install instructions for the ResellerClub Mods Management Core Console Addon if you havent the Addon installed/updated. Once installed/updated and configured your reseller credentials as well as the product license, go ahead with the Module Installation in STEP 2.

Step 2

Upload files and folders


Download RGSPM - ResellerClub Google Suite Provisioning Module from the product license details page TAB "Download". Unzip the file with your prefered decompresion software. Please read carefully all the steps in this document. You should not skip any steps provided.

The following instruction explains where you have to upload folder and files:

  1. Server Module
    Upload the folder "modules" into your whmcsroot/ folder

You are now ready for setup the Google Suite Services!

Step 3

Email Template Setup


A standard default welcome email named as "RGSPM - Google Suite Welcome Email" will be automatically installed in Setup » Email Templates once you configure your first Google Suite Product.

Setup a Google Suite Product in WHMCS


The following instruction explains how you have to setup a product in WHMCS. Most of users are yet familiar with this step. However, we strongly recommend to follow each of the steps provided below to assure correct setup. All steps are examples and based on the Google Suite GBL - WW Accounts Product setup.

IMPORTANT! Please read carefully before you start with the Product Setup!

The Google Suite Service Setup is slightly different than for other Hosting Products. In your Reseller Account there are 3 Geo Locations for the Google Suite: "India", "Southeast Asia & Egypt" and "Rest of the World". Each Geo Location has 4 Product PRICING Slabs: "Personal", "Starter", "Business" and "Enterprise" and each Product PRICING Slab can have multiple Billing cycles, One, Three, Six and Twelve Months. All selling/buying prices are for Only ONE Email Account. Based on how many Email accounts you buy or sell using OrderBox Supersite, the prices can change.

Unfortunately you can not sell a product or configurable options based on a billing cycle and at the same time with different prices for a lower or higher quantity of Email accounts. This is not supported in WHMCS.

WHMCS only supports One Selling Price per Billing Cycle and you can set up selling prices for only one Email account each billing cycle.

With the Google Suite Product purchase you are offering by default only "one Email account" included in the Base product. Additional Email accounts are offered through "Configurable Options" during the order process or later from the Client Area.

REMBER: You need to setup only 3 Products: "Google Suite GBL - (Rest of the World)", "Google Suite IN (India)" and "Google Suite SE (Southeast Asia & Egypt)". Each Product will have only one Email account by default included and therefore the selling price for the Base Product is for only one Email Account. All additional Email accounts must be setup with Configurable Options explained in TAB "Step 4".


Product Group setup


  1. You may create a new global product group for Google Suite Services or reuse any created Product Group of your choice. Goto Setup » Products/Services and click "Create a New Group". Set a Product Group Name, for example "Google Suite " and click the button "Create Group".

    Product Group setup

Google Suite Product Setup


  1. Goto Setup » Products/Services, click "Create a New Product", select product type "Hosting Account" and select the group you just created in the above step. Name the product, for example "Google Suite Rest of the World" and then click "Continue".

    MANDATORY: Product Type must be set to "Hosting Account"

    Hosting Product setup

  2. You are now on the "Edit Product" page. Clic the TAB "Module Settings" and select the Module Name called "Rcmodgooglesuite". This will load the module configuration:

    Module Settings OpenXchange Hosting Product setup

    Before anything else, select first the LogicBoxes Registrar you have previously configured in the Resellerclub Mods Console Addon (TAB Step 1) and then click the button "Save Changes".

    Select LogicBoxes Registrar

    Now you should see that the module has found "your reseller account credentials" and the API connection has been established successfully. If the API connection has been successfully established, then proceed with the configuration steps below to setup the module for this product, otherwise check your Reseller Account settings in Addons » "ResellerClub Mods Console":

    Google Suite Module Settings

  3. Select the "Google Suite Product" from the dropdown menu the module has detect in your Reseller account. In this example we use the "Google Suite GBL - WW Accounts".

  4. Set if you like, other colors for the messages or just leave blank to use the standard values.

  5. The Dashboard check box allows "deactivating" the Management Dashboard in the Client Area. If you do not want allow Customers to manage the Service, then you can activate the checkbox and the Dashboard will not be displayed.

  6. Dashboard Style: Accordingly to your WHMCS design, you can select the apropiate built-in Dashboard design. If you use a custom theme and any of the provided built-in style does not match your theme, then you may have a look at TAB "EXPERT" to learn how you can create easly your own Dashboard design to fit your custom theme.
    • Dashboard Style five for WHMCS template style "five"
    • Dashboard Style six for WHMCS template style "six"

  7. Select "Automatically setup the product as soon as the first payment is received". This adds an Order immediately into your Reseller account when a customer pays the invoice and if you have sufficient funds available. This is the recommended setup for full automated provisioning.

  8. Click now the "Details" tab from where you can see the Product Type, Product Group and the Product Name. Create a product description for the Google Suite Product, select the "RGSPM - Google Suite Welcome Email" from the "Welcome Email Dropdownlist" and activate the option "Require Domain" . All other options as per your needs:

    Details Google Suite Product setup

  9. Click now the "Custom Fields" tab to create the "Transfer Token" field as per the image below. This will allow customers to transfer their current Google Suite plan to you with the initial purchase process:

    Create Custom field

  10. Click now the "Upgrade" tab and tick the checkbox "Configurable Options " but do not select any of products from the Packages Upgrade menu:

    Activate Configurable Options

  11. Under the "Pricing" tab select Payment type "Recurring" and setup your selling prices for "Monthly", "Quarterly", "Semi-Annually" and "Annually". For the Biennially and Triennially slabs set the value to -1.00 which means "not available and not supported" or simply untick the check boxes.

    NOTE: Make sure you have activated all the pricing/billing slabs for the product in your reseller account!

    TIP! You only need to set the selling prices for the default currency. All other currencies can be updated automatically using the whmcs built-in function "Update Product Prices" from Setup » Payment » Currencies:

    Pricing Google Suite Product

  12. Finally click the "Save Changes" and "Back to Product List" button from where you will see the created product:

    Product Overview

Repeat the "Google Suite Product Setup" Steps above and create the Google Suite Products for "Southeast Asia & Egypt" and "India".

TIP! Use the "Duplicate Product" option and simply adjust the duplicated product details, selling prices and select the appropriate product plan from the dropdownlist "Hosting Plan".

When finished with the "Google Suite Product Setup", proceed to the "Configurable Options" from STEP 4 in this document.

Step 4

Configurable Options for Additional Google Suite Email Accounts


The next step is setting up configurable options to offer additional Email Accounts. Additional Email Accounts can be added to the Base Product during the order process or later from the Client Area using the Upgrade/Downgrade built-in feature from WHMCS. This setup is mandatory and you need to setup the configurable options even if you would not offer to sell these Addons. However, you can use the hide option to stop the selling of additional email accounts.

REMEMBER: The 3 Google Suite Services you have setup are the base products which includes only one Email Account. You need to create now for each Geo located Google Suite service a new Configurable option Group to offer additional Email Accounts. The Configurable options will offer the possibility to add more accounts when a customer buys the service or when the customer later need more Email accounts:


  1. Goto Setup » Configurable Options and click "Create a new Group".

    Configurable Options Group

  2. You will see in the menu field "Assigned Products (3)" the Google Suite Products you have created in Step 3 "PRODUCT SETUP". Insert a "Group name (1)", for example "RCM Google Suite GBL" and insert a "Description (2)", e.g. "Additonal Email Accounts (Google Suite GBL Email)".

  3. Select the correct Google Suite Service you have created from the "Assigned Products" Menu.

  4. Click the "Save Changes (4)" Button and hold on until you see the "Add new Configurable Option" Button with a new empty table as shown below:

    Manage Configurable Options for Email Accounts

  5. Click the button "Add New Configurable Option (5)". This opens a new window for setup prices and other options.

    Setup Configurable Options for Email Accounts

  6. Insert under "Option Name (6)" for example: Additional Email Accounts. From the "Option Type (7)" dropdown select "Quantity". Under "Add Option (8)" insert, for example Qty. Then Simply click the button "Save Changes (9)" and you will see the pricing tables below:

    TIP! You only need to set the selling prices for the default currency. All other currencies can be updated automatically using the whmcs built-in function "Update Product Prices" from Setup » Payment » Currencies:

    Pricing for Email Accounts

  7. Setup your "Selling Prices (10)" according the billing cycle product setup Monthly, Quarterly, Semi-Annually and Annually. For Biennial and Triennial set the value 0.00.

  8. Click the "Save Changes (11)" and then the "Close Window (12)" Button. This creates automatically a new entry in the table as shown below:

    Overview Configurable Options

Click "Save Changes (13)" and then the "Back to Groups List (14)" Button.

Repeat the "Configurable Options for Additional Google Suite Email Accounts" Steps above and create the Google Suite Configurable Options for "Southeast Asia & Egypt" and "India".

TIP! Use the "Duplicate a Group" option and simply adjust the Group Name and Group description, select the corresponding Product from the Menu list "Assigned Products" "and adjust your selling prices.

Your Google Suite Setup with Configurable Options is now completely done and you can start selling the services. Optionally, you may have a look at the tab's "TEMPLATE" and "EXPERT" to learn more about styling and customizing your own Dashboard.


Dashboard Setup


There is no special setup needed for implementing the Google Suite Management Dashboard. It will be displayed based on the style settings and automatically if not deactivated in the Product Setup tab "Module Settings".

Google Suite Admin Account Dashboard

If the Dashboard is not displayed on the client area details page for the product even if you haven't deactivated the same, then you have to check if the smarty variable {$moduleclientarea} is present in your customized clientareaproductdetails.tpl template file.


Customizing Dashboard


The R.G.S.Provisioning Module allows you to offer your own and fully customized Management Dashboard. The following smarty variables are available to build your own dashboard for your customized template design.

The following smarty variables are available:

  • {$domainid} = The Product Domain ID (string)
  • {gsuite_setup} = Admin Account pending setup (value = 1) or Admin Account has been setup (value = 2)
  • {gsuite_adminpending} = Status message for the Admin Account, eg. WAITING_FOR_ADMIN_DETAILS (string)
  • {$gsuite_url} = URL to the Google Suite Admin Account (string)
  • {$gsuite_orderid} = The Google Suite Order ID (string)
  • {$gsuite_emailalias} = Email Alias for the domain (string)
  • {$gsuite_emailpass} = Email Password (string)
  • {$gsuite_firstname} = Admin First Name (string)
  • {$gsuite_lastname} = Admin Last Name (string)
  • {$gsuite_alternatemail} = Alternate Email Address (string)
  • {$gsuite_fullname} = Client Full Name(string)
  • {$gsuite_company} = Client Company Name (string)
  • {$gsuite_zipcode} = Client Zipcode (string)
  • {$gsuite_details} = All Google suite details (array)
  • {$buy_more} = Direct link to buy more accounts (string)
  • {$rc_status} = Service Status (string)
  • {$rc_mailnum} = Total Number of Accounts (Integer)
  • {$api_resultmessage} = Api response message (string)
  • {$no_addon_links} = If Addon links are set to be exposed or not. Empty if enabled and "on" if disabled (string)
  • {$active_color} = Font Color for status message "Active" as HEX value (string)
  • {$suspend_color} = Font Color for status message "Suspended" as HEX value (string)
  • {$inactive_color} = Font Color for status message "InActive and Pending " as HEX value (string)
  • {$module} = Identifies the name of the module: rcmodgooglesuite (string)

Howto Style your own Dashboard


  1. Create an empty file with your html editor or any text file editor such as notepad and add your customized html code. A valid Complete Code Example is available below.

  2. Save the file as clientarea.tpl and upload it into the /whmcsroot/modules/servers/rcmodgooglesuite/ folder

  3. Goto to the Products Setup TAB "Module Settings" for each Google Suite Product and deactivate the Built-in Dashboard

Complete Code Example


 * RCM Google Suite Provisioning Dashboard Template
 * @package		Resellerclub Mods (gIF)
 * @author		Resellerclub Mods contact[at]resellerclub-mods.com
 * @copyright	Copyright (c) resellerclub-mods.com 2011-2017
 * @license		http://www.resellerclub-mods.com/en/terms-of-service/eula.html
 * @link		http://www.resellerclub-mods.com/
 * @version		v3.12.0

<div align="center">
	{if $rc_status eq "Active"}
				<td style="width:50%;"><h4>{$LANG.rcgsp_statustitle}</h4></td>
				<td style="width:50%;">
					<span style="font-weight:bold;color:{if $active_color}{$active_color}{else}#006600{/if};">{$rc_status}</span>
				<td>{$rc_mailnum}{if $no_addon_links neq "on"} {$buy_more}{/if}</td>
				<td colspan="2">
					<br /><br />
					{if $gsuite_setup eq "1"}
						<div class="alert alert-warning">{$api_resultmessage}</div>
					{elseif $gsuite_setup eq "2"}
						<div class="alert alert-success">{$api_resultmessage}</div>

					{if $gsuite_adminpending eq "WAITING_FOR_ADMIN_DETAILS"}
						<p><strong>{$LANG.rcgsp_adminaccountsetup1}</strong><br />{$LANG.rcgsp_adminaccountsetup2}</p>
						<form action="clientarea.php?action=productdetails&id={$domainid}" method="post">
							<div class="input-group" style="min-width:300px;">
								<span class="input-group-addon">{$LANG.rcgsp_emailaliaslabel}</span>
								<input name="gsuite-email-address" value="{$gsuite_emailalias}" class="form-control" type="text">
								<span class="input-group-addon">@{$domain}</span>
							<br />

							<div class="input-group">
								<span class="input-group-addon">{$LANG.rcgsp_emailpasswordlabel}</span>
								<input name="gsuite-password" value="{$gsuite_emailpass}" class="form-control" type="text">
							<br />

							<div class="input-group">
								<span class="input-group-addon">{$LANG.rcgsp_adminaccountfirstname}</span>
								<input name="gsuite-first-name" value="{$gsuite_firstname}" class="form-control" type="text">
							<br />

							<div class="input-group">
								<span class="input-group-addon">{$LANG.rcgsp_adminaccountlastname}</span>
								<input name="gsuite-last-name" value="{$gsuite_lastname}" class="form-control" type="text">
							<br />

							<div class="input-group">
							  <span class="input-group-addon">{$LANG.rcgsp_clientalternatemail}</span>
							  <input name="gsuite-alternate-email-address" value="{$gsuite_alternatemail}" class="form-control" type="text">
							<br />

							<div class="input-group">
								<span class="input-group-addon">{$LANG.rcgsp_clientname}</span>
								<input name="gsuite-name" value="{$gsuite_fullname}" class="form-control" type="text">
							<br />
							<div class="input-group">
							  <span class="input-group-addon">{$LANG.rcgsp_clientcompanyname}</span>
							  <input name="gsuite-company" value="{$gsuite_company}" class="form-control" type="text">
							<br />

							<div class="input-group">
							  <span class="input-group-addon">{$LANG.rcgsp_clientzipcode}</span>
							  <input name="gsuite-zip" value="{$gsuite_zipcode}" class="form-control" type="text">
							<br />

							<input name="gsuite-orderid" value="{$gsuite_orderid}" type="hidden">
							<p align="center"><input class="btn btn-success" name="setupadmin" value="{$LANG.rcgsp_setupadminaccountlabel}" onclick="this.form.submit()" type="submit"></p>
						<p style="text-align:center;"><a class="btn btn-primary" href="/{$gsuite_url}" target="_blank">{$LANG.rcgsp_adminconsolebutton}</a></p>
				<td><h4 style="width:30%">{$LANG.rcgsp_statustitle}</h4></td>
					<span style="color:{if $inactive_color}{$inactive_color}{else}#FC7202{/if};">{$LANG.rcgsp_hostingpreparing}</span>

Geo IP

IP to Country Support


There is no special setup needed to expose the correct Geolocation Google Suite Product. Our Module offers the support to expose the correct Google Suite Product in your Shopping Cart based on the Visitors IP. This service is offered exclusively for our Google Suite Provisioning Module only.

Based on the Visitors IP, ResellerClub offers the Google Suite Products for the following Countries:

  • Google Suite IN (gappsin): For India only

  • Google Suite SE (gappsse): For Egypt, Indonesia, Viet Nam, Philippines and Thailand only

  • Google Suite GBL (gappsgbl): For all other Countries

Custom IP to Country Source

The module offers the possibility to use your own IP to Country lookup script. You can set your custom URL to your script in the Resellerclub Mods Console Addon Configuration Section R.G.S.Provisioning Module » GeoIP URL. The configured URL will be accessed each time a Visitor access your Google Suite Product Shopping Cart. The module will then pass the Visitors IP as a key/value pair via curl post to the provided URL: user-ip=xxx.xxx.xxx.xxx

Your script must then return the correct two letter ISO Country Code. Example: US (for the United States) .

Disable the IP to Country Support

The support for IP to Country cannot be disabled for now. However, if for any reason you do not like to want this feature, then you can delete the file hooks.php located in the folder /modules/servers/rcmodgooglesuite/. By deleting this file, all the 3 geolocation Google Suite Products will be visible in the Shopping cart and IP to Country Support will stop working. You will need to handle yourself the way to offer the correct Product for your customers.

Latest Tweets

More Tweets from resmods

Latest News

We are ready for the next round ...

... and very proud to announce the immediate availability of all our modules for WHMCS 7.5.0 - RC 1 and backwards compatible till WHMCS 6.0.0!

About Us

Who we are, what we do and everything else about Resellerclub Mods, a gIF Business Project: