Domain name transfer management request
Hello,
I know WHMCS has made strives not long ago to do an update to the way it
handles domain name transfers. From what I see, what was added was a
new option called "Pending transfer" , creating of tasks for domain name
transfers and lastly a cron that updates expy dates, renewal dates on
active domains.
However, I believe we are still 1/2 way there. There are few problems
that still loom when dealing with transfers that requires to much human
intervention.
PROBLEM 1: Let's say the domain transfer finishes, WHMCS doesn't really
do anything else after it puts the domain in Pending transfer and after
it succeeds, we manually have to put it to active and change the expy
dates.
SOLUTION: What should be done is WHMCS should somehow check via cron all
Pending Transfers if they have succeed. If they have went through
fine, change status to Active, update expy dates and send a transfer
complete email to customer.
On the flip side, if the transfer fails, Create a new status that says
"Transfer Failed" and set a timer that after a domain is in pending
transfer longer than x days, goto Failed and send the client an email
saying the domain transfer failed.
I think this will help automate the transfer process to require less intervention.
Is this possible?
Hi,
Thanks for your comments and votes. I'm pleased to advise this is possible with the domainsync.php script. If a domain transfer is successfully completed when the domainsync.php script runs, it will change the domain's status to Active automatically.
If the transfer fails, the eNom API returns enough information for us to be able to send the "Domain Transfer Failed" email template when the domainsync script runs. This will contain the reason for the transfer failure.
The status remains Pending Transfer at this time on the assumption that the client will want to try the transfer again. Should they decide not to go ahead with it, the status could be changed manually to Cancelled.
A bit more focus on removing the amount of admin work required would be great for instance some tld's transfer instantly meaning we need to manually go in and update the status.
The whole domain process is getting better but still a complete headache.
I've posted another request for domains transferred out, also much needed:
http://requests.whmcs.com/responses/sync-should-mark-domains-that-have-been-transferred-out-as-cancelled-or-new-state-transferred-out
Hi,
The first part is already possible. WHMCS will automatically update the status of Pending Transfer domains to Active once the transfer is complete via the domain status sync script (registrar module dependant): http://docs.whmcs.com/Domains_Tab#Domain_Sync_Enabled
Hi,
WHMCS used to sync all domains in one go, but that was hitting the max request limits of some registrar's API. So by checking the domain statuses in batches it reduces the load on your registrar and prevents your access being blocked entirely.
You can still run the cron several times per day, we recommend every 4 hours, but that could be more or less frequent if desired.
Hi there John,
This sync selects the domains randomly? It would be great if we could select the last month domains, etc.
There is an addon by Resellerclub Mods (only for LogicBoxes registrars) that does exactly this. Very recommended!
Also, i heard the domain sync script has some problems with some registrars in 5.0, is that still true?
Regards,
Current problem with WHMCS
1. If customer place a domain transfer order then you need to open a ticket for EPP code, why WHMCS does not ask for EPP code when customer place a order and save epp code so we don't need to ask EPP Code?
2. If customer place a order for domain transfer then why WHMCS did not hide "register domain" button in Admin area? (If domain is not registered then why even whmcs accept domain transfer order)
3. Don't accept domain transfer order without EPP/Security Code(If customer did not ever EPP/Domain Security code then don't accept domain transfer order)
>PROBLEM 1: Let's say the domain transfer finishes, WHMCS doesn't really
>do anything else after it puts the domain in Pending transfer and after
>it succeeds, we manually have to put it to active and change the expy
>dates.
The setting to active should be done by the registrar module as a callback - some already do this.
The sync of the dates (if you're not managing it manually) can be done by the existing cron's
The system already creates a ToDo item for you to check the transfer(s) after N days
- automatically closing that todo for completed is trivial and again shoudl be done by the registrar module
I dont see why there should even be a todo item for transfers any more, maybe have it optional so that you can turn off that function if you dont need it. Seems pointless to me to have it created when you only use API's that function properly and do the callback correctly. Sure if you are using a module that does not fully support the automation process its needed. But then. You could just avoid those modules/registrars and save yourself the hassles.
I agree that transfers need a little more automation to save on human time. Something we were constantly getting asked was about the status of incoming transfers which required us to check at Enom and relay the information to the client that their transfer was in progress, failed for whatever reason, etc.
Having a script (or building into the existing sync script) to grab the reason for failed domain transfers and shoot an email off to the client with this would be great.
I think there should be a separate function in the daily cron job for pending transfers.
Correct me if I'm wrong, but the Domain Sync script cycles through all the domains in the database, 50 at a time - so it could take two or three days for a pending transfer to get updated.
If the daily cron handled the pending transfers instead of the sync script, it would update the status of pending transfers each day at the same time, which is clearly much more efficient.
Also, I just thought - why not have an "Update" button on the domain's tab? Already there are buttons for Register, Transfer, Renew, Modify, Release - why not have an update button too - so you can check and update an individual domains' status and expiry date.
That way, you could wait for the domain sync script to update and if the customer gets onto you about it before it gets done - you can force the update manually on that particular domain.
The way the script currently works is that it cycles through the domains, so it always starts where it left off.
Also accounting for the .AU transfer dilemma, where if its outside of 90 days from expiry there should be no renewal charge, if its inside in needs to be renewed at the same time as trnsfer
Makes good sense to have official Domain Transfer In/Out Complete/Failed messages with things like {$registrar} {$message} and {$new_expiry_date} in it for official use.
Since the domain sync cron handles updating completed transfers, (each and every run) if enabled in settings, it should also send out those email to the customer.
Good idea, thumbs up!
Why not also have a separate "registrar data" section where this information is pulled via API each time the domain is viewed on the admin page. We could use it to compare with our database values.
You shouldn't need (or want) to be updating status and dates through cron jobs - it's perfectly feasible (and already done in some cases) for the registrar to 'callback' to WHMCS to complete transfers, send completed emails etc
The question is, does every registrar support every status/date change callback necessary?
Unfortunately, I don't know of any registrars who are actually doing this and we'll still need a method of handling/updating/syncing transfers for registrars without callbacks via the traditional cron method.
>Can you elaborate? How would that work automatically for all domains?
When an 'event' happens to a domain, the registrar 'calls' WHMCS to 'action' something.
>Unfortunately, I don't know of any registrars
Ours does :)And yes, every event can have a callback - we use the 'expired' event to trigger WHMCS sending an email telling them about the costs and process for redeeming the domain if they dont pay the renewal invoice immediately for example.
Whats the name of your Registrar? :)
It would be great for the registrar to call our system to update domains on demand instead of the other way around, but realistically this functionality barely exists and to make this work for all domains on all registrars would be impossible. We need something that works for every domain, not just a few.
One thing that does work, is to query the registrar via their respective API to update the status of a domain transfer. It's a very simple process that takes hardly any time to implement - and every registrar supports this.
Certainly for transfer status updates, doing this via cron is a very suitable method.
Perhaps in the future, if more registrars support this "push" method you are talking about, changes could be made - but at the moment, WHMCS doesn't even support the most basic task of updating a domain's status when the transfer has completed - and this is something so simple to do with an API call, the mind boggles as to why it hasn't yet been implemented.
If any of you remember an old system called AWBS that has pretty much died now - that was updating the status of domain transfers as far back as 2007 for Enom, Directi/Resellerclub and Nominet domains. It ran on the daily cron and simply worked.
This isn't a complicated request - its a simple API command. The work required to implement it in the domain sync cron is minimal. WHMCS just hasn't got around to it yet. I'm sure they will one day - maybe after I've retired.
OMGosh... I'm about to migrate from AWBS to WHMCS and just stumbled upon this. You mean to tell me that WHMCS does not check the transfer status and notify customers when the transfer is complete?? Or am I missing something here?
- Scott
Hi ScottN,
I think that this point is still not available with WHMCS... I'm just facing this problem... and I didn't find anyway to fix it.
Regards,
Hi,
Thanks for your comments and votes. I'm pleased to advise this is possible with the domainsync.php script. If a domain transfer is successfully completed when the domainsync.php script runs, it will change the domain's status to Active automatically.
If the transfer fails, the eNom API returns enough information for us to be able to send the "Domain Transfer Failed" email template when the domainsync script runs. This will contain the reason for the transfer failure.
The status remains Pending Transfer at this time on the assumption that the client will want to try the transfer again. Should they decide not to go ahead with it, the status could be changed manually to Cancelled.
you can read more here
http://docs.whmcs.com/Domains_Tab
Domain Sync EnabledAutomatically checks and updates the Status and Expiry Date of domains names against your domain registrar to ensure the date in WHMCS is always correct (registrar permitting). To use this feature tick the option and configure the following cron job on your server:
php -q /path/to/home/public_html/whmcspath/crons/domainsync.php
This can be configured as often as you like, however to avoid overloading your domain registrar we recommend running it every 4 hours. The sync script will check Active 50 and Pending Transfer domains at a time:
This is all nice if you host no more then 300 domains ((24:4=6x50=300 domains synced every 24 hours) .
If you host 6000 you better let it run every minute because your domain will show 'expired' and won't ever be synced after the cron.php runs!
How we have to solve this once we double the amount of registered domains is beyond me... :(
Running every 4 hours means you may have no more then 300 domains registered.
Not a likely scenario for a serious business.
We have 6000 domains registered and need to run it every minute and still thats not enough!
If a new transferred domain is not synced before the cron.php runs at night it will get the 'exipired' tag and will never be synced and expire because no new invoices will be generated etc..
We need to able to sync more domains at once.
Comments have been locked on this page!