Personal tools
Namespaces

Variants
Actions

Domains Reseller For WHMCS

From ModulesGarden Wiki
Revision as of 15:33, 22 March 2019 by Karolina (Talk | contribs)

Jump to: navigation, search

Article update is ongoing on this page, watch out for broken links, unclear descriptions and images!
We are sorry for the inconvenience caused.

Contents

About Domains Reseller For WHMCS

Domains Reseller For WHMCS allows you to resell TLDs as well as manage obtained income and resellers. All these in a single pane of glass.

The module facilitates its own API which can be used by your resellers to offer domains within various systems like WHMCS, HostBill, Blesta and others.
Just generate your own registrar module with just a couple of clicks, hand it over to your resellers and admire the sales they generate.

  • Provider:
✔ View Resellers And TLDs Income Statistics
✔ View Most Profitable Resellers And Lastest Invoices
✔ Create And Manage Resellers:
✔ Assign To Dedicated Group
✔ Assign Client's Account
✔ Generate Access API Key
✔ Restrict Access To Specific IP Addresses
✔ Allow API Access
✔ Define API Limits Interval And Requests
✔ View Reseller's Orders And Income
✔ Create And Manage Groups:
✔ Allow API Access With Defined Permissions
✔ Allow Access To API Documentation
✔ Send Low Credit Notification
✔ Define Payment Collection Type:
✔ After Domain Registration
✔ After Order Placement
✔ Define Refund Policy Upon Unsuccessful Domain Registration:
✔ Disabled
✔ Via Credits Only
✔ Via Invoice Refund
✔ Define Default Domain Registrant
✔ Define Tech/Admin/Billing Domain Contact Details
✔ Define Domain Contacts To Be Edited By End Clients
✔ Create Domain Registrar Integration Modules For Resellers:
✔ Choose Dedicated Platform:
✔ WHMCS
✔ Blesta
✔ Define Name And Description
✔ Provide Logo
✔ Attach Additional Fields Integration File
✔ Attach Documentation
✔ Assign Offered TLDs For Resellers
✔ Define Pricing For Each TLD Extension:
✔ For Register, Transfer And Renew Action
✔ For Each Year Period
✔ For Each Currency
✔ Create Response Templates To Overwrite Registrars Messages Displayed To End Clients
✔ Configure Default Settings:
✔ Toggle Global API Status
✔ Toggle Global API IP Restriction
✔ Toggle Global API Requests Restriction
✔ Define Default Group Settings
✔ View API Request And Response Logs
✔ View API Documentation
  • Resellers:
✔ Access Dedicated Reseller Area
✔ View Domains Orders
✔ View TLDs Pricing
✔ Access Reseller Settings:
✔ View Available Account Credits
✔ Access API Details:
✔ View Available Credentials
✔ View/Generate API Key
✔ View/Modify IP Addresses Restrictions
✔ Download Domain Registrar Integration Module
✔ Download Provider Documentation
✔ Download Additional Fields Integration File
✔ View API Request And Response Logs
✔ View API Documentation
  • End Clients:
✔ Manage Contact Information
✔ Manage Email Forwarders
✔ Manage DNS Records
✔ Register/Manage Private Nameservers
✔ Enable/Disable ID Protection
  • API Functionality:
✔ Register/Transfer/Renew Domain
✔ Release/Delete Domain
✔ Get/Modify Contact Details
✔ Get EPP Code
✔ Get/Modify Registrar Lock Status
✔ Get/Save DNS Records
✔ Get/Register/Modify/Delete Nameservers
✔ Get/Save Email Forwarding
✔ Modify ID Protection
✔ Enable/Disable ID Protection
✔ Check Domain And Transfer Synchronization
✔ Check Domain Availability
✔ Get Available TLDs
✔ Get Available Credits
✔ Get Version
  • General Info:
✔ Transactions Between Resellers And Provider Settled With Credits
✔ Integrated With Domain Orders Extended For WHMCS - Innovative Way Of Selling TLDs & gTLDS (read more)
✔ Multi-Language Support
✔ Supports PHP 5.6 Up To PHP 7.3
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7.5 And Later
✔ Easy Module Upgrade To Open Source Version

Installation

This tutorial will show you how to successfully install and configure Domains Reseller For WHMCS.

We will guide you step by step through the whole installation and configuration process.

Please be aware that when updating from version 1.x. to 2.0.0 of the module no data are migrated!
All the resellers and their configuration will need to be set up from the beginning.

