So what's the flow here, there are items in the cart but nothing checked? Or the cart is empty and they are clicking download?

What about 412 precondition failed? The client is preconditioning that a cart is empty and the server fails because that does not make sense, like wookie hanging out with ewoks.

I'm ok with 400 but I'd like to be as specific as we can.