Google Workspace For WHMCS
(→Configuration and Management) |
|||
(29 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<meta name="keywords" content="google workspace, google workspace for whmcs, google workspace for whmcs, google workspace configuration, google workspace management, google workspace installation, google workspace guide, modulesgarden google workspace, google workspace wiki, google workspace tutorial, google workspace tips, whmcs google module wiki, google workspace common problems, about google workspace for whmcs, google workspace documentation, google workspace faq, google workspace help"></meta> | <meta name="keywords" content="google workspace, google workspace for whmcs, google workspace for whmcs, google workspace configuration, google workspace management, google workspace installation, google workspace guide, modulesgarden google workspace, google workspace wiki, google workspace tutorial, google workspace tips, whmcs google module wiki, google workspace common problems, about google workspace for whmcs, google workspace documentation, google workspace faq, google workspace help"></meta> | ||
− | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The | + | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Google Workspace For WHMCS Module."></meta> |
=About [https://www.modulesgarden.com/products/whmcs/google-workspace Google Workspace For WHMCS]= | =About [https://www.modulesgarden.com/products/whmcs/google-workspace Google Workspace For WHMCS]= | ||
Line 14: | Line 14: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Change Package | |style="padding: 0px 0px 0px 30px;"|✔ Change Package | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Create Admin User | ||
|} | |} | ||
{| | {| | ||
Line 32: | Line 35: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Set Administrator Mailbox Name | |style="padding: 0px 0px 0px 30px;"|✔ Set Administrator Mailbox Name | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Set Default Company Name | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Enable Password Visibility | ||
|} | |} | ||
{| | {| | ||
Line 54: | Line 63: | ||
*'''Supported Google Services:''' | *'''Supported Google Services:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Google Workspace Business Starter | + | |style="padding: 10px 0px 0px 30px;"|✔ Google Workspace Enterprise Plus |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace Business Starter | ||
|} | |} | ||
{| | {| | ||
Line 69: | Line 81: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace Essentials |
|} | |} | ||
− | |||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace for Education Standard |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace for Education Standard (Staff) |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace for Education Standard (Extra Student) |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace for Education Plus |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace for Education Plus (Staff) |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Google Workspace for Education Plus (Extra Student) |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 30px;"|✔ Google Workspace for Education: Teaching and Learning Upgrade |
|} | |} | ||
− | + | *'''General Info:''' | |
{| | {| | ||
− | |style="padding: 10px 0px 0px | + | |style="padding: 10px 0px 0px 30px;"|✔ Requires Google Cloud Partner Program / Reseller Account |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 0px 30px;"|✔ Authentication And API Calls Utilize OAuth 2.0 |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.2 Back To PHP 8.1 |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One" |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.12 Back To WHMCS V8.9 |
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V13 Or Later |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/google-workspace#open-source-version Open Source Version] |
|} | |} | ||
+ | |||
+ | =Installation and Authentication= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install and authenticate [https://www.modulesgarden.com/products/whmcs/google-workspace Google Workspace For WHMCS.]'''<br /> | ||
+ | We will guide you step by step through the whole installation and authentication process. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 20px 0px 20px 15px;"|'''1. Log in to our client area and download the module.''' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:GA1.png]] | ||
+ | |} | ||
+ | |||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload its content into the main WHMCS directory. <br/> |
The content of the package to upload should look like this. | The content of the package to upload should look like this. | ||
|} | |} | ||
Line 131: | Line 151: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''3. When you install Google Workspace For WHMCS for the first time, you have to rename the '' 'license_RENAME.php' '' file.'''<br /> |
The file is located in '' 'modules/servers/gSuite/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' | The file is located in '' 'modules/servers/gSuite/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' | ||
|} | |} | ||
Line 138: | Line 158: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key you have to edit the previously renamed '' 'license.php' '' file.'''<br /> |
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'. '' | 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'. '' | ||
|} | |} | ||
Line 146: | Line 166: | ||
==API Configuration== | ==API Configuration== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''5. Now you have to authenticate the module through setting up the API Access.'''<br /> |
Create API Access in Google API Console. You can do it here → [https://console.developers.google.com/apis/dashboard https://console.developers.google.com/apis/dashboard] | Create API Access in Google API Console. You can do it here → [https://console.developers.google.com/apis/dashboard https://console.developers.google.com/apis/dashboard] | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''6. After you have logged in, create a new project.''' |
|} | |} | ||
{| | {| | ||
Line 156: | Line 176: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''7. To proceed, go to '' 'Enable APIs and Services' '' tab.'''<br /> |
− | Find '' 'Google | + | Find '' 'Google Workspace Reseller API' '' among the applications. |
|} | |} | ||
{| | {| | ||
Line 163: | Line 183: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''8. Now, you have to enable '' 'Google Workspace Reseller API' '' as shown on the following screen.''' |
|} | |} | ||
{| | {| | ||
Line 169: | Line 189: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''9. Next, search for the '' 'Admin SDK API' '' the same way you did it in step 9.''' |
|} | |} | ||
{| | {| | ||
Line 175: | Line 195: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''10. Enable '' 'Admin SDK API.' ''''' |
|} | |} | ||
{| | {| | ||
Line 181: | Line 201: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''11. Finally, open the '' 'Explore and enable API' '' section, the API & Services page should open. Go to '' 'OAuth consent screen' '' under the '' 'Credentials' '' section.<br /> |
Afterward, enter the mail address and application name that will be visible during your requests.<br /> | Afterward, enter the mail address and application name that will be visible during your requests.<br /> | ||
Here is a list of scopes required by the module to work properly: | Here is a list of scopes required by the module to work properly: | ||
Line 194: | Line 214: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''12. Then, switch to the '' 'Credentials' '' tab and add new credentials .''' |
|} | |} | ||
{| | {| | ||
Line 200: | Line 220: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''13. After you have done that, tick '' 'Web application'. '''''<br /> |
Next, enter your website URL into the '' 'Authorized JavaScript origins' '' field and correct path to '' 'oauth_callback.php' '' into the '' 'Authorized redirect URI' '' field.<br /> | Next, enter your website URL into the '' 'Authorized JavaScript origins' '' field and correct path to '' 'oauth_callback.php' '' into the '' 'Authorized redirect URI' '' field.<br /> | ||
Confirm changes through pressing '' 'Create'. '' | Confirm changes through pressing '' 'Create'. '' | ||
Line 208: | Line 228: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''14. Well done! Now that you have filled in all the necessary details, you can proceed to authenticate Google Apps.''' |
|} | |} | ||
{| | {| | ||
Line 216: | Line 236: | ||
==Product Configuration== | ==Product Configuration== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|''' | + | |style="padding: 10px 0px 20px 15px;"|'''15. In order to create and configure a product, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'.'''''<br /> |
Click on '' 'Create a New Group'.'' | Click on '' 'Create a New Group'.'' | ||
|} | |} | ||
Line 223: | Line 243: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''16. Enter your product group name and press '' 'Save Changes'.''''' |
|} | |} | ||
{| | {| | ||
Line 229: | Line 249: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''17. Now, create a new product for your GoogleApps.'''<br/> |
To do so, first click on '' 'Create a New Product'.'' | To do so, first click on '' 'Create a New Product'.'' | ||
|} | |} | ||
Line 236: | Line 256: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''18. Choose the desired product type and product group from the dropdown menus and enter a new name of your products. Press '' 'Continue'. '' |
|} | |} | ||
{| | {| | ||
Line 242: | Line 262: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''19. Go to '' 'Module Settings' '' of your product and choose '' 'G Suite' '' from the '' 'Module Name' '' dropdown menu.'''<br/> |
After choosing the module, make sure to click on the ''''Save Changes'''' button. | After choosing the module, make sure to click on the ''''Save Changes'''' button. | ||
|} | |} | ||
Line 249: | Line 269: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''20. Enter your previously obtained '' 'Client ID' as well as 'Client Secret' '' and make sure that '' 'Callback URL' '' is correct.<br/> |
Then, press '' 'Grant access with Google account'. ''''' | Then, press '' 'Grant access with Google account'. ''''' | ||
|} | |} | ||
Line 256: | Line 276: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''21. If the data you entered is correct, you will be redirected to the page with permission request. Press the '' 'Allow access' '' button.''' |
|} | |} | ||
{| | {| | ||
Line 262: | Line 282: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''22. That is it. You will be now redirected to your WHMCS and you will see the following screen.'''<br /> |
|} | |} | ||
{| | {| | ||
Line 268: | Line 288: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''23. Now, let us move to 'Custom Fields'. Fields with '' 'GoogleApps Domain','' '' 'GoogleApps PurchaseOrderID','' '' 'GoogleApps Alternate Email','' '' 'Mailbox Name','' '' 'GSuiteSubscriptionId','' '' 'Client Postcode' '' and '' 'GSuiteDealCode' '' variables are added automatically.'''<br /> |
'' '''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.'' | '' '''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.'' | ||
|} | |} | ||
Line 282: | Line 302: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|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.<br /> | |style="padding: 10px 0px 15px 15px;"|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.<br /> | ||
− | + | A list of the currently supported addons can be found [https://developers.google.com/admin-sdk/reseller/v1/how-tos/products#google-workspace here]. | |
|} | |} | ||
{| | {| | ||
Line 380: | Line 400: | ||
After your customers order a new subscription, they should insert their primary Google account domain name in the '' 'GoogleApps Domain' '' field.<br /> | After your customers order a new subscription, they should insert their primary Google account domain name in the '' 'GoogleApps Domain' '' field.<br /> | ||
Then, the new subscription will be added to that account.<br /> | Then, the new subscription will be added to that account.<br /> | ||
− | If you want to manually create an order for existing subscription, in addition to the above steps, you need to find '' 'Purchase Order ID' '' (usually on the invoice).<br /> | + | If you want to manually create an order for an existing subscription, in addition to the above steps, you need to find '' 'Purchase Order ID' '' (usually on the invoice).<br /> |
Copy the ID and paste it to the '' 'GoogleApps PurchaseOrderID'' ' field.<br /> | Copy the ID and paste it to the '' 'GoogleApps PurchaseOrderID'' ' field.<br /> | ||
Afterward, '''do not''' run the create command but just press the '' 'Save Changes' '' button. You can also change the status to '' 'Active'. '' | Afterward, '''do not''' run the create command but just press the '' 'Save Changes' '' button. You can also change the status to '' 'Active'. '' | ||
Line 390: | Line 410: | ||
=Tips= | =Tips= | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 5px 15px;"|1. The module requires a G Suite Reseller account. To check the current status of your Google Reseller account, navigate to the following site: [https://partners.cloud.google.com/home Google Cloud Partner Portal].<br/> There, you can verify the status and request partner authorization if necessary. |
|} | |} | ||
{| | {| | ||
Line 399: | Line 419: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 5px 15px;"|4. To change your API access and OAuth, go to product configuration page and add <code>&logout=1&revoke=1</code> to the URL.<br/> Example:<br /> | + | |style="padding: 0px 0px 5px 15px;"|4. To change your API access and OAuth, go to the product configuration page and add <code>&logout=1&revoke=1</code> to the URL.<br/> Example:<br /> |
http://yourwebsite/whmcs/admin/configproducts.php?action=edit&id=28&logout=1&revoke=1 | http://yourwebsite/whmcs/admin/configproducts.php?action=edit&id=28&logout=1&revoke=1 | ||
|} | |} | ||
Line 414: | Line 434: | ||
=Update Instructions= | =Update Instructions= | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"| | + | |style="padding: 10px 0px 30px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/> |
− | + | Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.<br/> Additionally, you will find a current list of supplementary actions necessary for a smooth update process there. | |
− | + | ||
|} | |} | ||
+ | =Upgrade Guide= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/> | ||
+ | |||
+ | Opt for the [https://www.modulesgarden.com/products/whmcs/google-workspace#open-source-version Open Source version] of your Google Workspace For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/> | ||
+ | |||
+ | Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | ||
+ | |} | ||
+ | |||
=Common Problems= | =Common Problems= | ||
{| | {| | ||
Line 425: | Line 453: | ||
|style="padding: 0px 0px 5px 15px;"|2. It is possible to receive such an error while authenticating our module: | |style="padding: 0px 0px 5px 15px;"|2. It is possible to receive such an error while authenticating our module: | ||
Error: redirect_uri_mismatch | Error: redirect_uri_mismatch | ||
− | If such a case, make sure that URLs provided in Google account and your WHMCS system are the same.<br/> Keep in mind that addresses with the prefix '' 'www' '' vary from addresses without this prefix. | + | If such a case, make sure that URLs provided in your Google account and your WHMCS system are the same.<br/> Keep in mind that addresses with the prefix '' 'www' '' vary from addresses without this prefix. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 5px 15px;"|3. In case you encounter an error similar to the one below, you most probably disabled the output buffering in the PHP configuration. |
Notice: ob_clean(): failed to delete buffer. | Notice: ob_clean(): failed to delete buffer. | ||
To solve the problem, please set the '' 'output_buffering' '' value to '' 'On' '' in the php.ini file. | To solve the problem, please set the '' 'output_buffering' '' value to '' 'On' '' in the php.ini file. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|4. Due Dates in WHMCS and the Google platform might be out of sync if not set up manually after import, causing the service to appear as active in WHMCS, but suspended on Google's side.<br/> | ||
+ | '''Solution:''' Try delaying the suspension by a specific number of days after the billing cycle ends, giving clients a grace period. | ||
+ | * Adjust the '' 'Suspend Days' '' value under '' 'System Settings' → 'Automation Settings' → 'Automatic Module Functions'.'' | ||
+ | * Set the '' 'Renewal Type' '' of the product to any status other than '' 'Cancel','' as this will cause the account to be suspended as soon as the billing cycle in Google Workspace ends. | ||
|} | |} |
Latest revision as of 15:50, 4 March 2025
Contents |
[edit] About Google Workspace For WHMCS
Google Workspace 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 |
✔ Create Admin User |
✔ Choose Plan Name |
✔ Choose Renewal Type |
✔ Choose Action On Termination |
✔ Log API Requests |
✔ Automatically Create Administrator Account |
✔ Set Administrator Mailbox Name |
✔ Set Default Company Name |
✔ Enable Password Visibility |
✔ 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 |
- Supported Google Services:
✔ Google Workspace Enterprise Plus |
✔ Google Workspace Business Starter |
✔ Google Workspace Business Standard |
✔ Google Workspace Business Plus |
✔ Google Workspace Enterprise Essentials |
✔ Google Workspace Enterprise Standard |
✔ Google Workspace Essentials |
✔ Google Workspace for Education Standard |
✔ Google Workspace for Education Standard (Staff) |
✔ Google Workspace for Education Standard (Extra Student) |
✔ Google Workspace for Education Plus |
✔ Google Workspace for Education Plus (Staff) |
✔ Google Workspace for Education Plus (Extra Student) |
✔ Google Workspace for Education: Teaching and Learning Upgrade |
- General Info:
✔ Requires Google Cloud Partner Program / Reseller Account |
✔ Authentication And API Calls Utilize OAuth 2.0 |
✔ Multi-Language Support |
✔ Supports PHP 8.2 Back To PHP 8.1 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.12 Back To WHMCS V8.9 |
✔ Requires ionCube Loader V13 Or Later |
✔ Easy Module Upgrade To Open Source Version |
[edit] Installation and Authentication
This tutorial will show you how to successfully install and authenticate Google Workspace 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. Extract the package and upload its content into the main WHMCS directory. The content of the package to upload should look like this. |
![]() |
3. When you install Google Workspace 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'. |
![]() |
4. 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'. |
![]() |
[edit] API Configuration
5. 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 |
6. After you have logged in, create a new project. |
![]() |
7. To proceed, go to 'Enable APIs and Services' tab. Find 'Google Workspace Reseller API' among the applications. |
![]() |
8. Now, you have to enable 'Google Workspace Reseller API' as shown on the following screen. |
![]() |
9. Next, search for the 'Admin SDK API' the same way you did it in step 9. |
![]() |
10. Enable 'Admin SDK API.' |
![]() |
11. 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. |
![]() |
12. Then, switch to the 'Credentials' tab and add new credentials . |
![]() |
13. After you have done that, tick 'Web application'. Next, enter your website URL into the 'Authorized JavaScript origins' field and correct path to 'oauth_callback.php' into the 'Authorized redirect URI' field. |
![]() |
14. Well done! Now that you have filled in all the necessary details, you can proceed to authenticate Google Apps. |
![]() |
[edit] Product Configuration
15. In order to create and configure a product, go to 'Setup' → 'Products/Services' → 'Products/Services'. Click on 'Create a New Group'. |
![]() |
16. Enter your product group name and press 'Save Changes'. |
![]() |
17. Now, create a new product for your GoogleApps. To do so, first click on 'Create a New Product'. |
![]() |
18. Choose the desired product type and product group from the dropdown menus and enter a new name of your products. Press 'Continue'. |
![]() |
19. 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. |
![]() |
20. 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'. |
![]() |
21. If the data you entered is correct, you will be redirected to the page with permission request. Press the 'Allow access' button. |
![]() |
22. That is it. You will be now redirected to your WHMCS and you will see the following screen. |
![]() |
23. Now, let us move to 'Custom Fields'. Fields with 'GoogleApps Domain', 'GoogleApps PurchaseOrderID', 'GoogleApps Alternate Email', 'Mailbox Name', 'GSuiteSubscriptionId', 'Client Postcode' and 'GSuiteDealCode' 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. |
![]() |
[edit] Configuration and Management
Configuration and management of Google Workspace For WHMCS is very intuitive. Read the below sections to see how easy it is. |
[edit] Basic Configuration
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. A list of the currently supported addons can be found here. |
![]() |
Plan Name allows you to select the method of payment. You can choose between:
Note: Since the 1.1.5 version of Google Workspace 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. |
![]() |
[edit] Configurable Options
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. |
[edit] Admin Area
Let us check your new product on the product page in admin area. It should look like on the screen below. |
![]() |
[edit] Client Area
This is how the module will be displayed in the client area. Google Workspace For WHMCS also allows your customers to quickly access Google account services. |
![]() |
[edit] 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. |
![]() |
[edit] Tips
1. The module requires a G Suite Reseller account. To check the current status of your Google Reseller account, navigate to the following site: Google Cloud Partner Portal. There, you can verify the status and request partner authorization if necessary. |
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 the 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 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. |
[edit] Update Instructions
An essential guidance through the process of updating the module is offered here. Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues. |
[edit] Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your Google Workspace For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
[edit] Common Problems
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:
Error: redirect_uri_mismatch If such a case, make sure that URLs provided in your Google account and your WHMCS system are the same. |
3. In case you encounter an 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. |
4. Due Dates in WHMCS and the Google platform might be out of sync if not set up manually after import, causing the service to appear as active in WHMCS, but suspended on Google's side. Solution: Try delaying the suspension by a specific number of days after the billing cycle ends, giving clients a grace period.
|