Note: If you are using Domains Reseller For WHMCS in any version prior to v2.x, follow these inbstructions.

1. Log in to our client area and download the module.
DR3 1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.1 and later.
If you need a package for the previous versions of PHP, please contact our support.

PHP71 73.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.0, and the second one addressed to PHP 7.1 up to PHP 7.3.
Note: Keep in mind that PHP versions 5.6 up to 7.0 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 73.png
Important: This situation does not affect the open source version of this module which can be applied to any PHP from version 5.6 and later.
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Once you have chosen the package with the right PHP version, extract it and upload its content into the main WHMCS directory.

The content of the chosen PHP version files to upload should look like this.

Jioui.png
4. When you install Domains Reseller For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/domainsReseller/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

DR 3.png
5. In order to configure your license key, you have to edit a previously renamed 'license.php' file.'

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

DR 4.png
6. In the next step, set up the 'storage' folder as recursively writable.

This folder is available at 'yourWHMCS/modules/addons/domains_reseller/'.

Dr3 5.png
7. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'. Afterwards, find 'Domains Reseller' and press 'Activate' button.

DR3 6.png
8. In the next step you need to permit access to this module.

To do so click on 'Configure' button, tick 'Full Administrator' and press 'Save Changes'.

DR3 7.png
9. You have just successfully installed Domains Reseller!

You can access your module at 'Addons' 'Domains Reseller'.

DR3 8.png

Configuration and Management

Domains Reseller For WHMCS allows your customers to resell domains on their own WHMCS.

Dashboard

Dashboard page includes some truly valuable graphs and summaries on income generated from reselling TLDs.
DR3 24.png
You may easily change the graph settings by changing the time scope and selecting TLDs you are interested in.
DR3 25.png
Most profitable Resellers & Latest invoices summary
DR3 26.png

General Settings

'Settings' tab allows you to access general settings of your Domain Reseller API.

Here you may set up general options but still, you will be able to change them per single group. If you skip group settings, these configuration will be taken into account.

DR3 28.png
We will describe these options below.

Global API related section:

  • 'API Status ' - enable/disable Domains Reseller API.
  • 'IP Addresses Restriction' - enable/disable restricting connection to Domains Reseller API only for IP addresses specified in the 'Allowed IP Addresses' field.
  • 'API Requests Restriction' - enable option to restrict the number of API requests.
DR3 29.png
Miscellaneous:
  • 'Low Credit Notification' - a notification to your client will be sent when credit balance on client's account falls below entered value.
  • 'Low Credit Amount' - amount of credits, when reached a notification will be sent
  • 'Payment Type' options:
    • 'Pay After Registration' - resellers will be allowed to register domains without any credits.
    • 'Pay After Order' - resellers will be able to pay for a domain after ordering it.
  • 'Refund Type' - defines behavior of the module upon unsuccessful domain registration.
    • 'Credits only'
    • 'Refund Invoice'
    • 'Disabled'
  • 'Default Registrant' - select default contact that will be used during registration. This option is available only if registrant contact uses WHMCS details.
  • 'Default Admin/Tech/Billing' - select default admin that will be used for contact. This option is available only if Admin/Tech/Billing contact uses admin details from WHMCS.
  • 'End User Allowed To Edit Contacts' - select which of the End Clients will be allowed to edit contact details. You may choose more than one.

Remember to submit the changes, once you have finished.

DR3 30.png

Groups

At the 'API Users' tab you can manage all aspects related to your resellers who will be assigned to these groups later on.

Start by creating the first group for your resellers. Use either of the buttons marked on the screen below.

DR3 30 1.png
Then, simply type in a unique name of your group.
Create as many groups as you will need and set up different configuration to adjust them and then assign resellers to adequate groups.
DR3 31 1.png

Configuration Per Group

You can set up configuration for resellers who are assigned to this very group only.
These settings will overwrite the general settings defined in the previous step.
  • 'API Status' - enable/disable Domains Reseller API for Resellers assigned to this very group only
  • 'IP Address Restriction' - enable/disable restricting connection to Domains Reseller API only for IP addresses specified in the 'Allowed IP Addresses' field.
  • 'API Requests Restriction' - enable option to restrict the number of API requests.
  • 'Show API Documentation' - toggle to allow resellers access to API documentation directly from their Reseller Area.
  • 'Low Credit Notification' - turn on sending notifications to your client when credit balance on client's account falls below entered value.
  • 'Low Credit Amount' - amount of credits, when reached a notification will be sent
  • 'Payment Type' options:
    • 'Pay After Registration' - resellers will be allowed to register domains without any credits.
    • 'Pay After Order' - resellers will be able to pay for a domain after ordering it.
  • 'Refund Type' - defines behavior of the module upon unsuccessful domain registration.
    • 'Credits only'
    • 'Refund Invoice'
    • 'Disabled'
  • 'Default Registrant' - select default contact that will be used during registration. This option is available only if registrant contact uses WHMCS details.
  • 'Default Tech/Admin/Billing' - select default admin that will be used for contact. This option is available only if Admin/Tech/Billing contact uses admin details from WHMCS.
  • 'End Client Allowed to Edit Contact' - select which of the End Clients will be allowed to edit contact details. You may choose more than one.

