PD DigitalOcean MySQL for WHMCS

PD DigitalOcean MySQL — Sell Managed MySQL as a Native WHMCS Product

Sell managed MySQL databases on DigitalOcean under your own brand — provisioned, billed and managed in WHMCS

Made and supported by Projektif Digital Ltd. Runs inside PD Modules, the panel every module installs into.

Databases

PD DigitalOcean MySQL lets a hosting company sell DigitalOcean managed MySQL as its own database product. Your customer orders in your WHMCS cart, a dedicated MySQL cluster is built on your DigitalOcean account, and your customer manages it from your client area with your branding, never needing a DigitalOcean login. You set the price, DigitalOcean bills you its own price, and the difference is your margin.

MySQL is the database most web applications already expect, which makes it the easiest managed database to sell to existing hosting customers who have outgrown a database on a shared server. It is built for hosts who want a MySQL line with its own backups, failover and access control, without running database servers or answering a ticket for every allowed-IP change.

Why hosts choose PD DigitalOcean MySQL

A dedicated MySQL cluster per customer. Each order gets its own cluster in the region, plan and version the customer chose. Nothing is shared with another customer, so one tenant's load never lands on another's database.

Standard or Advanced Edition, your choice. The edition is set per product as its Engine. Advanced Edition needs no partnership with DigitalOcean and offers dedicated plans from 8 GiB RAM, so you can sell a small starter database and a larger production tier from the same module.

Failover you can price. High availability is a checkout option you price yourself: one standby node on Standard Edition, two on Advanced Edition.

Backups the customer can see. DigitalOcean backs the cluster up every day, and a Standard Edition database's Backups page lists those backups with date and size. Restores are done by you.

Customers help themselves. A copy-ready mysql command, a CA certificate download, password regeneration and an allowed-address list sit on the customer's own page.

Nothing left billing. Cancelling deletes the cluster at DigitalOcean and confirms it is gone, even after a licence lapse.

How it works

  1. Connect your DigitalOcean account. Add your DigitalOcean API token once on a WHMCS server record, using a token with Full Access, then press Test Connection.
  2. Create your product. Create a product with the module, pick MySQL as the Engine (Standard or Advanced Edition), then set a default region, plan and name prefix. Switch on automatic setup so a paid order provisions by itself.
  3. Generate the checkout options. Open the module's Products page and press Generate. It builds the product's Region, Plan, High availability and Engine version options from DigitalOcean's live catalogue, all priced at zero for you to set.
  4. Your customer orders. They choose their options and pay. The cluster is built on your DigitalOcean account in the background, and the connection details appear on their own once it is online, usually within a few minutes.
  5. You get paid, they manage it. WHMCS keeps billing as usual, and the customer copies the connect command and sets their own trusted sources.

What you get in WHMCS

Selling and pricing

  • Checkout options for MySQL generated from DigitalOcean's live catalogue: Region, Plan, High availability and Engine version
  • Standard Edition and Advanced Edition as separate engines, so each can be its own product with its own price
  • Plans quoted as vCPU and RAM with storage included; versions read live, and a blank version means DigitalOcean's default
  • High availability as a priced checkout option
  • Generated choices start at zero in every currency and you price each one under System Settings → Products/Services → Configurable Options; a sync never changes a price you have set
  • Choose which choices customers see at checkout; anything hidden uses your product's default and keeps its price
  • Clusters are named with your own prefix and the service number

Provisioning you can trust

  • A paid order creates a dedicated MySQL cluster on your own DigitalOcean account, with no step by you
  • High availability provisions a primary and one standby on Standard Edition, and a primary and two standbys on Advanced Edition
  • An order DigitalOcean would refuse is stopped with a clear message before anything is created; Atlanta, Richmond and Kansas City carry only Premium plans
  • Every cluster is recorded before DigitalOcean is asked to create it, and pressing Create again never builds a second one
  • A provisioning failure appears in the service's activity with its reason, never left at "Provisioning"
  • A plan change through WHMCS's own upgrade flow resizes the running cluster in place; host, port and data are kept
  • Suspend replaces the trusted sources with a rule nothing matches: the cluster keeps running (DigitalOcean still bills it), the data is untouched, and the customer cannot lift the lockdown. Unsuspend restores exactly the sources saved
  • Terminating deletes the cluster at DigitalOcean with its users, databases and backups, and confirms it is gone. There is no retention period, so tell customers to take their own backup first

MySQL editions and backups

  • Advanced Edition offers dedicated plans from 8 GiB RAM and needs no DigitalOcean partnership
  • A database keeps its edition: moving a service to a product of the other edition is refused with a message, never resized
  • The Overview lists every Standard Edition product that is set to a plan over 4 GiB or to high availability, so you can move it before a customer orders
  • The Backups page lists DigitalOcean's daily backups with date and size for Standard Edition; Advanced Edition databases show no Backups page

Running it day to day

  • A Clients & Databases panel lists every cluster against the service paying for it, with engine, plan, region, endpoint and state
  • An Activity panel records every provisioning and lifecycle action with its outcome
  • A report shows your licence, whether a DigitalOcean account is connected and how many databases you run
  • A cluster deleted outside your billing system is flagged to you

What your customers get

