G Suite For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


Contents

About G Suite For WHMCS

G Suite For WHMCS will enable you to provision and manage Google accounts in your 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
✔ Set Configurable Options Per Product:
✔ Product SKU ID
✔ Number of Seats
✔ Max Number of Seats
  • Client Area Features:
✔ View Customer Info
✔ Log In To Control Panel
✔ Log In To Webmail
  • Available Google Services:
✔ Google Apps For Business
✔ Google Vault
✔ Google Drive Storage
  • General Info:
✔ Authentication And API Calls Utilize OAuth 2.0
✔ Multi-Language Support
✔ Supports PHP 5.3 Up To PHP 7
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V6 and V7

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 your client area and download the module.
GA1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.3 up to PHP 5.6.
It does not apply to open source versions.

Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.

GA2.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

The content of PHP version files should look like this.

Ftgt.png
4. When you install G Suite For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/servers/googleapps/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

GA3.png
5. In order to configure your license key you have to edit a previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area → 'My Products'.

GA4.png

API Configuration

6. Now you have to authenticate the module through setting up API Access.

Create API Access in Google Console. You can do it here → https://code.google.com/apis/console/

7. After you have logged in, create a new project.
GA5.png
8. You have just entered Google API Manager. Firstly, go to 'OAuth consent screen' under 'Credentials' section.

Afterwards, enter email address and product name, they will be visible during your requests.
Save changes through pressing 'Save' button.

GA5 1.png
9. To proceed, go to 'Google APIs' under 'Overview' tab.

Find 'Google Apps Reseller API' among all applications.

GA5 2.png
10. You have to enable 'Google Apps Reseller API' as shown on the following screen.
GA5 2.1.png
11. Now, switch to 'Credentials' tab and add new credentials .
GA5 4.png
12. Afterwards, tick 'Web application'.

Next, enter website URL into 'Authorized JavaScript origins' field and path to 'oauth_callback.php' into 'Authorized redirect URI' field.
Confirm changes through pressing 'Create'.

GA5 5.png
13. Well done, now when you have all the necessary details you can proceed to authenticate Google Apps.
GA5 6.png

Product Configuration

14. Now go back to your WHMCS system and create a new product for your GoogleApps.

Move to 'Setup' → 'Products/Services' → 'Products/Services' and add a new product.

GA5 6 1.png
15. Choose product type and product group from dropdown menus and enter your new product's name. 'Continue'.
GA5 6 2.png
16. Go to 'Module Settings' of your product and choose 'Googleapps' from a 'Module Name' dropdown menu.
GA5 7.png
17. Enter your previously obtained 'Client ID', 'Client Secret' and make sure that 'Callback URL' is correct.

Then press 'Grant access with Google account'.

GA5 8.png
18. If your entered data are correct, you will be redirected to the page with permission request. Press 'Allow access' button.
GA5 9.png
19. And that is all. You will be redirected back to your WHMCS and you will see a following screen.

Move to 'Custom Fields' now.

GA14.png
20. Fields called 'GoogleApps Domain' and 'GoogleApps PurchaseOrderID' are added automatically.
GA19.png

Configuration and Management

Configuration and management of G Suite For WHMCS is very intuitive. Read the below sections to see how easy it is.

Basic Configuration

Let's start the module settings from choosing 'Default Product SKU ID'. In other words Google services.

As you can see on the following screen our module supports Google Apps For Business, Google Drive Storage and Google Vault.

GA16.png
'Plan Name' allows you to select the method of payment. You can pay once per year (Annual), once per month (Flexible) or as the client chooses (Automatic).
GA17.png
Here you can decide whether on terminate you want to suspend or cancel customer's services.
GA18.png

Configurable Options

In order to automatically generate configurable options, simply press button marked on the screen.
GA21.png
In your WHMCS system press 'Setup' 'Products/Services' 'Configurable Options'.

Find 'GoogleApps' options on the list.

GA22.png
Here you can manage and alter added configurable options.
GA23.png
Provide values for your new option and enter your desired price. 'Save Changes'.
GA24.png
At your product 'Module Settings' you can fill out the fields for ' Default Number of Seats' and 'Default Max Number of Seats'.
Remember, however, that these values will be used only if configurable options are NOT generated.
GA25.png
From now on you can easily and quickly change value of your product. Remember that you can add more configurable options for other values.

Admin Area

Let's check your new product in admin area product page. It should look like on the screen below.
GA19.1.png

Client Area

This is how the module will look like in the client area. G Suite For WHMCS also allows your customers to quickly access Google account services.
GA20.png

Update of Existing Customers

You can link existing customers accounts by properly 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.
Then, the new subscription will be added to that account.
If you want to manually create an order for existing subscription, additionally to the above, you need to find the 'Purchase Order ID' (usually on the invoice).
Copy the ID and paste it to the 'GoogleApps PurchaseOrderID ' field.
Afterwards do not run the create command - just press 'Save Changes' button. You can also change the status to 'Active'.

GA28.png

Tips

1. Our module allows to use Google Apps 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 &logout=1&revoke=1 to the URL.
Example:
http://yourwebsite/whmcs/admin/configproducts.php?action=edit&id=28&logout=1&revoke=1
5. If you want to better understand Google Apps Reseller API and our module concept, visit this page
6. To set up a trial product, go to the module settings, mark 'Trial' checkbox and switch 'Plan Name' to 'FLEXIBLE'.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. It is possible that while authenticating our module you will get an error:
Error: redirect_uri_mismatch

If you do, make sure that URLs provided in Google account and your WHMCS system are same.
Keep in mind that address with prefix 'www' varies from address without prefix 'www'.

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.

Personal tools
Namespaces

Variants
Actions
Navigation
WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
General
Social
G Suite For WHMCS