Domains Configuration

From WHMCS Documentation

Revision as of 01:44, 8 May 2011 by Matt (talk | contribs)

This section of our docs explains how to configure domain registrar modules in WHMCS for the selling of domains to allow automated provisioning & management.

Setup > General Settings > Domains is where you configure which domain options you offer (register/transfer/own domain) and various payment and renewal related settings. More info on this specific page and its' options can be found @ http://wiki.whmcs.com/Domains_Tab

Registrar Configuration

  • Domain Registrars can be configured by going to Setup > Domain Registrars
  • Choose the registrar you want to configure from the dropdown of available registrars and then enter the relevant details for your account
  • Each registrar supported by WHMCS has specific instructions & requirements @ http://wiki.whmcs.com/Domain_Registrars
  • Here you can also set the default nameservers that WHMCS will use for domain only registrations ordered through the system
  • We have prepared a video tutorial for this section @ http://www.whmcs.com/tutorials.php?i=7

Configuring Domain Pricing

  • You can manage domain pricing in Setup > Domain Pricing
  • You need to setup all the TLDs you want to offer, their features & pricing
  • We have prepared a video tutorial for this section @ http://www.whmcs.com/tutorials.php?i=6

Adding a New TLD

  1. The empty last row in the TLDs table is where you add new TLDs to your list
  2. Begin by entering the TLD including the preceeding . for example ".com", ".net", etc...
  3. If DNS Management, Email Forwarding or ID Protection is available & should be offered for this TLD check the boxes
  4. If an EPP code is required for transfers, tick the EPP Code box
  5. And if you want automatic registration to occur on payment, choose the registrar which should be used in the dropdown (more about this furthur down)
  6. Then click Save Changes to add
  7. Once added, you can click the Open Pricing link on the new TLDs row to edit the pricing matrix for the years available on this TLD

Re-ordering TLDs

  • Reordering TLDs is simply a drag & drop process
  • Position your mouse over the up/down arrows on the row you want to move, click+hold and then drag up or down
  • Once it is where you want it to be, let go of the mouse button to assign it.

Addon Pricing

  • Domain addons consist of DNS Management, Email Forwarding & ID Protection
  • These prices can be configured below the TLDs list also in Setup > Domain Pricing

Automatic Domain Registration

  • With Automatic Domain Registration, you can automate the submission of registration and transfer requests with the built in registrars
  • When enabled, WHMCS will automatically submit the request to the registrar as soon as the client pays you for it
  • Domain registrations are never submitted by the system before you get paid
  • You can automate some TLDs while not others, and can select which registrar to be used for each TLD you offer
  • To enable automatic registration, in Setup > Domain Pricing choose a registrar in the automatic registrar dropdown on each TLD you want to automate
  • To not enable automatic registration, leave the dropdown set to None

Note: With automatic domain registration disabled, the system will wait after a client has paid until an admin user manually reviews the order and authorizes it. At that point, the admin user can still initiate the automatic registration by accepting the order once they are happy the order is legitimate.

Automatic Renewal

  • Domain renewals can be enabled for auto submission to the domain registrar as soon as you receive payment for them
  • This setting is independant of the auto registration and so you can enable this without enabling auto registration
  • To turn this on, go to General Settings > Domains and tick the Auto Renew on Payment checkbox
  • Automatic renewal should always be turned off at the registrar, as this would override WHMCS' behaviour and renew regardless of if you get paid or not

Domain Renewals

  • By default, all domains are set to auto-renew.
  • But this is not the same as what domain regstrars commonly mean by auto-renew.
  • In this case, we mean that an invoice will generate x days (as per your settings) prior to the due date and once paid, the domain will renew.
  • It won't ever renew without payment being made.
  • It is possible however to set a domain's auto renewal setting to off so that no invoice will generate and it will be allowed to expire.
  • This can be done by ticking the Do Not Renew checkbox on the domains management page in the admin area or by the client themselves through the toggling of the option in the client area.
  • When the disable auto renew button is clicked, WHMCS checks for any outstanding invoices and if the domain is invoiced on it's own that invoice is cancelled, or if an invoice for multiple items just the line item for the domain in question is removed from it.
    The Upcoming Domain Renewal Notices will still be sent as normal and clients can renew the domain manually if they wish.