Save the changes when ready.

DR3 32.png

API Permissions

Toggle options that resellers will be allowed to use via API.
DR3 34.png

Integrations

In this section you can create and manage integration modules which resellers will need to upload and activate to be able to resell domains you offer them.

Press 'Add Integration' to begin.

DR3 35.png
To generate a new integration module you need to provide following data:
  • Select the target platform for the submodule: WHMCS or Blesta
  • Enter your module unique name
  • Decide whether to allow downloading Additional Fields in the Reseller's Area
  • Type in a short description of the module, it will be visible on the activation page of the registrar
  • Upload logo image, it will be visible on the activation page of the registrar
  • Upload file with documentation if you have prepared any - you may use any format.
DR3 36.png
Newly created Integration will appear on the list. You may:
  1. Edit its details (change logo, description etc.) at any time
  2. Download domain additional fields
  3. Download documentation if any has been provided
  4. Download the integration package
  5. Delete the integration
DR3 37.png
In order to delete numerous integration at once, use the mass action button.
DR3 37 1.png

TLDs

Create a list of TLDs with their custom pricing details that resellers assigned to this group will be allowed to offer to their clients.

Press 'Assign TLD' button to begin.

DR3 38.png
Select TLDs from the available and press 'Confirm'.
To learn more about available TLDs, please refer to the official documentation here.
DR3 39.png
Assigned TLDs will appear on the list, you may also preview here the registrar name of the TLD extension and pricing details.
Press the 'Pricing' icon to set up your custom prices per TLD for resellers assigned to this group.
Please, be aware that pricing set up here will overwrite your standard pricing set up in your WHMCS.
DR3 41.png
In the Set Pricing tab, you can set the domain pricing for each of registration periods in each available currency per every active TLD.

In addition, if you put:

  • -1 (minus one) value in the chosen field, then it will be treated as disabled. E.g. provide -1 for transfer pricing to completely disable the possibility of domain transfers with that TLD.
    Important: If you provide -1 value for registration pricing, then the whole TLD will be treated as disabled, including transfer and renewal pricing.
  • 0 (zero) value in the chosen field, then it will be treated as free. E.g. provide 0 for registration pricing if you want to offer the selected TLD for free, but with paid transfers and renewals.
  • any value above 0 (zero) will be of course treated as paid.
DR3 42.png
If you want to set up the same prices for all TLDs in this group, simply use the mass action button to do it almost with one click.
In the same way you may uncasing numerous TLDs from the group.
DR3 42 1.png
Your group configuration is now ready. If you have more groups, repeat these steps for each of them.

Remember that you may always edit the single group name or delete if no longer needed. Just press adequate buttons to do so.

DR3 42 2.png
Keep in mind that you may never delete a group if there are any resellers assigned to the group.
Before deleting it, you must choose an alternative group to which the resellers will be reassigned.
DR3 42 3.png

Resellers

In this section you will find a list of your active Resellers. Press 'Add Reseller' to make one of your clients a reseller.
DR3 43.png
  • Select one of your previously created groups, to which the reseller will be assigned.
  • Then select one of your clients from the dropdown, start typing to see a list of clients
  • Generate an API Key for the Reseller, it will be necessary when configuring the integration module with the Reseller's platform
  • Prepare a list of allowed IP addresses, use comma or a space to separate - note that this option must have been enabled previously in the module general settings here
  • API Status - toggle to allow reseller generate the API key in the Reseller area
  • API Limits - toggle to be able to define precise limits
    • API Interval [Min] - enter a time interval in minutes in which a provided below number of API requests can be called
    • API Requests Limit - maximum number of API requests in the time interval
DR3 44.png

Reseller Details

API Configuration

Here you may easily alter the settings that you have defined when creating the reseller.

