7 replies [Last post]
TwistedLincoln's picture
Offline
Joined: 04/06/2008
Juice: 128

Currently, if a customer decides to cancel an order during checkout by hitting the "cancel" button, the order in question remains listed as "in checkout." This doesn't make sense -- the order should instead be marked as "cancelled."

Personally, I think there should also be an option in the admin menus to have incomplete orders deleted upon hitting the "cancel" button, as this would greatly ease testing. Currently, if you are testing changing something on the checkout page, you create a new order each time you go to the checkout page to see your changes. There is nothing you can do to keep these orders from accumulating, and there is no way to delete them in bulk. Over the last 24 hours of testing, I managed to rack up over 30 useless "in checkout" orders, just from testing my own changes. Deleting them manually one by one was not fun.

---------------------------
Twisted Lincoln, Inc.
www.twistedlincoln.com/shop

univate@drupal.org's picture
Offline
Getting busy with the Ubercode.
Joined: 03/27/2009
Juice: 465
This isn't a bug... I

This isn't a bug...

I interpret the cancel button as canceling the checkout process not the order (If a customer then changes their mind again after hitting cancel I would prefer them to be able to just hit the checkout button again - if they wanted to change their order then can then remove the items they don't want from their basket at that point).

As a site admin I would prefer to be able to track things like how many people start an order and then decide not to purchase at the last step, so seeing these orders in_checkout status is useful.

and if an order is marked as "cancelled" to me that means they purchased and then canceled (e.g subscriptions)

Ofcourse you could propose a feature (or implement it yourself) to allow you to bulk delete orders if that is what you want to be able to do.

TwistedLincoln's picture
Offline
Joined: 04/06/2008
Juice: 128
Re: This isn't a bug... I

I hadn't thought of subscriptions in relation to the "cancelled" term. That's a good point.

However I don't think that cancelling or deleting the order in the system would remove the items from the customer's cart -- the two things don't seem to be tied together. If you put items in your cart but never go to checkout, no order is ever created (and yet your cart contents persist). So there is no reason to assume that deleting or cancelling the order that is created when you visit the checkout page would change the contents of the customer's cart at all.

As for tracking customers that leave at the last moment, I like to do that also -- however I would assume that most customers would just close their broswer or navigate away rather than hitting cancel. In that event, the order would still be marked as "in checkout."

---------------------------
Twisted Lincoln, Inc.
www.twistedlincoln.com/shop

---------------------------
Twisted Lincoln, Inc.
www.twistedlincoln.com/shop

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15422
Re: Re: This isn't a bug... I

The intention behind the "Canceled" status was for an administrator to have a place to dump an order that made it through checkout but then was later canceled by the customer for some reason. I suppose two things are in order...

First, I actually would prefer to remove the "Cancel" button from the checkout form so customers aren't tempted by it. If it is preferable to keep it in, then perhaps we should have an "Abandoned" status or something similar that implies a customer cancellation.

Second, I'm in complete agreement that there should be a way to specify how long to keep "In checkout" orders around. They don't need to be kept indefinitely, and a simple query could delete any "In checkout" order that was created over X hours ago.

For now, these things need to be taken care of in contrib space till we can get the release out and get back to working on Ubercart core modules.

haysuess's picture
Offline
Joined: 07/07/2008
Juice: 280
Re: When a customer hits "cancel" during checkout, mark the orde

I am looking for this feature! What I want to do is set up conditional actions to e-mail me a notification with customer and order information when a customer is in checkout and then cancels their order. Is this possible to do right now?

j.mead's picture
Offline
Joined: 07/27/2009
Juice: 385
Re: Re: When a customer hits "cancel" during checkout, mark the

Please accept my apology in advance if I'm not quite understanding your issue, but as far as I know with the way the cancel button is setup, doing what you ask is likely going to cause you a bunch more grief than I think you'd want.

Obviously I don't know your setup, and tracking abandoned carts is important, I just don't thing what you're asking as I understand it is really worthwhile. If the cancel button emailed you and changed the order status, you'd then be filling both your email inbox and your order logs with canceled orders based on the actions of user who don't realize what's happening in the background. The customer might want to go back and add to their cart, so you'd be getting an email every time. If they clicked checkout simply to test the order or to see the order total, thinking that they might want to do something more, you're run a risk of making them uncomfortable if you emailed them regarding it.

My customers love clicking checkout, then cancel, then checkout, then cancel.... Many times when there's an order still in checkout, I have a completed order from the same customer right after wards. I am able to then see that they placed an order and I change the 'In Checkout' to 'Canceled' or delete it entirely. Only if I see an 'In Checkout' without another order later do I even pay any attention to it.

The original post was getting a bit confused with the 'Cancel' text on the button and the order status. Ryan's post cleared it up a bit, but his choice of button text was unfortunate, seeing that there's an order status with the same name, even though two things are unrelated with regard to how they should be used.

the sites i'm always breaking.... www.sew-la-fabric.com
http://lostpetsla.com (though i hope i never break this one too bad)

haysuess's picture
Offline
Joined: 07/07/2008
Juice: 280
Re: Re: Re: When a customer hits "cancel" during checkout, mark

I see what you mean now that our store has been running for a week.

We do have the ability to go in and see which people have stayed in checkout for a long time, and can manually e-mail them, but we get about 30 orders a day, and more that are in checkout and never order. It'd be nice to be able to export the e-mail addresses of only users who are in checkout for over a week. or so to add them to a certain mailing list. Is this possible at all? Even through PHP MyAdmin?

j.mead's picture
Offline
Joined: 07/27/2009
Juice: 385
Re: Re: Re: Re: When a customer hits "cancel" during checkout, m

In the store admin, under reports, there is the customer report which will export to a csv. This report is configured to to display the order status of complete. While I haven't looked at the code in the module, it might be that if you change the order status to in-checkout there, you will get a list of customers who didn't complete a purchase. It might be very simple, and it might also be more work if you want more than 1 order status, but this might help you get on the right track. Good Luck.

Also, I noticed that when we first launched our site, a lot of people were really just browsing and checking out how we operate, so it's possible that as you go forward and build a reputation with people that the incomplete orders start to taper off.

EDIT: If you go to report settings, you can choose the order status from a list. Don't need to edit anything, but it will show customers who you may have already edited. If you delete the in checkout orders after you're sure you don't need the information, only those who still have an existing order appear at the top of the list.

the sites i'm always breaking.... www.sew-la-fabric.com
http://lostpetsla.com (though i hope i never break this one too bad)