Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After starting a shop transaction the cart is emptied #50

Open
marfago opened this issue Mar 25, 2015 · 5 comments
Open

After starting a shop transaction the cart is emptied #50

marfago opened this issue Mar 25, 2015 · 5 comments

Comments

@marfago
Copy link

marfago commented Mar 25, 2015

When you start a online transaction in order to complete the buying process the cart is emptied even if the transaction is aborted and there is no payment issue.
Suppose a user accepts terms and conditions and then starts a transaction.
He then puts a wrong number in the credit card online system and the transaction fails. When he comes back to the cart, it is empty. How can he retrieve his items?

@rnixx
Copy link
Member

rnixx commented Apr 7, 2015

the payment transaction is decoupled from order finishing, and, as soon as a order is finished, the cart gets flushed (transaction starts after order has been made). if you want to do some special handling if transaction fails, you need to read the order corresponding bookings from database.

@marfago
Copy link
Author

marfago commented Apr 7, 2015

I think that the normal behavior for a customer should be to get back to the full cart if the transaction fails for any reasons (f.i. if him/her has wrongly inserted the credit card number and the transaction fails, or if the credit card is not charged enough, or if he/her abort the transaction) and that the order should not be added to the recorded orders (the payment has not been issued yet).

@rnixx
Copy link
Member

rnixx commented Apr 7, 2015

Well, actually the order is stored but the paid status is False if payment fails. IMO this is totally fine because you simply can't automate all the edge cases and orders need to be monitored by humans anyway. Also we did it this way in order not to loose information.

@marfago
Copy link
Author

marfago commented Apr 7, 2015

The only case which should be recorded is when the user is waiting for an invoice and will pay later.
All other cases due to a transaction abort, in my opinion, should not be tracked at all, except for locally managed cart information.

Having a paid status to false if payment fails does not help the backoffice to process the order, because it is up to the user to retry the payment. But, since the cart is emptied, he must restart from scratch and create a second order. So, in the end, this approach might fill up the order list with dangling orders never closed.

@rnixx
Copy link
Member

rnixx commented Apr 7, 2015

feel free to fork the project, implement the proposed behavior and do a pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants