Enhance
Create a customer organisation, subscription and optional website on an Enhance control panel when an invoice is paid. Not yet tested against a live panel.
The Enhance plugin provisions hosting on an Enhance control panel through its REST API. When an invoice is paid it creates a customer organisation for the client, an owner login, a subscription to your plan and, if you choose, a website.
This plugin follows Enhance's published API specification and has not been tested against a live Enhance panel yet. The request shapes come from the spec, not from running it. Try it on a test panel before you sell with it.
Before you start#
In Enhance, create an API access token for your master or reseller organisation, and note that organisation's ID (a UUID). Find the numeric ID of each plan you want to sell; the connection test lists them for you.
Set it up#
- Open Plugins and press Enable on Enhance Control Panel.
- Open Servers → Add server and choose the module Enhance.
- In Connection enter the panel's Hostname, a Port if it is not 443, and put the access token in Password / API token. The plugin always connects over HTTPS to
https://<hostname>/api. - In the Enhance options card set Parent organisation ID: the UUID of the organisation customers are created under.
- Save, then press Test connection on the Servers list. A good result reads "Connected. Plans:" followed by the plans with their numeric IDs.
- Open a product, set Module to Enhance and fill in:
- Plan ID (required): the numeric Enhance plan ID.
- Create a website for the service label: creates a site for the service's Label, which must then be a domain name.
- PHP version: Panel default or a version from 8.0 to 8.5.
What happens#
| In Tidemark Billing | In Enhance |
|---|---|
| Invoice paid, service activated | Creates a customer organisation, a login for the client's email, an Owner membership, a subscription to the plan and optionally a website |
| Service suspended / unsuspended | Sets the subscription's suspended flag; websites are not suspended separately |
| Product or plan changed | Changes the subscription's plan |
| Service terminated | Deletes the customer organisation |
| Log in to Enhance (staff) and Log in to control panel (customer) | A one-time single sign-on link for the owner |
If any step of creation fails after the organisation exists, the plugin deletes the organisation again and shows the error, so a retry starts clean. The generated password is stored encrypted on the service.
Things to know#
- Deleting. The plugin first asks for a forced delete, which removes all data. Enhance allows that only for some token roles. If the token is refused (403), the plugin falls back to a normal delete, which keeps the data in the panel.
- Email must be new. Creating a login with an email address that already exists in the panel fails. The error is shown and the new organisation is rolled back.
- Logins stay. Logins are not deleted on termination, because they may belong to other organisations.
- Error text. Enhance errors appear as
HTTP <status>: <code> - <message>. - Assumption. The API path
/apiis not part of Enhance's specification; the plugin assumeshttps://<panel>/api/.