The client area has Overview, Trusted Sources, Backups (where the engine lists them) and Activity under a Manage Database menu.

  • Connection details in one window: host, port, username and password (masked until Show, with Copy beside each), plus a ready-to-use mysql command with SSL required
  • The CA certificate as a download, for clients that ask for one; the connect command already uses TLS
  • Regenerate password in one click behind an in-page confirmation; the new password appears in the connection details
  • Trusted sources: add and remove the IPv4 addresses and ranges allowed to connect, with bad entries refused and changes applied within a minute
  • Recent activity: their latest actions, up to 40, each marked done or not
  • Cluster layout in plain words: how many standby nodes a highly available database has
Connection details for a MySQL database: masked password with Show and Copy, a ready mysql command and the CA certificate download
Connection details for a MySQL database: masked password with Show and Copy, a ready mysql command and the CA certificate download

The firewall, connection details and backups pages are each a switch on the product: turn one off and it is hidden and refused. The client area renders natively on WHMCS's Six, Twenty-One and Nexus themes, and every line of customer text is translatable, with overrides that survive updates.

Security built in

  • Your DigitalOcean API token is stored encrypted, only ever sent to DigitalOcean, and never shown on a customer page or in a customer message.
  • Each database password is stored encrypted and shown only to the signed-in owner of that service.
  • Every customer action needs a signed-in owner of the service and a valid security token.
  • When something fails at DigitalOcean, the customer sees a neutral message and the reason goes to your activity log.

One product, every feature

PD DigitalOcean MySQL is one paid module with everything included: both editions, high availability, backups listing, trusted sources and password reset. There are no add-on tiers to compare. It installs into PD Modules in one click, updates itself, and uninstalls cleanly: its own tables and settings are removed and no WHMCS files are modified.

If your subscription ever lapses, your customers are not cut off. A running database is never stopped, deleted or altered. New provisioning and admin configuration lock first, customers see a neutral "temporarily unavailable" message with their connection details still visible, and cancellations still complete. Renewing restores everything with nothing lost.

Requirements

  • WHMCS 9 or later on PHP 8.2 or later, with the ionCube Loader
  • A DigitalOcean account with billing enabled and an API token with Full Access
  • WHMCS's automation cron running, which finalises new clusters and confirms cancellations
  • PD Modules 0.2.322 or later, the free control panel every PD module installs into

Questions

What version of MySQL do customers get?

Whichever versions DigitalOcean currently offers for MySQL — the list is read live from DigitalOcean. If you expose the Engine version dimension at checkout, the customer chooses; otherwise they get your product default.

Can customers upgrade their plan later?

Yes — through WHMCS's normal Upgrade/Downgrade flow. The cluster is resized in place and the data is preserved, with no migration.

Can I still sell large MySQL plans and high availability after DigitalOcean's Standard Edition changes?

Yes, through MySQL Advanced Edition. DigitalOcean is limiting new Standard Edition MySQL databases to plans up to 4 GiB RAM with no standby nodes — from 15 October 2026 for DigitalOcean accounts that have never created a PostgreSQL or MySQL cluster, and from 30 November 2026 for every account. Databases created earlier are not affected. Larger plans and high availability continue in MySQL Advanced Edition, which you choose per product — it is part of DigitalOcean's public API for any account, with no partnership or special subscription needed. Plans there start at 8 GiB RAM and DigitalOcean prices them separately, so check its pricing before you set yours. From 30 November 2026 a Standard Edition product stops offering larger plans and high availability, and an order over the limit is stopped before anything is created, with a message naming Advanced Edition.

How do customers secure who can connect?

From the Trusted Sources page in their client area. They add their application servers' IP addresses; once any are added, only those can connect. The connect command we show also uses TLS.

What happens to the data when a service is cancelled?

Terminating deletes the cluster on DigitalOcean and cleans up every associated resource — zero orphans left billing on your account. Take a backup first if you need to retain data beyond cancellation.

Do I need my own DigitalOcean account?

Yes. You resell on your own DigitalOcean account, at your own margin. Your API token is stored encrypted on your WHMCS server and is never shown to a customer.

Does a lapsed PD Modules licence break my customers' services?

No. A licence lapse withdraws the management layer in stages but never stops, deletes or alters a running customer resource. Your customers keep serving throughout.

Which WHMCS and PHP versions does it need?

WHMCS 9 or later, on PHP 8.2 or later. It installs alongside whatever else you run — it adds its own tables and templates rather than modifying WHMCS files, so it does not collide with other vendors' modules or with a customised theme. Uninstalling removes its own tables and settings and leaves no orphans behind.

How do I get help?

Open a ticket from your client area, or use Get help inside the PD Modules panel, which attaches a diagnostic report — you see a preview of exactly what it contains, and can exclude any part of it, before anything is sent. Support is included with an active subscription; bug reports are welcome whatever your licence state.

What’s new in 0.1.87

  • A database whose setup did not complete now tells your customer so on their service page, instead of saying it is still being set up. Pages for a database being resized or removed now say that too.
  • A plan that DigitalOcean does not offer in the chosen region is now stopped at checkout, before payment, with a message naming the plan and the region. Pairs DigitalOcean refuses are remembered for 90 days.
  • Cancelling an order that was never built no longer leaves a failed database in your list of databases.
  • Syncing generated options now names DigitalOcean in its confirmation.

Get your website online with PD Hosting

UK hosting, domains and support from a real team. From a first site to a full server.

Terms and Conditions  ·  Privacy Policy

PD Hosting is the trading name of Projektif Digital Ltd, registered in England and Wales, company number 12482555.

PD Hosting
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.