Paymenter
The VirtConsole extension for Paymenter automates the instance lifecycle from order to termination. Paymenter is an open source billing panel; the extension plugs into its server-extension system. It covers:
- Creation
- Suspension and unsuspension
- Termination
- Package upgrades (plan changes)
- A Launch Control Panel button that gives customers a one-click SSO login into the panel
Before you begin
Section titled “Before you begin”- A working panel with at least one instance plan. See Quick setup.
- A billing API token, generated on the management server with
vcli api:billing-token generate. See API tokens. - A Paymenter installation you administer.
Install the module
Section titled “Install the module”The extension ships with the panel release under billing_system_modules/Paymenter/ as a single folder named HypervisorV2. Copy that folder into the extensions/Servers/ directory of your Paymenter installation so the file path reads extensions/Servers/HypervisorV2/HypervisorV2.php, then enable the extension in the Paymenter admin area.
Connect to the panel
Section titled “Connect to the panel”In the Paymenter admin area, add a server using the VirtConsole extension and fill in:
| Field | What to enter |
|---|---|
Hostname |
Your management server hostname, as a URL (for example panel.example.com). |
Access Hash |
The billing API token generated with vcli api:billing-token generate. See API tokens. |
The extension always connects over HTTPS and sends the token as a bearer token. Use the Test Connection action to confirm Paymenter can reach the panel before you assign the server to a product.
Product and configurable options
Section titled “Product and configurable options”On the product’s extension settings, the extension loads its dropdowns live from the management server:
| Setting | Purpose |
|---|---|
Plan |
Any instance plan from your management server. |
Hypervisor Group |
Instances deploy onto an available hypervisor from this group. |
Hypervisor |
A specific hypervisor. Used when the override option below is set to Yes. |
Override Hypervisor Group to Selected Hypervisor |
No or Yes. Set to Yes to skip the group and deploy on the hypervisor selected above. |
When an order provisions, the extension finds or creates the panel user by the customer’s email address (with a random generated password), then creates the instance with the product’s plan and target. The instance ID is stored on the Paymenter service so later actions can find it.
Client area
Section titled “Client area”The customer’s service page gets a Launch Control Panel button. It generates a one-time SSO link and signs the customer straight into the user panel to manage the instance. Power control, reinstall and other instance actions are not offered inside Paymenter; customers use the panel for those after the SSO login.
Common problems
Section titled “Common problems”- The extension does not appear in Paymenter. The folder is not at
extensions/Servers/HypervisorV2/or the class file name does not match the folder. Check the path and reload the extension list. - Provisioning fails with a generic error. The extension reports API failures as a single generic message. Check that the
HostnameandAccess Hashare correct and that the token is not IP-restricted to a different address than the Paymenter server, then retry. - Upgrade does not change the instance. The extension sends only the new plan ID on upgrade; add-on resources and per-option customisation are not supported by this module. Sell different plans instead.
- The Launch Control Panel button fails. The panel cannot be reached from the Paymenter server, or no panel user exists for the customer’s email address yet. Check the server connection and that the service was provisioned by the module.
For panel-side issues, see the FAQ.

