Use this method if you want to sell clean Plesk instances together with a number of commercial extensions. This method does not support the in-app purchasing scenario.
Implementation details
Use this method if you want to upsell extensions in your online store for already provisioned Plesk instances. When one of your customers clicks the “Buy Now” button in the extension catalog in Plesk, they are taken to your online store where they can complete their order.
After you order an extension license via the Partner API, it is attached to the main Plesk license. The extension license will be installed on Plesk server the next time Plesk connects to KA to update the main Plesk license (typically, this takes from one day to one month). The customer can also perform the following steps to install the extension license immediately (this could be done in your online store UI, for example):
By default, when a customer clicks the “Buy Now” button in the extension catalog in Plesk, they are taken to Plesk store, not your store. You can change this behavior by specifying your own store hostname in the panel.ini
file. Once the store hostname has been customized, all “Buy Now” links and other possible upsell links displayed inside the extensions will lead to your online store.
To change the URL of the online store linked to by the "Buy Now" links, edit the panel.ini
file and add the following line in the [extensions]
section:
[extensions]
buyUrl = "https://shop.com"
where "shop.com" is the domain name of your online store.
Here’s an example of how it would work:
https://go.plesk.com/buy-plesk-ext/some-extension-name?kn=PLESK.12345678.0001&token=U29NZVVuaXF1ZUdVSUQxMjM%3D&product-id=SomeProductID
The modified URL used by an extension once you have specified your store hostname in the panel.ini
file: https://shop.com/?extension-id=some-extension-name&kn=PLESK.12345678.0001&token=U29NZVVuaXF1ZUdVSUQxMjM%3D&product-id=SomeProductID
The license purchase workflow would look like the following for "Single Offer" and "Multiple Offers" licensing models:
Now, every time a customer clicks the “Buy Now” button, they are taken to your online store. Make sure that your online store can handle the parameters passed in the modified URLs:
Parameter Name |
Example |
Description |
|
|
The ID of the extension. Find the list of extensions and their IDs (“codes”) here. Choose the appropriate Partner API constant for the requested extension and include it in the Partner API call. The list of Partner API constants is available here: Please note that “Extension ID” corresponds to |
|
|
The main Plesk key number. Pass this key number as the parent key number in the Partner API call. |
|
|
Optional parameters. Required only for the “Individual Offers” licensing model. With this licensing model, website owners can purchase products and services by themselves as needed. This is done by adding a link in the Plesk UI that allows end users to place orders. First, the end user selects the desired website, then selects the desired product among the products offered by the extension, and then proceeds to the online store to complete their order. The Note that “Extension ID” and “Extension Product ID” corresponds to The
|
|
|
Here is how license purchase workflow would look like for "Individual Offers" licensing model:
Note: This feature will only affect extensions sold by Plesk that use “go.plesk.com” as the destination hostname. If an extension is sold directly by an ISV, its “Buy Now” links and other possible upsell links will not be affected.
Once you have changed the URL for the “Buy Now” links as described above, all commercial extensions, including those that will be added to the Extension Catalog in the future, will lead to your store, even if you have not set them up yet. You can make sure that your customers will only see the commercial extensions that you are ready to sell by configuring a smart proxy server for the Plesk Extension Catalog. This proxy server will take the Extension Catalog feed, filter out the extensions that you are not ready to sell, and provide the modified feed to your Plesk instances.
Implementation details:
Important: The proxy only affects the extensions whose “Buy Now” links point to https://go.plesk.com. Free extensions and extensions whose “Buy Now” buttons point elsewhere are not filtered by the proxy. They will be visible in the Extension Catalog on your Plesk servers regardless of the proxy settings.
[extensions]
catalog.url = http://<proxy-address>:8080
The picture below shows how the proxy script can be used with the Extension Catalog: