If you’re like me, you have been bothered by the fact that over the past two years, WHMCS and eNom have not come together with cohesive support for the new TLD’s being launched, nor for premium domain support. There is a huge and annoying disconnect when a customer tries ordering what turns out to be a premium domain name. Also, the WHMCS implementation of the Name Spinner feature is horribly broken, returning 100’s of results before showing the Name Spinner results, even when you’ve tried disabling this feature entirely.
So, I’ve finally dug into the code, and am reaching a point where I would like feedback about what I’m doing. I’m wondering, are there some people out there that would be willing to pay $25 for a fix to this problem? This would include full access to the source code, GPL’d so you can do with it as you please after you purchase it. It would include updates for a year, if I end up making improvements or fixes, as will likely be necessary as WHMCS updates.
Here is a screen shot of my current progress with detecting and displaying a premium domain names in the domain search template (Modified Standard Cart). Progress as of 6/29/2016. The text is just a placeholder for what it will actually say, and is completely configurable.
Below is a screenshot of the initial configuration settings I’ve added to the eNom module that pertain to premium domain names. You’ll see a good amount of flexibility in the settings, including just outright disabling them from showing as available at all.
If you would be interested in this module I’m working on for $25, including updates for one year, please let me know either with a comment, or an email to firstname.lastname@example.org. While I’m actually not too concerned with making a bunch of money off of this, it might be nice to recoup something on the dozens of hours that I’m putting into this project to do it right. Also, having additional eyes on my code can only benefit security in my mind.
List of features already in the code as of 6/29/2016
- Detection of premium domains before display in the cart
- Markup premium price based on eNom module setting/configuration
- Only displaying Name Spinner results in suggestions area, no longer displaying alphabetic list of all available TLD’s (how annoying is that?)
Partial list of features that I still need to code as of 6/29/2016
- eNom sub-account creation logic. Should this module require customers to already have an account within WHMCS, and have an active product before being allowed to create an eNom sub-account? I’m only asking in terms of fraud. Seems that fraudsters will take advantage of anything you let them do these days, even if creating the sub-account does them no good.
- Actually enable premium purchases directly within WHCMS that are less than the configured allowed amount ($50.00 in the above screenshot)
- Duplicate the template logic in the domain search and bulk domain search area’s. My test screen shot is only from the domain-option section when a customer orders a web hosting package.
- Respect the “Enable Test Mode” setting in the eNom module. As I haven’t got to the actual purchase test yet, I’ve just been searching from the live URL. My bad.
- Detect if a premium domain name is part of the “free domain tld included with hosting” and then reject premium domains as the included free domain. That would be ouchy!
- Final comparison post-checkout that the amount charged is more than the premium name cost, to ensure no funny business in the middle of the process. Really sucks that eNom has a no refund policy, even for fraud. Personally, I will redirect almost all premium purchases through an eNom sub-account and let them take the risk of a charge-back because of their ridiculous no-refund policy. I’ve seen way too much fraudulent activity to take any risk at all on expensive premium names.
* IMPORTANT CAVEATS *
Please note that WHMCS does not allow access to their unencoded core files. Additionally, there are NO hooks into the domain lookup process that would enable detection of premium domain names. So I’m having to create a custom order form that calls to customized replacements of some core WHMCS files, including cart.php, and domainchecker.php. I’m not going to touch these files, only add some similarly named files that the custom order forms/templates will call upon. I’m trying to duplicate what happens in the shopping cart variables as best I can, without a manual. In this sense, what I’m working on is not simply a custom module, but a hack/workaround. I’ve found no reasonable alternative to doing it this way, and WHMCS is entirely unhelpful. I’m open to alternative suggestions. But I have already put a good amount of time into doing it the way that I am.
I will be overwriting the modules/registrars/enom/enom.php file with my own version. It will include all of the core documented registrar functions as is currently support by enom.php (6/29/16), but the purchase and transfer functions will include the needed support for premium domain purchases. Additionally, I hope to include the sub-account management features within this file, along with any other necessary functionality that may not necessarily be a part of the core registrar functionality currently.
I may tweak the domain privacy functions in the module to enable my customers to just set the domain contact info to my business address and I’ll serve as their privacy protection. It is ridiculous that companies are charging so much money for this feature. It should be free, and I want to offer it that way. So, at some point, you may see that feature in here as well.
I welcome any feedback or comments about this project. Please let me know if you have a concern that is not listed on this page, and, if it seems relevant and important, I’ll get it added to my to-do list.