The shopping cart is the storage where the user persists details about their intention to buy. Intention means it is not an order; it's different. It is just an annotation during store navigation to the effect that the user would like to buy that item.
The intention can take quite long and many trips in and out of the store. So, when it the user would like to find their shopping cart filled with elements they have not bought yet. So, user means that the shopping cart is keyed by the user and independent of the navigation session.
As items stay in the shopping cart for so long, pricing can change. So, prices need to be updated for items not ordered already in the shopping cart.
So, what is inside a shopping cart item?
A user session identification (as the user can be anonymous at the early stages of buying) that groups all items together
Any product in a shopping cart is, for a single user, a key in the shopping cart. No one buys the same product...