y por que no vas metiendo los carritos en una base de datos desde que se selecciona? asi no cargas el server con variables de sesion?
ademas, si el usuario, ya registrado se tiene que retirar despues podria seguir con su compra, de la otra manera no...digo