Server-side check so that when you add products to the cart, if you are trying to add more than however many are available, it will only add the available quantity, unless back-order is allowed.
If you still wish to increase the quantity in order, you can. In the cart views, beside the number, you will have a string telling you how many are in stock, and whether back-order is allowed.
If you have in the cart out of stock product, the checkout buttons will not show.
Still to do:
verify the inventory on checkout. The complexity on this is that ICheckoutService, as it is, does not have anything enabling that check: everything is left to the implementation. e.g., For Stripe, I would change the Ship method in the controller, so it does that check and in case it fails it redirects to the cart (with a message)
Originally reported by: Bertrand Le Roy (Bitbucket: bleroy, GitHub: bleroy)