Jump to content

Run orders via cron...


Chris74

Recommended Posts

Hi, we have a problem with a bug in WHMCS that we need to work around. The problem doesn't happen very often but it happens often enough for us to want to do something about it. Obviously reporting it as a bug to WHMCS is important, but I doubt they will fix it any time soon. It has been mentioned in this forum by a couple of people.

 

We have the following problem...

 

Customers who have lots of domains often will try to renew 10, 20 or even sometimes 30 domains at once. We have orders set to process automatically as long as the customer has placed orders previously. So domain renewals and new hosting orders are processed as they are ordered, unless they are from a new customer, in which case they are manually approved.

 

What we see happen is that a customer will attempt to renew lots of domains at the same time but some of those domains will simply not get renewed. There is no notification, no error, nothing to flag up that the domains didn't renew and there is nothing logged. In most cases about half the domains are renewed and the other ones, despite being paid are not. In some cases the next due date is increased, sometimes not. For all domains that didn't renew, the renewal date doesn't change, so that helps - but we've found customers paying twice for some domains because of this problem. The client doesn't get any successful renewal notifications for the ones that did not renew - and that's the only way of knowing they were not successful without checking manually. There are no admin notifications at all.

 

I believe I know why this happens.

 

I think that when a customer places an order, the actual process of renewal or provision happens within their session - or at the very least it is tied into their session somehow. The renewals seem to happen in real time while they wait. So in the event of the customer closing their browser or navigating away from the checkout page, this kills the process and some domains don't get renewed. As mentioned, this happens usually when there are a dozen or more domains in the cart which will take a good few seconds to complete. I guess the customer pays, then WHMCS processes the renewals during that same time window. I think when its taking a while, the client gets bored of waiting for the page to refresh back to their account, so they just navigate away, or close the window before the renewals have completed.

 

What WHMCS should do of course is to run the renewals outside of the user's session, so the processing of orders cannot be affected by their activity. I think it's a very poorly designed system. Those processes should be isolated and run separately.

 

Currently the only way to ensure these will run successfully is to set WHMCS to manually approve all orders. This would be a real pain for us to manage.

 

What I'd like to do is set the config setting to manually approve - but then run a cron job every 10 minutes to process any orders that are currently outstanding. It would need to follow the same rules as the automatic option - i.e it would only process paid orders from clients that have previously ordered and also ignore orders from new customers, to be manually processed.

 

How easy do you think this could be to implement?

Link to comment
Share on other sites

What we see happen is that a customer will attempt to renew lots of domains at the same time but some of those domains will simply not get renewed

We've seen the exact same thing, it's some combination of browser issues, clients closing the window, delays at the registry etc - seen it with bulk registrations, multi domain renewals and even individual orders on occasion

 

We "pick it up" with daily checks of domains vs dates & status in WHMCS - its infrequent enough not to want to shift everything back to manual processing

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