Apart from them, you may preview the API Email Address and API Key required to activate and configure the integration module.

DR3 45.png

Orders

This section includes a list of orders placed to purchase a domain with offered to this reseller TLDs.
Take a look at any crucial details on the orders.
DR3 45 1.png

Income

'Income' tab contains a current list of invoices that generate any income for the reseller.
Press the invoice ID and you will be redirected to the invoice summary.
DR3 45 2.png

Response Templates

In 'Response Templates' section you may add and edit new templates with text messages/information that are sent to clients instead of defined here system responses.

In order to add a new response template press 'Crate Template' button and then follow the below instructions.

DR3 46.png
Provide the pattern for search and replace in the system response depending on the type.
  • For Text type, simply provide a string like 'Error Response'.
  • For Regular Expression type, you need to provide a regular expression which will be replaced.
    For example, if you want to replace any dollar price in the response provide '\$\d+\.\d+', in this case it will replace strings like '$8.25'.
  • If you want to replace any response, simply type '.+' in here.
DR3 47.png
In the second step Replace With you need to enter a text message that will be sent to a client when the above entered pattern is found.
The two messages will be replaced with one another.
DR3 48.png
Define Priority. The higher number you enter, the higher priority will be assigned.
Important! Only the first occurrence with the highest priority will be replaced.
DR3 49.png
Finally,
  • choose 'Text' or 'Regular Expression' from Type dropdown menu.

It will specify if provided text in the first field should be treated as a text or a regular expression while searching for a pattern.

  • Registrar Action - must be chosen from dropdown menu as well to specify upon which action provided patterns will be searched for.

Remember, to finish successfully you need to press 'Confirm' button.

DR3 50.png
Now you can see a newly configured response is visible on the list. You may edit the added response or remove it any time you need.
Just use action buttons marked on the screen.
DR3 51.png

Module Logs

In 'Logs' section you may preview a list of API requests and responses with the most important details on them.
DR3 51 1.png
Use action buttons to delete all logs or just single entries.
DR3 51 2.png

Documentation

API Documentation

Under 'Documentation' tab you will find two subsection. The first one is dedicated to API.

'Information' subtab contains:

  • Endpoint - URL to which all the API requests are directed
  • Authorization - Username and token parameters to authenticate the client in the API request
  • Example - exemplary request to API to renew a domain
DR3 53.png
'Calls' subtab contains information about actions supported by the API.
DR3 54.png
The last section includes 'Models' details.
DR3 55.png

Module Documentation

'Module Documentation ' is a hyperlink. It leads to the 'Domains Reseller For WHMCS' wiki article you are currently reading.
DR3 52.png

Reseller Area

Resellers can manage API connection credentials directly from the provider WHMCS client area as well as see any details on its TLDs offer.

Go to 'Domains' 'Reseller Area' to access them.

DR3 56.png

Orders

As you can see, 'Orders' section includes a detailed list of orders placed on domains with offered TLDs, with any payment details and date.
DR3 57.png

Pricing

'Pricing' section includes a list of the Reseller's TLDs with the option to preview its pricing set up by the provider.
DR3 58.png
DR3 59.png

Settings

Under 'Settings' section you will find any API details necessary to install and activate the integration module.
DR3 60.png
Underneath the API details you will find a list of generated integrations.
Depending on the provider, you may download the packages, download the additional fields and documentation per Integration.
DR3 61.png

Logs

Preview a list of logs on API requests and responses stored in the module.
DR3 62.png

API Documentation

Access API documentation details with basic information and API Calls and Models.

'Information' tab contains:

  • Endpoint - URL to which all the API requests are directed
  • Authorization - Username and token parameters to authenticate the client in the API request
  • Example - exemplary request to API to renew a domain
DR3 63.png
Available 'API Calls' list:
DR3 63 1.png
Available 'API Models' list:
DR3 63 2.png

Domains Reselling Workflow

End Client Area

Domains Reseller integration module allows end clients to register, transfer and renew domain as well as run standard actions on domains.

WHMCS Client Area view with an ordered domain via integration module.

DR2 64.png
Blesta Client Area view with an ordered domain via integration module.
DR2 64 1.png

Workflow

In this section we will present to you a sample workflow of the module.

In a basic workflow 3 users take part:
Provider – a person with Domains Reseller For WHMCS installed in their system.
Reseller - a person with a client account in the provider's WHMCS system.
Additionally, the reseller has its own system with registrar generated by Domains Reseller For WHMCS.
End Client – a person with a client account in the Reseller's system.