Offering Free Domain Registration with Selected Packages

With WHMCS, you are able to offer free domains with your packages when purchased with certain payment terms - for example you might want to offer a free domain when a package is purchased annually. The following steps walk you through how to do this.

  1. Begin by going to Setup > Products/Services
  2. Next, click the edit icon next to the product or service that you want to offer a free domain with
  3. Now select the Free Domain tab from the tabs at the top of the page
  4. Choose the type of free domain you want to offer, either first year free' and renew as normal or for the lifetime of the package
  5. Then select the payment terms (AKA billing cycles) that you want to offer the free domain with - press Ctrl when clicking the options to select more than one
  6. Now you need to select which TLDs the free domain offer applies to. This allows you to exclude high priced TLDs such as .tv Again, use Ctrl when clicking the options to select more than one
  7. Now click the Save Changes button

This package will now not charge the user for the domain when ordered with the specified criteria.

As long as the payment method for the domain and the hosting account is the same, and the next due date is the same, when the time for the invoice to generate comes up (based on the settings in your Automation settings), WHMCS will invoice for the hosting and the domain on the same invoice. When this invoice is paid, WHMCS will (if your settings allow in General Settings > Domains) automatically renew your clients domain for a further period. The hosting account and domains next due date will automatically change to the next period.

Domain Renewal Notices

Domain Renewal Notices by default are sent 60, 30, 15, 7 & 1 Day(s) prior to expiry. This can be changed and even disabled if you want to.

Changing the Intervals at which Renewal Notices are sent

  1. Begin by going to Setup > Automation Settings
  2. Scroll to the Domain Reminder Settings section of the page
  3. You can then change the number of days before expiry that the 1st, 2nd, 3rd, 4th & 5th reminders are sent
  4. You can disable an option by entering 0

Editing the Renewal Notice Email that gets sent

Adding Additional WHOIS Services

WHMCS supports a large number of TLDs, however it is possible that you wish to use one not supported by default. You can add any TLD you like by opening the includes/whoisservers.php file. On the bottom line add your entry in the format:

  • .extension|whois server|match string

Where .extension is the TLD, whois server is the WHOIS server, and the match string is the message returned by the whois server when a domain is available for registration. An extensive list of whois servers can be found at DNAz.Net, if it not listed you will need to contact the registry to find out the appropriate information.

TLD Specific Additional Domain Fields

Certain TLD's have various additional requirements to the regular name & address information that customers normally provide during signup. For example things like Legal Types, Company ID Numbers, Registrant Names, etc... So for these we have a feature in WHMCS called "Additional Domain Fields".

These are defined in the file /includes/additionaldomainfields.php and consist of a name which is used to reference the values via modules, a DisplayName which can be used to override what a client sees in the frontend, and also a LangVar option which overrides even the DisplayName setting to take the field name from the text defined in a language file if set.

With the sub-options of a dropdown field type, those can also be specified in a format so that the display value is different to the value passed through to modules like this: "key|display name". So for example you could have "C11|US Citizen,C12|Permanent Resident,etc..."

This allows you to fully customise and localise the TLD specific additional fields to your customers should you need to add any alternative/additional text or guidance.

Customising Domain Name Length Restrictions

The major TLDs have length limits included by default and you can specify your own for any others by adding lines such as these to the WHMCS configuration.php file:

$DomainMinLengthRestrictions[".asia"] = 3;
$DomainMaxLengthRestrictions[".asia"] = 64;
$DomainMinLengthRestrictions[".ws"] = 4;
$DomainMaxLengthRestrictions[".ws"] = 63;

Customising Domain Renewal Restrictions

Many TLDs have restrictions surrounding when they can be renewed after expiry, this is often referred to as the grace period. For example a .com can be renewed 40 days after the expiry date while .uk domains can be renewed up to 97 days after expiry.

The major TLDs have grace periods included by default and you can specify your own for any others by adding lines such as these to the configuration.php file:

$DomainRenewalGracePeriods = array(".com"=>"30");

You can also specify multiple grace periods in a single entry:

$DomainRenewalGracePeriods = array(".com"=>"30",".net"=>"40",".uk"=>"97");