Preventing duplicate orders with a set timedelay

  • Posts: 20
  • Thank you received: 2
10 years 10 months ago #166002

-- HikaShop version -- : 2.3.2
-- Joomla version -- : 2.5.24
-- PHP version -- : 5.3.10-1ubuntu3.8

I have a site where we get a lot of duplicate orders. We are pretty sure it is user error, so no fault in Hikashop.

But we would like to be able to set a time in minutes in Hikashop Configuration, where Hikashop would reject new orders from the same customer, to prevent these duplicate orders. If a user doubleclicks the button for the last step, or backs one page and send it in again within say three minutes when it is already sent in, the new order would be rejected with a configurable message along the lines of "You need to wait at least three minutes in between placing a new order. Your last order, [number], was sent in [date and time] in the amount of [amount]. You should have gotten a mail about this." Also maybe flush the shopping basket cookie or something like that.

Is this possible?

(We are willing to pay for this development too).

Please Log in or Create an account to join the conversation.

  • Posts: 83993
  • Thank you received: 13605
  • MODERATOR
10 years 10 months ago #166032

Hi,

Duplicate orders comes in because when HikaShop redirects to the payment gateway, it creates the order, then the user cancels the payment on the payment gateway, goes back to the checkout and finish the checkout again, which creates a new order again, etc until he makes the payment on the payment gateway.
That's quite common and normal. And distinguishing from the "failed" orders and the paid orders is easy as only the paid orders have their status set to "confirmed" when HikaShop receives the payment notification from the payment gateway.

So in that respect, if you were to do the modification you're talking about, it means that a lot of customers would have to wait 3 minutes to retry and they would have to re add the products to the cart, leading to many of them just stopping there their purchase. So I don't think that it's a good idea business-wise as you're going to loose a lot of sales and it won't improve anything.

So, while the modification is possible with some custom work (and you can ask our partners for a quote if you want: www.hikashop.com/home/our-partners.html ), before looking further into this, I would recommend to ponder on this first.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
10 years 10 months ago #166206

Thank you for your reply, and the issues you mention, and also the tip about partners. I will ask a partner for the development of something like this. :)

We do not use a payment gateway. Last step in the order process is just send it in.

Different vendors have different business processes, ours is that we get a lot of useless duplicate orders that leads to tedious manual work to remove. Lost sales is not an issue.

Also the function we are asking about is not designed to put the customer through more hassel, as your answer seems to suggest. If the order got through ok the first time, Hikashop should be smart enough to recognise that fact and inform the customer about this when the customer try to place the same order again.

A lesser version of such a function is just a time delay in between orders and a customisable text. A full version would be to check if an identical order is already there in the last few minutes by comparing this order with previous ones.

The flushing of the customers basket is common in other webshops if and only when the order got through OK.

Lost sales is not an issue, because it worked the first time. The second time should not be possible. This is a big hassle for us, several times a day.

Last edit: 10 years 10 months ago by Taz_1999.

Please Log in or Create an account to join the conversation.

  • Posts: 83993
  • Thank you received: 13605
  • MODERATOR
10 years 10 months ago #166212

Hi,

Indeed, you are in a special case. My previous answer was towards the general use case since I didn't know the specifics of your website.

The flushing of the cart after the order is processed is already what is done by default in HikaShop. After you go back from the payment gateway, the cart is flushed.
However, in your case, since you don't use a payment gateway, it's probably why it doesn't happen. But that can be changed. Just set the option "Clean cart when order is" of the configuration to "created" and the cart will be flushed directly at the end of the checkout. No need for custom development for that.

That should be already enough to take care of your issue since the users would have to re-add the products to the cart in order to process the cart again through the checkout, which would serve as a delay. So I would first recommend to try that and see how it goes. But then, if you need such delay implemented, adding a flag in the user session to forbid the creation of new orders for 3 minutes should be easy to do for a developer with a small HikaShop plugin. So yes, our partners, or any other Joomla developer, should be able to help you with that.

The following user(s) said Thank You: Taz_1999

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
10 years 10 months ago #166865

Brilliant! I'll try that. :)

Please Log in or Create an account to join the conversation.

Time to create page: 0.044 seconds
Powered by Kunena Forum