Additionally, there also must be a product, which in this case will be domain 'sample.com' .

Provider Part
Let us start from the beginning. Provider installs Domains Reseller For WHMCS in the system.
He or she already has a few TLDs in the offer and wishes to allow the reseller to offer them from their systems.
Now, the provider configures Domains Reseller For WHMCS through creating groups, configuring them and assigning TLDs.
Afterward, Reseller must be created and assigned to appropriate groups.

Reseller
From this moment, Reseller is able to access API details from the client account in the Reseller Area.
Additionally, he or she receives an email from the Provider with registrar module and instruction on how to install it .
Reseller installs the registrar in the system according to the instruction received.
He or she also sets up .com TLD in the system and assigns the previously installed integration module to it.
Now, there is one step that separates them from offering the domain from their system.
Reseller top-ups his credit balance in the provider system.
Provider creates an invoice for the Reseller, the Reseller pays the invoice and then again the Provider manually adds the same amount to Reseller's credit balance.
From now on, any .com domain can be ordered.
End Client
End Client orders 'sample.com' domain from his or her client area in the Reseller system.
They are now able to fully manage the domain.

Last Word About Payment
Payment goes to the Reseller while, during the registration process, credits from Reseller balance are withdrawn.
It is worth mentioning that the amount a customer paid is defined by a Reseller.
Credits withdrawn are equal to a domain price the Provider defines in the module per reseller.

Extended TLDs Management - Integration With Domain Orders Extended For WHMCS

Domain Orders Extended For WHMCS allows quick and easy management of multiple TLDs and lets you offer these TLDs to your resellers at hand!
In this part we are going to present how fluently these two modules may work together to let you gain the most from the integration.
Open your Domain Orders Extended For WHMCS addon module, move to 'Predefined TLD Sets' section and install one of the TLD groups of your wish.
DR 54 1.png
Come back to the 'TLDs Configuration', find your group with newly assigned TLDs and define pricing for each of them. To make it faster, select all TLDs and use a mass action button.
DR 54 2.png
It is time to set up the pricing. Save the changes once ready.

You can find more information about the pricing in Domain Orders Extended For WHMCS here.

DR 54 3.png
Select all TLDs the same way you did earlier and 'Edit TLDs Configuration'.

There, find 'Overwrite Registrar' option and toggle it. A dropdown menu with available registrars will appear. Select the one used in Domains Reseller module.

DR 54 4.png
It is time to go back to 'Domains Reseller' module. Move to the 'Configuration' section to enable the previously configured TLDs.

Your TLDs are now ready to be offered by your resellers.

DR3 54 5.png
Your resellers, who also own Domain Orders Extended For WHMCS, can quickly update their offer by installing the very same gTLD category.

The next steps are exactly the same as those you have just performed: setting up the pricing and assigning the TLDs to the Domains Reseller For WHMCS registrar module generated by you.

DR 54 6.png
Most importantly, the offer can be now extremely client-friendly due to a high range of selection of Domain Orders Extended domain registration forms including:
  • Lagom theme
  • General Category View
  • Multi Category View
  • List View
DR 54 7.png
There is surely a solution for resellers who do not own Domain Orders Extended module yet.

They will simply have to add and set up each TLD separately at the 'Setup' 'Products/Services' 'Domain Pricing', which may be time consuming.
That is why we highly recommend using the modules together to manage your time optimally.

DR 54 8.png
As you can see, integrating of Domains Resellers For WHMCS with Domain Orders Extended For WHMCS allows you to offer vast array of TLDs with ease.

A win-win situation with benefits for all: you expanding and perfecting your offer, your resellers managing the TLDs and surely for the end-clients enjoying the final outcomes!

Tips

1. If your reseller gets an error 'Unable to register domain, please contact administration (license problem).', that means your license is invalid or expired.
2. Make sure that you are not blocking access to the 'api' catalog by your '.htaccess' file.
3. Domains Reseller For WHMCS enables you to resell your domains not only to WHMCS and Blesta systems.

You are able to easily prepare registrar module for any system (HostBill, Clientexec, BoxBilling and many more) using Domains Reseller For WHMCS API.
All you need is knowledge of for example PHP programming language and our module's API.

Update Instructions

Essential guidance through the process of updating the module is offered here.

Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the License Upgrade button located on the product's page and a discounted invoice will be generated automatically.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Error 'Function Not Supported by Registrar Module' means that registrar on main WHMCS does not support the operation you were trying to do.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Domains Reseller For WHMCS