и только после него клиент мог оплатить заказ. Может быть модуль есть какой нибудь похожий или еще что то..?
Правильным вариантом здесь будет реализация через корзины:
1. Пользователь набирает товары в корзину, далее переходит в корзину и нажимает "Заказать" (регистрируется при необходимости).
2. Корзина сохраняется, "выписывается" из контекста, отправляется сообщение "Заказ принят".
3. Через контроллер OrderDetailController собираем все заказы + корзины привязанные к покупателю (не сформированные). К корзинам (не сформированным в заказы) добавляем кнопку для восстановления в контексте с переходом на стандартную страницу оформления заказа.