tieni in sessione tutto fino a che non metti tutto nel carrello e quindi sul database
anche se secondo me la cosa migliore è mettere subito nel carrello, inserendo i dati subito nel database con una chiamata asincrona: questo potrebbe aiutarti nel caso di prodotti al limite dell'esaurimento scorte (anche se in ogni caso dovrai controllare prima della conferma d'ordine)