We run WHMCS behind a handful of our own product sites, and the same thing kept happening. Someone reads the pricing page on WordPress, clicks Order, and lands on a billing portal that looks nothing like the site they were just on. A fair number of them never come back.
So we built a WordPress plugin to keep the whole flow on one site. We have now open sourced it under GPL-2.0.
What it does
You drop a [whmcs_checkout] shortcode on a page. The plugin reads your product groups and products from the WHMCS API, caches them for an hour, and renders a pricing grid plus a one page checkout. Payment is taken inline with PayPal, in sandbox or live mode. Once payment clears it calls AddClient and AddOrder, so you end up with a real client and a real order in WHMCS, and the buyer lands on a confirmation page with their login details.
Bits you might care about
Monthly through triennial billing cycles, plus setup fees, read live from WHMCS
Deep link straight into one product with ?pid=
An optional add-ons step and an annual support line item
Social signup with Google, Facebook and LinkedIn, so buyers can skip the registration form
Per product overrides in wp-admin for featured flags and feature bullets, so your pricing table reads the way you want without editing anything in WHMCS
Updates show up in wp-admin straight from the GitHub releases, so you do not need a separate updater plugin
Requirements
WordPress 6.0 or newer, PHP 7.4 or newer, a WHMCS install with API credentials, and a PayPal REST app if you want inline payment.
Where to get it
Source and issue tracker: https://github.com/ictinnovations/checkout-for-whmcs
Composer: ictinnovations/checkout-for-whmcs
It has been running on our own sites for a while and has taken real orders, but test it against a staging WHMCS before you point it at production. If something breaks, open an issue on GitHub and I will take a look. Happy to hear what is missing too.