License Installation Workflow
Here is the typical workflow for the creation and the installation of a third-party license for an extension using the single offer, multiple offers, or pay-as-you-go licensing models in Plesk:
Step by step description of the above diagram:
A customer comes to Plesk Online Store and orders a new third-party license.
Plesk Online Store takes care of payment but delegates creation of the new license to KA.
KA calls the ISV endpoint with License Creation/Renewal/Upgrade Request (the PURCHASE action) to request a new license, and, after a successful response, stores the body of the license in the KA database.
Finally, the customer gets an activation code for a newly created license.
The customer goes to Tools & Settings > License Management in the Plesk user interface, goes to the Additional License Keys tab, clicks Install Key, and then enters the activation code:
Plesk connects to KA to retrieve the license body by the entered activation code.
When the license is successfully installed, Plesk extension can retrieve it using Plesk SDK.
Here is the typical workflow for the creation and delivery of a third-party license for an extension using the individual offers licensing model in Plesk:
A step-by-step description of the above diagram:
- A customer (Plesk administrator or a Plesk end user) logs in to Plesk. The customer selects a domain or a website and chooses the desired product among the products offered by the extension.
- The extension generates an unique token that will be associated with the order and will be used through the entire workflow.
- The customer is forwarded to Plesk Online Store to complete his or her order. The token is passed as one of the query string parameters.
- The Online Store processes the payment, notifies KA about the purchase, and passes the token to KA.
- KA calls the ISV endpoint with a License Creation/Renewal/Upgrade
Request (the PURCHASE action) passing the token
- The extension checks the status of the order on the ISV side using the token. When the order is ready for fulfillment, the extension executes it (e.g. delivers the product to the selected domain/website).
- The protocol used to check the status of the order is not specified and can vary from extension to extension.