Introduction
Premium Domain Names (often referred to as "Premiums") are domain names that typically promise higher income due to their memorable, short, or special nature, and the expected public interest or DNS traffic they generate. The main distinction of premium domains lies in their pricing. Premium domains usually come with higher renewal costs, and their registration or aftermarket sale prices are generally higher.
TLD providers manage lists of premium domain names. Some of these lists are publicly available. It's important to note that TLD providers may upgrade a regular domain name to premium status. We have observed such cases with TLDs like .xxx, .space, and others.
WHMCS - Related Configuration
Premium Domains
Navigate to System Settings > Domain Pricing. Enable Premium Domain Support.
Then configure the Premium Domain Margin Settings.
Lookup Provider
Choosing the right lookup provider is crucial because plugins like WHMCS' Namespinner cannot deliver the required data. We recommend using "CentralNic Reseller" since you are already using it for business with us. Only a module from a domain registrar with premium domain support can provide premium domain information during availability checks. WHMCS' Namespinner relies on public WHOIS data and therefore does not have access to premium domain data.
WHMCS Namespinner
WHMCS' Namespinner
- is slow
- is not reliable (due to the nature of public WHOIS data)
- supports a limited number of TLDs (for example not: .es)
- has no access to premium domain data
WHMCS' Namespinner will
- show premium domains as available even if the premium domain feature is disabled
- offer premium domains at the regular domain price/TLD price, which applies to
- Renewal Price
- Registration Price
- Transfer Price
Premium domains cannot be detected by a WHOIS-based lookup provider. WHMCS will offer and invoice them at the standard TLD price.
Registrar Module as Lookup Provider
A domain registrar fetches data directly from the TLD provider's system, not considering public WHOIS data. This allows for faster access to reliable data, including premium domain data.
We recommend using the CentralNic Reseller Module as your lookup provider
CentralNic Reseller / HEXONET - Availability Check Behavior
If the premium domain feature is turned on, everything works as expected - domains are shown as available or taken. Except the currency returned to WHMCS for the premium domain is not configured in WHMCS (read next chapter for details).
If the premium domain feature is turned off, there a single issue: Available premium domains are shown as available. They should better be returned as taken or reserved to follow the status of the Premium Domain Feature Setting. We are aware of it and have a high priority item in our backlog for patching this. WHMCS will be showing that premium domain as available at the regular tld pricing.
By using our Extended Domain Search for WHMCS, you'll have even more extended options at your disposal.
WHMCS - Core Design Issues
Currencies & Availability Check
NOTE: CentralNic Reseller returns pricing in your account currency, while HEXONET returns it in the currency of the underlying TLD provider. Check the module log for API Command CheckDomains to identify the specific currency or check your account/pricing list.
There is no perfect solution for returning prices, and here's why.
Issue 1: Missing Currency
As mentioned, the domain registrar returns premium domain pricing data to WHMCS as part of the Availability Check/Domain Search. This does not work well if the respective currency returned is not configured in your WHMCS! The domain is then shown as taken even though it is available.
Usually, it is not desirable to have numerous currencies configured because that would mean offering your products in those currencies.
CentralNic Reseller handles this better than HEXONET, as you can expect it to return pricing in your account currency at CentralNic Reseller. With HEXONET, different currencies might be returned (USD, EUR, CAD - depending on the underlying TLD provider). At the point of premium domain renewals, HEXONET might have fewer issues (price difference between WHMCS and the registrar system), but it requires more currencies configured in WHMCS. Pros and cons...
Therefore, it would be better for registrars to convert the price to the default currency configured in WHMCS. Agreed, and this is what natively integrated modules usually do! But the story continues...
Maybe it is an option to change the default currency of your WHMCS to your account's currency at CentralNic Reseller, if you're freshly starting with WHMCS using CentralNic Reseller. Check this guide: WHMCS | Change the Default Currency.
Premium Price Storage
WHMCS stores premium domain prices in the table "tbldomains_extra." After successful Domain Registration or Transfer, you'll see multiple entries for the respective domain name:
- registrarCurrency - the currency id matching the currency of the returned premium price
- registrarCostPrice - the cost price at the registrar for either type "transfer" or "registration" (your purchase price)
- registrarRenewalCostPrice - the premium renewal cost at the registrar (your purchase price)
WHMCS has no tool or synchronization job in place for updating that data!
Issue 1: A price increase for premium domains is not expected to happen - that's a statement we received via customer support from WHMCS. The real world is different - inflation, for example, may drive price changes at the TLD Provider for Premium Domains. They are digital products like TLDs.
Issue 2: A TLD Provider can also upgrade a regular domain name to premium. WHMCS can't handle that. Missing data in the table "tbldomains_extra" has to be added manually and the domain to be flagged as premium via the table "tbldomains". Usually, this ends in customer support.
Issue 3: You may transfer a premium domain to another registrar. The premium pricing returned by the availability check is provided by your lookup provider of choice and may differ from the pricing at the configured / underlying TLD Provider. The design of WHMCS is about modularity and having TLDs with different registrars, but the design of the premium domain pricing is sadly not covered that way.
Issue 4: WHMCS had a bug in a former version that wasn't saving the registrarCostPrice data portion at all. There's no tool available for repairing that and, as mentioned, no sync job in place.
Therefore, WHMCS should either sync the premium domain prices to align them with the Domain Registrars' System or request them in real-time on demand.
Find our feature request here:
WHMCS Feature Requests - Domain Synchronization Process & Premium Domain Names
Premium Domain Renewals
This is the most dramatic point in WHMCS. The renewal price is based on the registrarRenewnalCostPrice available in table "tbldomains_extra". This price is probably outdated or missing (as explained right before). By that, WHMCS is either invoicing for the regular renewal price (domains that saw an upgrade to premium on TLD Provider-side) or for an outdated price (prices have changed on TLD Provider-side)!
This is the most critical point in WHMCS. The renewal price is based on the registrarRenewalCostPrice data partion available in the table "tbldomains_extra". This price can be outdated or missing (as explained earlier). Consequently, WHMCS either invoices for the regular renewal price (for domains upgraded to premium by the TLD provider) or for an outdated price (if prices have changed on the TLD provider side)!
Your end-customers pay a lower price via WHMCS than you pay at your Domain Registrar. This is not a good business model around Premium Domains.
We can ensure that this is NOT happening with OUR CentralNic Reseller and HEXONET Modules as we have a price comparison check in place that identifies a mismatch and will let the order fail. Natively integrated modules of WHMCS usually don't do that.
Such cases are said to be not known to WHMCS. Well, if they don't check for that explicitly in their modules, how should they be aware of it? Resellers are not aware of this as the business they do and the money they earn cover this particular loss of money. By that, they do not notice this WHMCS Core issue when using natively integrated registrar modules. Domain Registrars aren't blocking such renewals unless they allow the expected price to be forwarded and checked as part of the renewal request.
Finally, we did our homework on this - let me point you to our Domain Monitoring Addon that helps in such cases by providing a To-Do List entry "alerting" you on the dashboard level plus providing tools for repairing the data. The existing renewal invoice is, as mentioned, wrong, and you'll have to either issue a new additional invoice covering the cost discrepancy or refund the existing invoice and ask the customer to renew again.
WHMCS - Confirmed Open Bugs
We reported our findings back to WHMCS over the years. Some defects are still left untouched:
Bug ID | Issue |
#CORE-12142 | Premium Price not updating in cart when changing the cart's currency (while the currency setting updated fine) |
#CORE-18703 | Premium Price not updating in cart when margin settings changed (via admin area) |
The above-explained core defects of WHMCS have been brought up as well but were not accepted as such. That would mean considering a major rewrite of the premium domain integration in WHMCS, which is probably not of interest.