G Suite For WHMCS
About G Suite For WHMCS
|G Suite For WHMCS will enable all Authorized Resellers of Google Workspace services to provision and manage Google accounts in their very own WHMCS system.|
Authenticate through OAuth 2.0, create flexible products and let your clients order ready Google services directly from your website.
- Admin Area Features:
|✔ Create/Suspend/Unsuspend/Terminate Account|
|✔ Change Package|
|✔ Choose Plan Name|
|✔ Choose Renewal Type|
|✔ Choose Action On Termination|
|✔ Log API Requests|
|✔ Automatically Create Administrator Account|
|✔ Set Administrator Mailbox Name|
|✔ Set Configurable Options Per Product:|
|✔ Product SKU ID|
|✔ Number of Seats|
- Client Area Features:
|✔ View Customer Info|
|✔ Log In To Control Panel|
|✔ Log In To Webmail|
- Available Google Services:
|✔ G Suite Basic|
|✔ G Suite Business|
|✔ G Suite Enterprise|
|✔ Google Vault|
|✔ Google Drive Storage|
- General Info:
|✔ Requires G Suite Partner Program / Reseller Account|
|✔ Authentication And API Calls Utilize OAuth 2.0|
|✔ Multi-Language Support|
|✔ Supports PHP 7.1 Up To PHP 7.4|
|✔ Supports WHMCS Themes "Six" And "Twenty-One"|
|✔ Supports WHMCS V7.10 And Later|
|✔ Easy Module Upgrade To Open Source Version|
Installation and Authentication
|This tutorial will show you how to successfully install and authenticate G Suite For WHMCS.|
We will guide you step by step through the whole installation and authentication process.
|1. Log in to our client area and download the module.|
|2. In the downloaded file you might find one or two packages that support different PHP versions.|
In the most recent versions of the module, you will find only one package that supports PHP 7.1 and later.
|Previous updates of the module may contain two packages dedicated to various PHP versions.|
The first one that supports PHP 5.6 up to PHP 7.0, and the second one addressed to PHP 7.1 up to PHP 7.3.
|Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.|
|3. Extract the package and upload its content into the main WHMCS directory. |
The content of the package to upload should look like this.
|4. When you install G Suite For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.|
The file is located in 'modules/servers/gSuite/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.
|5. In order to configure your license key you have to edit the previously renamed 'license.php' file.|
Enter your license key between the quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.
|6. Now you have to authenticate the module through setting up the API Access.|
Create API Access in Google API Console. You can do it here → https://console.developers.google.com/apis/dashboard
|7. After you have logged in, create a new project.|
|8. To proceed, go to 'Google APIs' under the 'Overview' tab.|
Find 'Google Apps Reseller API' among the applications.
|9. Now, you have to enable 'Google Apps Reseller API' as shown on the following screen.|
|10. Next, search for the 'Admin SDK' the same way you did it in step 9.|
|11. Enable 'Admin SDK' API.|
|12. Finally, open the 'Explore and enable API' section, the API & Services page should open. Go to 'OAuth consent screen' under the 'Credentials' section.|
Afterward, enter the mail address and application name that will be visible during your requests.
Save changes through pressing the 'Save' button.
|13. Then, switch to the 'Credentials' tab and add new credentials .|
|14. After you have done that, tick 'Web application'. |
|15. Well done! Now that you have filled in all the necessary details, you can proceed to authenticate Google Apps.|
|16. In order to create and configure a product, go to 'Setup' → 'Products/Services' → 'Products/Services'.|
Click on 'Create a New Group'.
|17. Enter your product group name and press 'Save Changes'.|
|18. Now, create a new product for your GoogleApps.|
To do so, first click on 'Create a New Product'.
|19. Choose the desired product type and product group from the dropdown menus and enter a new name of your products. Press 'Continue'.|
|20. Go to 'Module Settings' of your product and choose 'G Suite' from the 'Module Name' dropdown menu.|
After choosing the module, make sure to click on the 'Save Changes' button.
|21. Enter your previously obtained 'Client ID' as well as 'Client Secret' and make sure that 'Callback URL' is correct.|
Then, press 'Grant access with Google account'.
|22. If the data you entered is correct, you will be redirected to the page with permission request. Press the 'Allow access' button.|
|23. That is it. You will be now redirected to your WHMCS and you will see the following screen.|
|24. Now, let us move to 'Custom Fields'. Fields with 'GoogleApps Domain' , 'GoogleApps PurchaseOrderID' , 'GoogleApps Alternate Email' and 'Mailbox Name' variables are added automatically.|
Note: Since 1.3.0 module version you are free to adjust the 'friendly' name part after |, but remember not to change the first part, which is a variable.
Configuration and Management
|Configuration and management of G Suite For WHMCS is very intuitive. Read the below sections to see how easy it is.|
|Let us begin the process of module configuration by choosing Default Product SKU ID. To start with, simply pick one of the available Google services.|
As you can see on the following screen, our module supports G Suite Basic, G Suite Business and G Suite Enterprise, as well as Google Drive Storage and Google Vault.
| Plan Name allows you to select the method of payment. You can choose between:
Note: Since the 1.1.5 version of G Suite For WHMCS module, the ANNUAL plan is equivalent to ANNUAL_MONTHLY_PAY in G Suite API.
| Rennewal Type - choose the method of renewing your plan when the current subscription expires. The available options are:
| Action On Terminate - here you can decide whether you want to suspend or cancel customer services upon the termination. |
Important!: Please remember that once you choose the 'Cancel' option, the subscription will be deleted immediately. It does not apply to the G Suite subscription.
|Create Admin Account & Mailbox Name - select this option to automatically create an administrator account with a given username for the G Suite domain.|
|In order to automatically generate configurable options, simply press the button marked on the screen. |
|In your WHMCS system press 'Setup' → 'Products/Services' → 'Configurable Options'. |
Find the 'GoogleApps' options on the list.
|Here you can manage and alter added configurable options.|
|Provide values for your new option and enter the desired price. Press 'Save Changes'.|
|In the 'Module Settings' tab of your product you can fill out the fields for ' Default Product SKU ID' and 'Default Number of Seats. |
Remember however that these values will be used only if configurable options are NOT generated.
|From now on you can easily and quickly change value of your product. Remember that you can add more configurable options for other values.|
|Let us check your new product on the product page in admin area. It should look like on the screen below.|
|This is how the module will be displayed in the client area. G Suite For WHMCS also allows your customers to quickly access Google account services.|
Update of Existing Customers
|You can link existing customer accounts by filling in the Custom Fields: 'GoogleApps Domain' and 'GoogleApps PurchaseOrderID'. |
After your customers order a new subscription, they should insert their primary Google account domain name in the 'GoogleApps Domain' field.
|1. Our module requires a G Suite Reseller account.|
|2. Avoid using localhost and Raw IP during the authorization.|
|3. Callback URL is fetched from your WHMCS System URL. You can set it in the 'General Settings' of your system.|
|4. To change your API access and OAuth, go to product configuration page and add |
|5. If you want to better understand the concept of G Suite Reseller API and our module, visit this page|
|6. Some API actions such as 'suspend' may be subject to additional restrictions or have different results depending on the selected plan or the number of days elapsed.|
You can learn more about them here.
|7. If you want to set different prices for seats depending on the plan, the only way to do that is to create separate products. |
More info about setting prices can be found here.
|Essential guidance through the process of updating the module is offered here.|
Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
|1. When you have problems with connection, check whether your SELinux or firewall does not block ports.|
|2. It is possible to receive such an error while authenticating our module:
If such a case, make sure that URLs provided in Google account and your WHMCS system are the same.
|3. In case you encounter error similar to the one below, you most probably disabled the output buffering in the PHP configuration.
Notice: ob_clean(): failed to delete buffer.
To solve the problem, please set the 'output_buffering' value to 'On' in the php.ini file.