У вас должна быть отдельная сущность - заказ, которых много, у которых есть статус - не оплачен, оплачен, доставлен и т.п. в момент, когда вы нажимаете оплатить - все содержимое корзины должно переехать в новый заказ а корзина очиститься.
Если пользователю понадобится, дайте ему возможность открыть историю заказов и при необходимости набрать корзину заново (или повторно оплатить, если статус - отказ/ошибка/отмена).