Personal tools
Namespaces

Variants
Actions

Product Linker For WHMCS

From ModulesGarden Wiki
Revision as of 14:52, 8 September 2017 by Gregor (Talk | contribs)

Jump to: navigation, search

Contents

About Product Linker For WHMCS

Product Linker For WHMCS allows you to create relations between your products, addons and configurable options.

Consequently, clients may buy products in bundles along with flexible promo codes.
Module will also allow you to view, filter and delete existing connections used by your customers.

  • Automation Features:
✔ Handle Dependencies Between Module Actions - Each Create/Terminate/Suspend/Unsuspend Action Called On Main Product Triggers Such Action On Child Products
✔ Enable Product Updates With Automatic Email Notifications Sent To Administrators
✔ Copy Configurable Options From Parent To Child Product
  • Admin Area Features:
✔ Define Relations Between Chosen Product, Addons, Configurable Options And Linked Products
✔ Define If Addon Price Should Be Switched With Linked Product Price
✔ Assign Custom Promo Codes To Relations
✔ View, Filter And Delete Existing Connections
✔ View Error Logs
  • Client Area Features:
✔ Buy Multiple Products, Addons And Configurable Options By Ordering At Least One Of Them
✔ View Linked Product Added To Order By Triggering Relation
  • General Info:
✔ Integrated With cPanel Manage2 For WHMCS - Easy Reselling Of cPanel Licenses (read more)
✔ Integrated With DirectAdmin Licenses For WHMCS - Easy DirectAdmin Licenses Reselling (read more)
✔ Integrated With Odin Key Administrator For WHMCS - Easy Odin Licenses Reselling (read more)
✔ Multi-Language Support
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS V6 and V7

Installation

This tutorial will show you how to successfully install Product Linker For WHMCS.

We will guide you step by step through the whole installation and configuration process.

1. Log in to your client area and download the module.
PL1.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.4 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'.

PL2.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.

Gfhdr.png
4. When you install Product Linker For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/productlinker/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

PL3.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'.

PL4.png
6. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'. Afterwards, find 'Product Linker' and press 'Activate' button.

PL2 5.png
7. In the next step you need to permit access to this module.

To do so, click on 'Configure' button, select administrator groups which should have access to this addon and press 'Save Changes'.

PL2 6.png
8. To enable logs from failed actions, go to 'Utilities' 'Logs' 'Module Log'.

There, press 'Enable Debug Logging'.

PL2 7.png
9. You have just successfully installed Product Linker For WHMCS!

You can access your module at 'Addons' 'Product Linker'.

PL2 8.png

Configuration and Management

Product Linker For WHMCS allows to sell bundles of products through ordering one product with specific product addons and configurable options.

It also automatically forwards basic commands from the main product to all child products.
You can define relation between products through product addon or configurable option. You will find more information about it in 'Add Relation' section.

Basic Relations

At 'Basic Relations' tab you can define links between products through product addons and configurable options.

They will be triggered as soon as your client makes an order for product with product addon/configurable option chosen at the relation.
Additionally, you can define a promo code added to the order by triggering the relation.

Add Relation

To add a new relation, go to 'Product Linker' 'Basic Relations'.
Now, select relation type from 'Type' dropdown menu, you can choose between relation triggered by product addon or configurable option.

Note: For 'Addon' type there is also 'Swap Price' option available. If you select it, the price of the linked hosting/product will be overwritten with the addon price.

PL2 9.png
Next, select product addon or configurable option name from 'Product Addon/Configurable Option' dropdown menu.

If you have chosen 'Configurable option' relation type, additionally you have to select a configurable option value.

PL2 10.png
Finish through selecting child product which will be linked after triggering the relation.

Choose a promo code that will be added to the order and save relation through pressing 'Add Relation' button.
Note: Only one promo code can be assigned to the order, you can specify the assignment of promo code at the 'Settings' page.

PL2 11.png

Edit Relation

Editing relations is quite easy, go to 'Basic Relations' tab and start making changes.

You can alter one relation or multiple relations simultaneously, the only difference is button used to save changes.
If you are making changes in only one relation, press 'Save Changes' button next to it, otherwise use 'Save Changes' at the bottom of the page (pointed with a green arrow).

PL2 12.png

Product Relations

At 'Product Relations' tab you can set up relation linking one product with another.

To create a new configuration simply choose product which will trigger relation from 'Product' dropdown menu. Next, select product which will be added from 'Linked Product'
dropdown menu. Optionally, assign promo code and enable configurable option copying (if possible). Press 'Add Relation' to save relation.

PL2 12 1.png
Our module allows you to enable copying parent's product configurable options to the child product upon ordering them.

To enable copying, mark checkbox next to configurable options and press 'Save Changes' as shown on the screen below.
Note: You can enable configurable option copying only if configurable option is assigned to both products.

PL2 12 2.png

Existing Connections

'Existing Connections' tab allows you to view the list of all products ordered by your clients for which relations exist.

You can find all information about the relation, like main product, linked product, their owner or domain used by both products.
You can quickly move to the customer or any of their products by simply clicking on client/product name.

