Jump to content

Is it possible to disable the number of years selection on transfers?


Chris74

Recommended Posts

Hi,

 

I've run into an issue with the domain transfer options in WHMCS. The problem is that some domains, namely Nominet domains do not renew when transferred - but there is an option in the order process to choose how many years to transfer the domain for.

 

If I set these tld's prices to allow for 1 year transfer at 0.00 they will have to choose this in the shopping cart - but it will completely mislead them into thinking that their domain will renew for another year for free, when in fact it will simply be transferred and the renewal date will remain the same as it was.

 

I'm not really prepared to launch our site until we can get around this somehow. Can anyone suggest a decent workaround to this problem? Ideally I'd like to completely remove the option to choose the number of years.

 

Have you found a solution to this?

Edited by Chris74
spelling
Link to comment
Share on other sites

on the domain pricing slabs:

Domain registration: 0.00 to disable that cycle

Transfer and renew: -1 to disable that cycle.

 

What i would do personally is look at the action hooks. you can still price the transfers so long as you manually (via a hook) send a renewal call to the registrar. Failing that, do not charge for a transfer at all and disable all but the 1 year term, set that to zero price.

 

Dont forget to let the client know a uk domain does not renew when transfered and make sure that you yourself are uptodate on how nominet runs, there were recent changes to bring them in line with other TLD so i dont doubt in the near future that transfers will include a renewal also.

Link to comment
Share on other sites

I think the point Chris was asking about was the order form not mentioning a 1 Year/s Registration Period at all for Nominet transfers (and others that don't renew on transfer).

 

I can think of two possible solutions to this - one would be if WHMCS introduced a "0 Years" option in the pricing slab, disabled it for registrations and renewals, but transfers could use it.

 

the other way would be using {if} statements in the order form (configuredomains.tpl and viewcart.tpl), e.g replace...

 

<tr><td>{$LANG.orderregperiod}:</td><td>{$domain.regperiod} {$LANG.orderyears}</td></tr>

with something along the lines of...

<tr><td>{php}
$vardomain = $this->_tpl_vars['domain']['domain'];
$findme   = 'co.uk';
$pos = strpos($vardomain, $findme);

if ($pos !== false) {
    echo "This is a Nominet Domain!";
} else {
    echo "This isn't a Nominet Domain!";
}
{/php}

it would have been easier if the tld variable was available, but it isn't - so you have to take the domain name and check it for Nominet .uk extensions... for the life of me, I couldn't get this to work with preg_match, so hopefully someone with more regex knowledge than me can tidy this up... you'd only have to check at the end of the domain.

 

(in fairness to myself it's now 4am, have no experience of order forms and i've spent hours just trying to find out how to pull variables into templates and get the regex working!)

 

anyway, hopefully you can see what it does - if it's a co.uk domain, it currently echoes "This is a Nominet Domain" to the screen, but in practice you would either leave it blank or use some variation of the existing table code..

 

{$LANG.orderregperiod}:</td><td>{$domain.regperiod} {$LANG.orderyears} {$domain.domain}</td></tr>

though obviously a little different content to get rid of the Registration Period text!... even just a line stating that Nominet transfers aren't renewed.

 

if it's not a .uk domain, then you could set it to display the above code as normal.

 

viewcart.tpl would probably have to be tweaked in a similar way... and possibly the email templates (though I haven't looked at either).

 

I would suggest that the first thing that should be fixed is the regex and an option to search for more tlds, also these changes will be shown on both registration and transfer forms - I can't see any variable that distinguishes between transfer and registration, so perhaps someone with more experience will know a way to fix both issues - I look forward to seeing the improvements! :idea:

Edited by brian!
Link to comment
Share on other sites

All the above is complicated by the fact that if the .uk domain is within a few months of expiry, it WILL renew on transfer, and if you're with ENOM it will renew for 2 years fixed amount, whatever you select as transfer/renewal period.

i'm not sure that automatically renewing on registrar transfer is a Nominet policy, but a decision made by an Enom - I've found that mentioned on some Enom resellers sites, but can't see it on Nominet's.

 

in fact, the page below seems to confirm that Nominet will consider the two issues separate.

 

http://registrars.nominet.org.uk/content/what-happens-if-registrar-associated-domain-name-changed-during-renewal-period

 

Although I can think of a technical/practical reason why Enom would do that, based on how Nominet handles retagging - in any event, as a Nominet member, we wouldn't have to pay Nominet immediately anyway, so would have time to get a renewal payment from the client.

 

to get back to the original point about order forms, I know WHMCS are working on new order forms, so hopefully they will help the type of issue Chris mentions... though I don't think they're scheduled for v5.3, so you're probably looking at late July or August at the earliest.

Edited by brian!
Link to comment
Share on other sites

Thanks for your replies.

 

Without a solid solution, for me this is a matter of making sure the customer understands the situation. It is very easy to put a load of text on the transfer pages, explaining that some domains incur a cost and others don't. Then you also have to explain that the transfer period will always at least state "1 year" but in the case of some domains, they won't renew at all despite this.

 

The above sentence is enough to confuse a customer and it seems unprofessional. They have the option to add years from their client area, so why add extra confusion at this stage? Most customers these days are easily confused as it is.

 

I'll concede that you have to explain to them why you are charging them for a transfer, so you always have to describe the process - but I'm sure some would agree that providing another extra choice for the customer, especially in this way, is only going to dilute their patience. We want to get them to the checkout with a minimum of fuss and also prevent any extra unnecessary questions that will take up our resources.

 

In theory you can fix the domainsregperiod to 1 in a hidden field inside the "foreach" statement - so that will fix all selected domains to one year - then you can remove the table column containing the select field and change the template output on the "configuredomains" order template when displaying the number of years to simply say "Transfer". I had this working earlier but I didn't get as far as seeing the output at the checkout.

 

I also got it to display the transfer price, in place of the select field, without displaying any years, so it was just a "price to transfer". It can be done, but its messy and means hacking up the templates even more. I'm aiming to launch my site within the next month, but I keep finding stumbling blocks like this. By the time I'm finished, most of the templates will have changed a hell of a lot. I'm not looking forward to updates!

 

I think WHMCS could prevent a lot of extra work by putting some more thought into the flow of the interface and understanding more about the average hosting customer. Unfortunately, developers don't think like customers which is why a lot of software like this s clunky and illogical. :-( Lets face it, interface design is not something WHMCS seem to have spent much time on so far. I hope that will change.

Link to comment
Share on other sites

To be fair on whmcs, the order flow is logical from a point that the interface is simply designed to work. The whole point in having a simple out of the box version is so you can get going right away but just take a look at the forms types, all those versions and none of them match each other in design.

 

You should be having the forms designed to your own requirements and not relying on the default templates on an indefinite basis.

 

adddomain.tpl

{if $domain eq "register"}

 

If its there then you should be able to use it. (i cant remember if i have added it and im using a new trackball and its took me long enough to pull out that snippet so im not going searching in my hooks today).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated