Checkout process and cart abandonment

To me, the cs-cart checkout process is just… well, strange…



If a user goofs in entering their address and the system is setup for AUTH_ONLY real time processing for a credit card, the AVS verification will fail and the payment (actually the authorization but cs-cart doesn’t distinguish between the two) will fail. This causes the whole order to be Declined and it can’t be further edited by the customer as far as I can tell.



If you have the "Allow reorder’ checkbox selected, the user will be able to duplicate that order and edit their info in the new order (hopefully not making any mistakes). But if they’re not smart enough to pick up on that, they will leave and go elsewhere.



Of course, this generates 2 order_id’s for the same purchase, one Declined and hopefully one Processed. So the poor admin is trying to sort through their orders. If they normally get 100 orders/day and 20% of them have had problems, they now see 120 orders and have to figure out which to cancel. And of course, this blows any statistics they might want as well.



Does anyone else find this strange behavior?



Other carts I’m familiar with do not create an order until the checkout process completes successfully. If there are errors or problems in any part or the process, the user is returned to that section with a clear indication of the problem. However, in cs-cart, they get some orange message up in the corner that goes away after a few seconds and are then presented with what looks like an order but with buttons to re-do the order… If the user is not familiar with the store, they might miss the message entirely.



Just curious if I’m way off base in my expectation that a cart is a cart first (prevent cart abandonment at any cost) and a store second (lots of neat admin features).

[quote name=‘tbirnseth’]Other carts I’m familiar with do not create an order until the checkout process completes successfully. If there are errors or problems in any part or the process, the user is returned to that section with a clear indication of the problem.[/QUOTE]



I agree with this totally.

I think the checkout process needs a redesign.

[quote name=‘tbirnseth’]

Of course, this generates 2 order_id’s for the same purchase, one Declined and hopefully one Processed. So the poor admin is trying to sort through their orders. If they normally get 100 orders/day and 20% of them have had problems, they now see 120 orders and have to figure out which to cancel. And of course, this blows any statistics they might want as well.

[/QUOTE]



This was changed from version 1.3.5 where the cart would use the initial order id for the repaid order aswell, but i’m sure i read a post where some people complained it should create a new order, like it does now.

Point being that there is no order if it’s not paid (or whatever the payment processed defined is completes). It is confusing the the customers. This gives cause for cart abaondonment which should be avioided at all costs.

[quote name=‘tbirnseth’]Point being that there is no order if it’s not paid (or whatever the payment processed defined is completes). It is confusing the the customers. This gives cause for cart abaondonment which should be avioided at all costs.[/QUOTE]





Absolutely true!



Give someone a confusing checkout experience… and they will never come back.

[quote name=‘tbirnseth’]Point being that there is no order if it’s not paid (or whatever the payment processed defined is completes). It is confusing the the customers. This gives cause for cart abaondonment which should be avioided at all costs.[/QUOTE]



I agree! It basically completes the order, but asks for re-payment.



and 2x I think the checkout process needs a redesign.

Also, see this thread about the 1 page vs 3 page checkout.

[url]http://forum.cs-cart.com/showthread.php?t=13007[/url]

An order should only be created if the order process completes successfully. I.e. payment (in whatever form) is successful.



However, in cs-cart, this is not the case. I had a customer recently who struggled to get their address to validate (AVS code from Authorize.net). I have 6 orders for them, the last one being the only valid one. While the others have “Declined” status, the order process shouldn’t complete until it is, well… complete!



The other obstacle is that the failure indication is at the bottom of the page rather than the top. So if the user doesn’t read the red notification box in time, they won’t even know that the order didn’t complete successfully.



The comment about cart abandonment is absolutley correct, but the “architects” don’t seem to understand this.

I completely changed my final order page.


  1. If order is successful, the order can be printed


  2. If the order is a fax order, I have “print order form”. The form has payment form at the bottom for customer to fill out.


  3. If order had been declined, instead of a print button, I have in big bold letters “Payment failed”. Then directly underneath there I put the payment box.



    I am currently running 1.3.5 but I did this in 2.0 as well when I did a test run of it.



