Don't "Disable anonymous checkout" after allowing it

Figured this one out the hard way. Earlier this year we decided to click “Disable anonymous checkout” in ‘Settings:General’ so that it would make it easier for us to do phone orders with our regular customers. We’ve allowed anonymous check out for the past 4+ years before that so there are a lot of people who checked out, but did not set up an account. Well, when we did this if a customer placed an order on the site in the past when we allowed them to “check out as a guest” it would not let them check out now. It would tell them they “already have an account”. The problem is they did not, they just had an order from before. So then if the customer asked to reset their account it would then tell them they did not have an account. So it became a vicious circle where the customer would just leave and give up.



I’m honestly not for sure if this is a bug, but I would vote that this is a pretty lame setting! If you click to “Disable anonymous checkout” the system should not be looking at old orders as if the customer had an account, when they did not.

I think I've run into this before. It's a bit of a nuisance.

Never even thought about it functioning like this. That is one of the reasons I decided to post something, to hopefully warn others. We did this in January and have seen our sales tank big time! I don't take too many phone orders and did not think about it. Then when I was helping a customer who could not check out themselves, that is when it started to catch my attention. Then today a customer was saying our “email” was messed up because they could not check out. After digging deeper I realized what they were talking about. Yikes.

This sounds like a bug.

OMG. I was struggling with this situation and I couldn't figure it out. Thank you @clips for bringing this up. I was going crazy to figure this out. Thank you for sharing the situation.



Is there anybody else having this or even try to see it works or we just have to ignore it.

I ran into this, but didn't know it was this reason.



After hours of looking I found that these new accounts were being given customer ids that already existed in the database hence the notice. I went to the highest id already given - crested a fake account to get it - then changed that number so the next one created couldn't clash with an existing one - so if 345 I created 1345

I agree, sounds like either a bug or a really crazy way to set up the programming. I haven't put it in the bug reports yet because odds are they are going to just say it is “working as designed”.

I would report it because if it is supposed to work this way, there wouldn't be any reason to have a “User” list and a “Customer” list.

I just realized the other reason we wanted people to “create accounts”. When a user does not create an account they cannot log back in to view their tracking number. Likewise they are unable to do a return/exchange request. So now that we allow people to check out as a guest our orders have increased, but sadly so have the request to get a copy of their tracking number. The CS-Cart system does send out emails with the tracking numbers, but most of the emails seem to get blocked.

I reported it but CS-Cart does not seem to understand it. I'm not for sure of a better way to explain it. If someone can think of a better way to help CS understand please let them know in the bug area here…

http://forum.cs-cart.com/tracker/issue-4547-disable-anonymous-checkout-after-allowing-it/

[quote name='kickoff3pm' timestamp='1380008086' post='168631']

I ran into this, but didn't know it was this reason.



After hours of looking I found that these new accounts were being given customer ids that already existed in the database hence the notice. I went to the highest id already given - crested a fake account to get it - then changed that number so the next one created couldn't clash with an existing one - so if 345 I created 1345

[/quote]



Thanks for that info! Solved my problem. This was driving me crazy for the last couple of days.



Turns out this happens when the auto increment value for the user_id is set lower than the last user_id value and you start getting duplicate user ids. This happened when I was importing users form another cart. I think if you are having the problem and the auto increment value isn't that far off you can create users and delete them until the values catch up. You can probably also change the auto imcrement value to some numer higher than the last user id through a mySQL querry if your savy with the techincal stuff.

Be sure to share your thoughts and confirm this bug by checking “yes” in the bug tracker at…

http://forum.cs-cart.com/tracker/issue-4547-disable-anonymous-checkout-after-allowing-it/

This is going to end up being another one that is forgotten and someone will end up being hurt by it later.

I believe this is fixed in the latest version because we disabled anonymous checkout after upgrading, and haven't ran into any problems in our first 100 orders.

KBM, we didn't think we saw any issues at first either. It took us quite some time and some lost business to figure it out. Remember, according to CS-Cart support they could not find the bug in version 2.2.5.

http://forum.cs-cart.com/tracker/issue-4547-disable-anonymous-checkout-after-allowing-it/

It's just something that is somewhat subtle and you don't realize…but hey, maybe CS fixed this in version 4 and they didn't mean to?

Can somebody please confirm if this bug got fixed, and in which version fix was made?

I wish to enable "Disable Anonymous Checkout" and I'm using version 4.3.1 - 4.3.2

Thank you for your replies!