Craft Commerce cart timing out but allowing order to be processed
This is likely due to the item going out of stock while they were away from the cart, then when they went to pay, the item had to be removed from the cart, but they should have seen an error message when they tried to pay:


  Something changed with the order before payment, please review your order and submit payment again.


The secondary issue is allowing zero value orders. At the moment, zero value orders are allowed and payment gateways are not even called due to the payment due being zero.

On the client side, you could hide the payment buttons if the order value is zero.

We should introduce an allowPaymentOnZeroValueCarts type config option that stops these orders from coming through if dezired. I will add that to the next release.

I might also be a good idea to put some javascript on the page, that forces a refresh after a timeout.