PL2 13.png
Module also allows you to order records on the list by selected column through pressing on its headline.

For example, to order by client name, press on 'Client Name' column header as shown on the following screen.

PL2 14.png
You can use filters to display only specific records.

To open filters form, press 'Toggle Filters'.

PL2 15.png
You are able to set up filtering by client name, both main and linked products and domain.

When you select values you desire, click 'Filter Results' button (red arrow).
If you decide to clear filters you have set up earlier, open filters form and press 'Clear Filter' (green arrow).

PL2 16.png

Module Logs

If there was any trouble with linked products, information about error will be displayed at 'Module Logs' page.

Error message can be found at 'Clean Response' and 'Parsed Response' column.
To locate products for which error occurred, you can use data at 'Request Parameters' column.
For example, '[accountid]' and '[domain]' should be enough to quickly localize products.
Note: Module also checks if the module log is turned on and provides a link to it.

PL2 17.png
You can look for the product with details you found in the previous step, but a way faster method is to use a link.

All you have to do is enter value of '[accountid]' in place of account_id in the link below.

your_whmcs/admin/clientsservices.php?id=account_id

To confirm if you are looking at right product, check if domain in the product matches domain you found in the error log.

Settings

In 'Settings' section you may manage the promo codes assignment to linked products and add some information to the order form.

Due to assignment of promo codes to the relation, it may happen that multiple promo codes will be assigned to one order form. WHMCS doesn't support such actions,
therefore only one promo code has to be chosen.
1. 'Highest Discount Available' - if checked, a promo code giving the highest discount to your clients will be chosen at the order form.
2. 'Discount Limit' - if 'Highest Discount Available' is disabled, a promo code giving the closest discount to the value provided will be chosen.
Discount has to be greater than the value provided.

PL2 17 1.png
3. Display Product Info - if this option is selected in 'Settings' section, there is information visible on the linked product on the order form.
PL2 17 2.png

Exemplary Connections

At 'Exemplary Connections' section we will show you how to set up relations between specific products.

One of the many possibilities is connecting cPanel Manage2 For WHMCS, DirectAdmin Licenses For WHMCS and Odin Key Administrator For WHMCS with other products.
This will allow you to automatically provision ready to use licenses for clients once they order a product of your choice, e.g. a VPS server.
Note: Before following any of exemplary configurations below, make sure that both products you will be using in the configuration are set up correctly.
Additionally, product linked to the main product should be set to hidden and free. You will be able to set its price at the product addon.

cPanel Extended + cPanel Manage2

In these steps we will show you how to link cPanel Manage2 with cPanel Extended through the product addon.

Note: You can also link them using configurable options.
1. Start from creating 'IP' custom field at the main product visible on order form.
To do so, go to 'Setup' 'Products/Services' 'Products/Services' and edit your cPanel Extended product.

PL2 18.png
2. Open 'Custom Fields' tab, enter 'IP' into 'Field Name' and mark 'Show on Order Form' checkbox.

Confirm changes through pressing 'Save Changes'.

PL2 19.png
3. It is time to create a product addon which will trigger the relation.

Go to 'Setup' 'Products/Services' 'Products Addons' and press 'Add New Addon'.

PL2 20.png
4. Enter addon name, its description and recurring price. Choose billing cycle from 'Billing Cycle' dropdown menu.

It is advised to set up the same billing cycle as in the main product. Additionally, you have to mark 'Show on Order' checkbox and checkbox next to the main product.
In this example it will be 'cPanel - cPanel Extended'.
Next, press 'Save Changes'.

PL2 21.png
5. Now, create relation at your 'Product Linker' 'Basic Relations'.
PL2 22.png
To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.

Do not forget to type the domain and IP address. Afterwards, press 'Submit Order'.

PL2 23.png
Select 'Run Module Create' and press 'Accept Order'.
PL2 24.png
If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the addon.
PL2 25.png

DirectAdmin Extended + DirectAdmin Licenses

In these steps we will show you linking DirectAdmin Licenses to DirectAdmin Extended through product addon.

Note: You can also link them using configurable options.
1. Start by creating 'IP' custom field at the main product visible on order form.
To do so, go to 'Setup' 'Products/Services' 'Products/Services' and edit your DirectAdmin Extended product.

PL2 26.png
2. Open 'Custom Fields' tab, enter 'IP' into 'Field Name' and mark 'Show on Order Form' checkbox.

Confirm changes through pressing 'Save Changes'.

PL2 27.png
3. It is time to create a product addon which will trigger the relation.

Go to 'Setup' 'Products/Services' 'Products Addons' and press 'Add New Addon'.

PL2 28.png
4. Enter addon name, its description and recurring price. Choose a billing cycle from 'Billing Cycle' dropdown menu.

It is advised to set up the same billing cycle as in the main product. You also have to mark 'Show on Order' checkbox and checkbox next to the main product.
In this example it will be 'DirectAdmin - DirectAdmin Extended'.
Next, press 'Save Changes'.

PL2 29.png
5. Now, create a relation at your 'Product Linker' 'Basic Relations'.
Note that 'Swap Price' option has been also marked here. Consequently, the price for the addon will be changed with the price for the linked product/hosting.
PL2 30.png
To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.

Do not forget to type in the domain and IP address. Afterwards, press 'Submit Order'.

PL2 31.png
Select 'Run Module Create' and press 'Accept Order'.
PL2 32.png
If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon.
PL2 33.png

Virtuozzo VPS + Odin Key Administrator

In these steps we will show you how to link Odin Key Administrator with Virtuozzo VPS through a product addon.

It is required to set a key type in your 'Odin Key Administrator' → 'Module Settings' to 'VIRTUOZZO'.
Only in this way a linked product will create a license for Virtuozzo VPS product.
Note 1: You can also link these products using configurable options.
Note 2: In order to create a license successfully, you have to select at least one feature from a dropdown menu.

PL2 34.png
1. Start by creating 'IP' custom field at the main product which will be visible on the order form.

To do so, go to 'Setup' 'Products/Services' 'Products/Services' and edit your VirtuozzoVPS product.

PL2 35.png
2. Open 'Custom Fields' tab, enter 'IP' into 'Field Name' and mark 'Show on Order Form' checkbox.

Additionally, you can enter a description of this custom field and set up field validation (it is one line validation, do not split it into two lines):

/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/

Confirm changes through pressing 'Save Changes'.

PL2 36.png
3. It is time to create a product addon which will trigger the relation.

Go to 'Setup' 'Products/Services' 'Products Addons' and press 'Add New Addon'.

PL2 37.png
4. Enter addon name, its description and recurring price.

Choose billing cycle from 'Billing Cycle' dropdown menu. It is advised to set up the same billing cycle as in the main product.
Additionally, you have to mark 'Show on Order' checkbox and checkbox next to the main product. In this example it will be 'Odin Group - VirtuozzoVPS'.
Next, press 'Save Changes'.

PL2 38.png
5. Now, create a relation at your 'Product Linker' 'Basic Relations'.
PL2 39.png
To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.

Do not forget to type IP address. Afterwards, press 'Submit Order'.

PL2 40.png
Select 'Run Module Create' and press 'Accept Order'.
PL2 41.png
If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon.
PL2 42.png

Plesk Extended + Odin Key Administrator

In these steps we will show you how to link Odin Key Administrator with Plesk Extended through a product addon.

There are a few key types in your Odin Key Administrator that are licenses for Plesk Extended.
In this example we will use 'PLESK_10_AND_LATER' key type.
Note 1: You can also link these products using configurable options.
Note 2: In order to create a license successfully, you have to select at least one feature from a dropdown menu.

PL2 43.png
1. Start by creating 'IP' custom field at the main product which will be visible on the order form.

Go to 'Setup' 'Products/Services' 'Products/Services' and edit your Plesk Extended product.

PL2 44.png
2. Open 'Custom Fields' tab, enter 'IP' into 'Field Name' and mark 'Show on Order Form' checkbox.

Additionally, you can enter a description of this custom field and set up field validation (it is one line validation, do not split it into two lines):

/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/

Confirm changes through pressing 'Save Changes'.

PL2 45.png
3. It is time to create a product addon which will trigger the relation.

Go to 'Setup' 'Products/Services' 'Products Addons' and press 'Add New Addon'.

PL2 46.png
4. Enter addon name, its description and recurring price.

Choose billing cycle from 'Billing Cycle' dropdown menu. It is advised to set up the same billing cycle as in the main product.
You also have to mark 'Show on Order' checkbox and checkbox next to the main product. In this example it will be 'Odin Group - Plesk Extended'.
Next, press 'Save Changes'.

PL2 47.png
5. Now, create a relation at your 'Product Linker' 'Basic Relations'.
PL2 48.png
To check if the relation works as it should, place an order from the admin area for the main product with the addon triggering the relation.

Do not forget to type IP address. Afterwards, press 'Submit Order'.

PL2 49.png
Select 'Run Module Create' and press 'Accept Order'.
PL2 50.png
If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon.
PL2 51.png

Client Area

At this section we will try to visualize how a client may benefit from the connections made between certain products.

Let's take a look at an exemplary situation.

Administrator has created a connection between a VPS product: VPS 2x2.4GHz 16 GB RAM, 1TB HDD

and allowed to purchase two addons along with it:
- cPanel License
- Direct Admin License
Our Test Tester client decided to add cPanel License to the cart next to the VPS product.
Thanks to the connection created in Product Linker addon, the final price is lower than as if the two items were ordered separately.

PL2 52.png
When items are activated, client may see their pricing on the products list.
PL2 53.png

Tips

1. If your client orders a product with settings triggering two relations with the same product, only one product will be created.
2. If your client orders product configurable options upgrade/downgrade, old linked product bound by previous configurable option will stay active.
You need to remove the link between an old linked product and a main product in an addon, and terminate old linked product manually.
3. If a child product is at the same time a parent product in the other relation, changes made on its parent will be also commanded on its child.
4. Keep in mind that the second product, linked by the module, is never visible in the cart. It is automatically added once the first one is activated.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Product Linker For WHMCS