[quote name=‘tbirnseth’]An order should only be created if the order process completes successfully. I.e. payment (in whatever form) is successful.



However, in cs-cart, this is not the case. I had a customer recently who struggled to get their address to validate (AVS code from Authorize.net). I have 6 orders for them, the last one being the only valid one. While the others have “Declined” status, the order process shouldn’t complete until it is, well… complete!



The other obstacle is that the failure indication is at the bottom of the page rather than the top. So if the user doesn’t read the red notification box in time, they won’t even know that the order didn’t complete successfully.



The comment about cart abandonment is absolutley correct, but the “architects” don’t seem to understand this.[/QUOTE]



I totally agree with you on the point where

[QUOTE]An order should only be created if the order process completes successfully. I.e. payment (in whatever form) is successful.[/QUOTE]



My main method of card payment is via Paypal.

Example of how 1 customer who unknowingly created a total of 7 orders:

  1. select Paypal as payment option
  2. click on Place Order (which does not provide a decent summary layout to present to the customer imo)
  3. Redirected to Paypal’s page
  4. Decided to click on “Back” button of her browser to go back to the checkout page.

    (for whatever reasons I am unsure, maybe to change their cart items, to check the current foreign exchange rate at Paypal’s, etc)
  5. Repeat Steps 2-4 again, and again…



    And although these orders are created, no email notifications were sent to me nor the client. The status will be in the “Open” state.



    And before they know it, if they check their order history, or we check the Order list, a total of 7 orders are created already. (7 being the max as of now, common are duplicates of 2 to 3)



    This sucks real time.

    Customers will ask me how come there are so many orders listed in her account not paid yet, when she have had paid for the order (the final one), and we have to explain it in LENGTHY DETAILS to ensure that the customer’s trust in shopping at our online store is not lost due to it acting “weirdly”.



    On top of it, admin have to manually go through the orders one by one to identify and delete them if it is a duplicate due to the reasons stated above.



    And from what I read, if I were a Europe based company, my books will be in a serious mess, since they can’t delete the orders (which create unexplainable gaps) since the order numbers must be in running numbers.

one of my clients uses paypal and google checkout.



They been experiencing issues where people are creating orders, getting redirected to paypal or google & for whatever reason closing their browser or canceling at paypal…but the orders remain in an open state indicating payment made at paypal.



at first they thought it was a paypal issue, but with testing I duplicated the same.



It would be nice to have the cart smart enough that if no api calls made from paypal, google or which ever that a cron job / script runs to cancel those lost orders after xx days with status of abandoned transaction or something.

Any updates or workarounds for this problem? This is one thing I really don’t like about CS-Cart

[quote name=‘racingsolution’]Any updates or workarounds for this problem? This is one thing I really don’t like about CS-Cart[/QUOTE]



I’m wondering about this too. Are there any 3rd party developers who have developed mods to fix things like this?? I keep coming across things that, in other carts, there would be a 3rd pary mod somewhere available to fix or extend features.

have been weighing up cs-cart for the past few days testing, customising and just discovered this thread so decided to test…



so… a new order is created every time you hit the ‘place order’ button - regardless if its been paid for?? how do i know which orders have been paid? basically you are unable to trust any new order before logging into your cc merchant account to verify!



wow - what a deal breaker.



such a shame, was 95% going with cs cart.

Every order generates an email from the cart with a copy of the order that was sent to the customer.



An email is also sent by your payment gateway so you know that the order was paid for.



Failed orders will have an email from the cart.



So all is well.

If you’re using Paypal as a payment option, you might want to check into Paypal Express as that seems (from others talking about it) to send the person to PayPal for verification of address and payment THEN send the person BACK to CS-Cart to complete the order. The PayPal payment occurs BEFORE clicking “Complete Order” which means the payment has to go through PayPal before the order is sent to you which is great, in my eyes. I’ll be using this option instead of PayPal Standard for my PayPal option.



