How to enable Whois protection to let users hide their private WHOIS data for their domains.
A customer can order the whois protection product in Billing Customer Panel > Extra services. There, the customer can specify for which domain name the whois information should be protected and select a payment method. When selecting Order, the domain TLD is validated based on the acceptableDomainTlds attribute, and the provided domain is checked for existence.
When the order is processed and paid for, whois protection is provisioned. The domain name will then be marked as whois-protected in the Hosting Control Panel’s domain manager.
The service will also be listed in the Billing Customer Panel’s subscriptions page.
Before you begin
The Domainreg plug-in and the registrar/registry that is being used must support whois protection enabling.
Setting up Whois Protection
To set up Whois protection, the following steps need to be taken:
- Set up one or more products.
- Configure the product as an extra service.
- Configure if shops are used or not.
- Configure provisioning service.
These steps are described in detail below.
Setting up one or more products
- Go to Admin Panel > Products > Products > Add new product.
- Set the following data.
- Provisioning service: WhoisProtection.
- Product category: Extra service.
- Type of Billing: Fixed price and Recurring.
- Re-provisioning: Depends on the registrar/registry, usually unchecked.
- Add the following to Other data:
- Name: ServiceId
- Value: 00000000-0000-0000-0000-000000000000
- Fill out the rest of the properties as you require.
Configuring the product as an extra service
In order to set up the whois protection product correctly as an extra service, the following attributes need to be configured:
- Configure the following to allow a product to be ordered more than once.
- Name: allowMultiple
- Value: true
- Specify that the product is domain based with the following attributes.
- Name: domainBased
- Value: true
- Define the list of packages in which this product is available.
- Name: packages
- Value: list of package article numbers separated by | character, example: HST-GLDY|HST-GLDQ|HST-GLDM)
- Define the list of domain items for which this product is applicable.
- Name: applicableToArticleNumbers
- Value: list of domain item article numbers separated by | character, example: DMN-COM|DMN-NET|DMN-ORG)
- Configure the system to only accept the order if the provided domain exists in the customer’s subscriptions.
- Name: checkIfDomainExists
- Value: true
- Define the list of TLDs for domain validation when order is submitted.
- Name: acceptableDomainTlds
- Value: list of TLDs for domain validation separated by | character, (example: com|net|org)
Configuring if shops are used
Previously added product needs to be edited by going to Products > Products > [whois protection product in the list]. This opens the edit product page. On that page, in the segment Other data, attributes specified above need to be added. Example shown in picture:
Configuring if shops are not used
In this case, attributes need to be put inside of Atomia.Web.Plugin.HostingProducts.dll.config in BillingCustomerPanel’s bin folder. The usual path is: C:\Program Files (x86)\Atomia\BillingCustomerPanel\bin\Atomia.Web.Plugin.HostingProducts.dll.config
Example entry in file, that should be put in configuration / hostingProductsConfigurationSection / productsList:
<product id="someid1" articalNumber="WHOIS-PROT" productCategory="ExtraService" resourceKey="WhoisProtection"> <customAttributes> <customAttribute name="allowMultiple" value="true"/> <customAttribute name="domainBased" value="true"/> <customAttribute name="packages" value="HST-GLDY|HST-GLDQ|HST-GLDM" /> <customAttribute name="applicableToArticleNumbers" value="DMN-COM|DMN-NET|DMN-ORG" /> <customAttribute name="checkIfDomainExists" value="true" /> <customAttribute name="acceptableDomainTlds" value="com|net|org" /> </customAttributes> </product>
Provisioning service configuration
Configuration for WhoisProtection provisioning service is located in BillingAPI’s Web.config. It looks like this:
<customProduct name="WhoisProtection" provisioningService="WhoisProtection" handlerClass="Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin.DomainPropertiesHandler, Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin"> <customProductProperties> <property name="DomainPropertyNames" value="WhoisProtectionEnabled" /> <property name="AddToDomainRegDomain0" value="true" /> </customProductProperties> </customProduct>
Here is a full list of attributes that can be set in configuration and their purposes:
- DomainPropertyNames: List of properties that are affected with provisioning of product. Separated by | character.
- AddToSubscriptionN: Specifies that the
Nth + 1property from DomainPropertyNames is added/changed as a domain subscription custom attribute.
- AddToDomainRegDomainN: Specifies that the
Nth + 1property from DomainPropertyNames is added/changed as a DomainRegDomain service property.
- DomainPropertyValueDefaultAddN: Specifies the value of property which is set when provisioning or un-suspending
Nth + 1property from DomainPropertyNames. (If not specified for property, default is 1)
- DomainPropertyValueDefaultRemoveN: Specifies the value of property which is set when terminating or suspending
Nth + 1property from DomainPropertyNames. (If not specified for property, default is 0)
- SetSubscriptionToRecurring: Sets domain subscription to recurring.
- NoSuspendUnsuspend: Disables Suspend and Unsuspend actions.