Choose between a hosted catalog, WHMCS and a custom API store
“White label VPS hosting” can describe different customer experiences. Decide who takes the payment, where the customer signs in and who sets the selling price before choosing a reseller tool. A branded catalog and an independent billing system are different products.
| Setup | Customer checkout and prices | What you operate |
|---|---|---|
| VPSRay hosted catalog | VPSRay checkout, accounts and public retail prices. Hosted catalogs do not add markups or pay commissions. | A branded catalog; membership is required to publish. |
| Your WHMCS store | Your WHMCS checkout, customer accounts, retail prices and welcome emails. | A licensed WHMCS installation, the reseller module and its cron hook. |
| Custom API storefront | Your application and customer billing; your own retail prices. | A server-side integration, customer experience and order-recovery process. |
This guide covers the VPSRay WHMCS reseller module. WHMCS and API access do not require the hosted-catalog membership. Server purchases and monthly renewals still require sufficient funds and the appropriate permissions. End customers using your WHMCS store do not need VPSRay accounts.
1. Prepare WHMCS, your API key and the billing wallet
Use your own licensed WHMCS installation in its supported PHP environment. The module needs PHP cURL, working HTTPS certificate verification and WHMCS cron. Follow the current setup guide for the supported installation details. Back up the WHMCS database before installing or upgrading the module.
- Create a VPSRay account with purchasing enabled and review the prices available to that account.
- Create a dedicated API key using the WHMCS preset. Review the permissions and explicitly authorize wallet spending.
- Store the key in the WHMCS server Password field—not in a product description, customer field, browser script or public repository.
- Fund the USD or USDT wallet that will pay the service costs. Keep the currency consistent with the module settings.
- Install both the server module and the included cron hook, then run Test Connection.
Test Connection checks authentication, required permissions and wallet access. It does not create an order, debit the wallet or establish that a real server has been activated. That makes it a useful first check, followed by a separate controlled purchase test on your own installation.
2. Map one monthly VPS or dedicated product exactly
Start with one WHMCS server product and monthly customer billing. Select the exact public VPSRay plan ID, location and operating system shown in the authenticated catalog. The configuration must support monthly billing. Do not substitute the cheapest advertised variant for the location and image your customer will receive.
| Module setting | What to verify |
|---|---|
| Plan ID | The public identifier from the current account quote, not an internal infrastructure reference. |
| Location and operating system | Exact offered values for the same configuration. |
| Wallet currency | USD or USDT, matching the balance you intend to use. |
| Maximum initial cost | An integer in minor units covering the full initial quote, including setup fees. |
| Maximum monthly cost | An integer in minor units covering the approved monthly server cost. |
| Billing contact | Your reseller or business details, not an end customer’s billing record. |
| Monthly wallet renewal | Explicit authorization, reviewed before a new module order. |
For USD, a cost limit of 2000 means $20.00. Use the same two-decimal minor-unit convention for the module’s supported USDT wallet amounts. Enter whole minor units instead of a decimal money string. Check the server hostname requirements, especially when using a Windows image.
Set your product name, description, retail price, customer currency and welcome email in WHMCS. Configure automatic setup after the first customer payment. The module does not replace your retail prices with your VPSRay account prices.
3. Set a resale price that includes more than the server cost
The difference between retail revenue and server cost is not final profit. Include payment processing, support time, software, customer acquisition, refunds and any applicable taxes in the model appropriate to your business. Keep currencies separate; the module does not automatically exchange USD and USDT balances.
- Use the current quote for the exact location, image and monthly term.
- Record one-time setup costs separately from recurring server costs.
- Set a cost limit that reflects your reviewed budget rather than an unlimited authorization.
- Model a low-balance and a late-customer-payment scenario before opening sales.
- Review actual paid invoices and support costs instead of treating every created order as revenue.
4. Verify payment, activation and server access separately
A customer pays the retail invoice in your WHMCS. The module then uses the reseller account and the reviewed configuration to create the VPSRay invoice and pay it from the selected wallet. A confirmed paid invoice establishes payment; it does not by itself establish that the server is ready.
| State to verify | What it establishes | What to do next |
|---|---|---|
| Customer invoice paid | Your WHMCS recorded the retail payment. | Follow the existing module order. |
| VPSRay invoice paid | The server cost was paid from the reseller wallet. | Check that same service for activation. |
| Service active | VPSRay confirmed delivery status. | Confirm installed login details and monthly authorization. |
| WHMCS delivery ready | The module confirmed activation, renewal authorization and verified login delivery. | Check the customer panel and branded welcome process. |
Keep the module’s integration journal. It preserves the original order identity, invoice and service references across interruptions. If a response is lost, use Check activation or wait for the included cron hook to check the same service. Do not create a replacement WHMCS service merely because the original response was delayed.
Module 1.0.1 checks a previously paid invoice without sending another wallet payment request. It also verifies that payment belongs to the expected invoice and service. These recovery rules reduce ambiguity; your own controlled licensed-host test is still necessary before customer launch.
5. Keep customer billing and monthly wallet renewal distinct
Your customer owes the retail invoice in WHMCS. Your reseller account separately authorizes the VPSRay monthly server cost. An unpaid WHMCS customer invoice does not automatically stop VPSRay wallet renewals. Plan your own collection and cancellation process before the next wholesale renewal, which may be collected before the due date.
The module’s Stop monthly renewal action revokes wallet authorization and requests cancellation at the end of the paid VPSRay term. A WHMCS cancellation request records the same intent and can recover through cron. It does not immediately destroy the server or refund already paid time. Check the confirmed end date and outcome.
For an unpaid initial order, the cancellation path does not pay the invoice. It follows that same invoice through resolution or expiry and waits for the service cancellation outcome. For an interrupted order response, it first reconciles the existing order identity rather than sending a new purchase.
Keep sufficient reseller wallet credit and monitor the existing renewal invoices. If the VPSRay renewal is unpaid, its overdue enforcement and remote service confirmation govern the outcome. Suspension alone does not prove that every independent infrastructure cost has stopped.
6. Complete a controlled launch checklist
- Confirm one exact monthly product and a fresh quote below both cost limits.
- Complete an intentional paid order on your licensed WHMCS installation with enough balance.
- Verify one journal record, one accepted invoice, one service and one wallet debit.
- Check the same WHMCS service again and confirm that no replacement order or second debit appears.
- Confirm pending-to-active behavior, installed credentials, your customer panel and your branded welcome email.
- Check a low-balance case without treating it as successful activation.
- Verify monthly renewal and end-of-term cancellation separately, retaining their evidence.
Back up the integration journal with WHMCS and restrict database access. Do not clone a live journal and production key into another running installation: two hosts operating the same services can create confusing automation. Use isolated test settings for staging and rotate keys before expiry.
Common questions
Do my WHMCS customers need a VPSRay account?
No. They use your WHMCS customer accounts and checkout. The module connects to your reseller account to buy and manage the supported monthly server services.
Can I set my own VPS resale prices?
Yes in your own WHMCS or API storefront. Your retail price is separate from the VPSRay account quote. The optional hosted catalog uses VPSRay retail prices and checkout instead.
Does API access require a hosted storefront membership?
No. WHMCS and server-side API access do not require that membership. You still need suitable API permissions, purchasing access and sufficient funds for the services you buy.
Will an unpaid WHMCS customer invoice stop monthly VPSRay charges?
Not by itself. Retail billing and the reseller wallet authorization are separate. Use the supported Stop monthly renewal or cancellation-request flow before the next wholesale renewal and verify the result.
What should I do after an order timeout?
Keep the original WHMCS service and integration journal. Check activation or let cron recover the existing order. Do not create a new service or a fresh order identity to replace an unresolved purchase.
Does Test Connection certify live provisioning?
No. It verifies access and required account endpoints without a purchase. Verify a controlled paid order, activation, renewal and cancellation on your licensed installation separately.
Official documentation
Documentation reviewed October 21, 2026. Check current product terms and the linked documentation before choosing a setup.