VorticPanel

Sell KVM VPS and GPU servers from WHMCS.

The module runs the whole lifecycle from WHMCS. A server is made when the order is paid, suspended when an invoice is overdue, and terminated when the service is canceled. Clients manage it from WHMCS's client area, or click through to the panel already signed in.

Start a free trialRead the setup guideEvery feature on up to 3 nodes for 15 days.
Works with
WHMCS 8, PHP 7.4 or newer
Lifecycle
Create, suspend, unsuspend, terminate, upgrade
Usage billing
Traffic and GPU hours through Metric Billing
Service #1042 · GPU 1× RTX 4090 · hourly, paid from credit
  1. Oct 3 · 14:02Order #1042 paid; credit covers its first hoursgi_7k2m9q created on fra1-gpu-01 with 1× RTX 4090, waiting for setup
  2. 14:03Client clicks Set up the instanceSigned in with a one-time link; PyTorch 2.5 chosen
  3. 14:05Service page shows the SSH commandRunning · ssh -p 40000 root@203.0.113.5
  4. Oct 22 · 01:15Credit left covers under 2 hoursLow-credit email sent to the client
  5. 03:15Credit used upSuspended with the reason “Out of credit: add funds to start it again”
  6. 08:31Client adds fundsUnsuspended and running, /workspace as it was
  7. Oct 29 · 17:20Immediate cancellationTerminated; 621.98 running hours invoiced as final usage

One GPU service's month, from both sides.

WHMCS takes the order and the money, and the panel builds, suspends and meters. The module keeps the two in step. It checks prepaid credit each time WHMCS's cron runs and whenever an invoice is paid, and bills the last hours when a service ends.

Servers follow the same steps, with the operating system in place of the image and traffic in place of hours.

What it does

Options on the order
Configurable options for the location, the operating system or image, extra IPv4 addresses and a backup plan. Or let clients pick the operating system when they first open the panel.
The client area
The service page shows the server's status, addresses, resources and traffic, with Start, Restart, Shut down, Force off and Reset root password, and keeps itself up to date.
Sign-in from WHMCS
Open control panel signs the client in with a link that works once, within a minute. Their own two-factor still applies.
SSH keys on the order
An SSH Key field takes the client's public key, and a new server or GPU instance accepts it from the start. A private key pasted by mistake is wiped from the order and not sent on.
Usage on the invoice
Traffic and GPU hours go on renewal invoices through Metric Billing. When a service is terminated, the hours and traffic not yet billed are invoiced at once.
Prepaid GPU hours
With Pay from credit, GPU instances run on the client's account credit. They're suspended when it runs out and start again when the client adds funds.
Accounts by client ID
Each client's panel account is the one this WHMCS made for their client ID, or one your staff link to them. Signing up to WHMCS with someone else's email gets nothing of theirs.

What happens when

Each action is one call to the panel's API, safe to repeat. A create that timed out, or was clicked twice, still makes one server.

In WHMCSIn the panel
Create (the order is paid)The client gets a panel account linked to their client ID, and the server is built. Its address, hostname and ID are saved on the service.
Suspend (an invoice is overdue)The server is suspended, with WHMCS's reason, such as Overdue on Payment.
Unsuspend (it's paid)The server is unsuspended.
Change Package (an upgrade or downgrade)The server moves to the new package. Extra addresses follow the Extra IPv4 option, and its backup plan the Backups option.
Terminate (the service is canceled)The server is destroyed, its addresses freed, and any usage not yet invoiced is billed.

Setting it up

  1. 1

    Download the module

    From Downloads in your account, and unzip it into your WHMCS folder.

  2. 2

    Make an API key

    In the panel, under API & webhooks, with the Billing module preset and your WHMCS server's address.

  3. 3

    Add the server

    In WHMCS, add your panel as a server with the key as its password, and put it in a server group.

  4. 4

    Set up products

    On each product's Module Settings, pick the package or GPU offer, the location and the operating system.

  5. 5

    Set up on payment

    Tick automatic setup on the first payment, and servers are made with nobody clicking.

Questions

Which WHMCS versions does it work with?

WHMCS 8, on PHP 7.4 or newer with the curl extension. The module sends the API key only over HTTPS.

Does the module cost extra?

No. It comes with every license and the free trial. Download it from your account.

Can I bill GPU instances by the hour?

Yes. Price GPU running hours, and allocated hours if you charge for held cards, under WHMCS's Metric Billing, and the module reports them. With Pay from credit on, clients pay for their hours from account credit as they go.

Can clients pick the location and operating system?

Yes, with configurable options named Location and Operating System. An option can show clients a friendlier name than the node group's, such as New York.

What about servers I already have, such as imported ones?

After an import from VirtFusion or Virtualizor, the switch tool that comes with the module moves their WHMCS services onto your VorticPanel products, each linked to the server it became, with its price and due date kept. For any other server, enter its ID on the service's module tab to link the two. On the same tab, staff can link a client to a panel account that has the client's email address.

Do I have to use WHMCS?

No. There's a Blesta module for Blesta 6, without usage billing or Pay from credit. Other billing panels make the same API calls, with idempotency keys, signed webhooks and the Billing module preset for their API key.

Connect your WHMCS on the free trial.