hold products in a cart, link the cart to the user

generally an ecommerce app has these data tables

user
cart
cart items (allows for quantity)
products
product variations
address (shipping/billing etc)

if you hold the products on the cart then each checkout is 1 cart - this way users can see their most recent carts plus all previous purchased carts (and the carts items)