And, as far as credit card payments, Traveler explained how that should be set up. CS-Cart will send copies of the order to your Order department as well as the customer and you should also have your merchant account set up to email you a copy of the payment being completed.



Stephanie

Testing/Developing 2.0.8 - Going live in Feb 2010!

www.Products4Pets.com - non-CS-Cart currently

Yeah, I find the order process messed up as well. I think in an ideal world when the user presses submit, if there is any error returned by the CC processor, then the customer is notified in the same way they would be notified if they had forgotten to fill out a field. Then they correct the issue and move on. When it returned successfully it processes the order.



The one nice thing about the way it works now is that the admin can see what error happened and give an opportunity to follow up with the customer to resolve it.



I did not like the way PayPal Pro specifically handled errors as the customer had no idea what the error was. An incorrect expiry date is treated the same way as declined credit card. I had CSC program a mod for me that helps fix this.



The PayPal API returns an XML response and it include the error code and a friendly explanation about what the problem is (usually). So my mod captures the exact error code and the reason and passes that to the customer.



If I want to create a custom message based on the error code and how I want it to treat the order I can do that as well. If I don’t explicitly input a special case then the default behavior is for the cart to display the PayPal error message and only process based on successful transaction ID being issued.



As you can see in my example I an able to put an order into a Pending mode when it trips one of PayPal fraud filters.



paypal_order_mod.jpg = the admin interface for the mod

admin_order_response.jpg = how the order response looks on the right side of the view orders section in the admin

express_co_customer.jpg = How a response is reported by Express Checkout on the customer order page. I would like to make this look a little bit better, but for now it’s fine.

cc_customer.jpg = How the customer see the error in their order section when they use a CC.

cc_customer.jpg

express_co_customer.jpg

admin_order_response.jpg

paypal_order_mod.jpg

[quote name=‘payjisan’]have been weighing up cs-cart for the past few days testing, customising and just discovered this thread so decided to test…



so… a new order is created every time you hit the ‘place order’ button - regardless if its been paid for?? how do i know which orders have been paid? basically you are unable to trust any new order before logging into your cc merchant account to verify!



wow - what a deal breaker.



such a shame, was 95% going with cs cart.[/QUOTE]



wow, just reading through the threads on this order process issue.



I agree it is a major issue and the cart seems so complete upto this stage…I would like to say its 97% there.



What happens if you have people knowingly or unknowingly doing this and getting multiple emails and orders…it’s a nightmare…!!

[quote name=‘sellon’]wow, just reading through the threads on this order process issue.



I agree it is a major issue and the cart seems so complete upto this stage…I would like to say its 97% there.



What happens if you have people knowingly or unknowingly doing this and getting multiple emails and orders…it’s a nightmare…!![/QUOTE]



This is definitely a major issue that needs to be fixed by the CS-Cart team. You would think it would be simple logic to fix it. If failure then display “this.tpl” if success, continue like normal. No order should be created upon a failure status. Period. Roadmap or not this should be a top priority by the cs-cart staff. This is absolutely NOT a normal shopping cart behavior that exists in CS-cart. Not sure who the geniuses were who gave the go ahead for the current processing but they should be smacked upside the head.

[quote name=‘Ion_Cannon’]This is definitely a major issue that needs to be fixed by the CS-Cart team. You would think it would be simple logic to fix it. If failure then display “this.tpl” if success, continue like normal. No order should be created upon a failure status. Period. Roadmap or not this should be a top priority by the cs-cart staff. This is absolutely NOT a normal shopping cart behavior that exists in CS-cart. Not sure who the geniuses were who gave the go ahead for the current processing but they should be smacked upside the head.[/QUOTE]



Ion_Cannon,



I see you site look pretty good and complete and that why I am saying this is 97% there except for the nightmare order processing logic.



How you dealing with this issue currently? and Is it driving your customers mad or driving them away the fact they are afraid they will get multiple orders and be charged multiple time…or do you have a workaround currently?



And, how many orders on average would have to fix up any issues due to payment failure or user error?



I am pretty keen on using CS-Cart now but need to understand how I am going to deal with this nightmare issue.