Skip to content

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

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.

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.

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.

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.

  • 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 Hostname and Access Hash are 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.