Я работаю над проектом электронной коммерции (в Django и основан на API остальных), где пользователи могут размещать заказы. Пользователи могут добавлять товары, которые они хотят купить, в корзину, которая является постоянной. Они go через процесс оформления заказа для размещения заказа.
Мне не ясно, как хранить промежуточный этап заказа и управлять им до создания окончательного заказа в таблице заказов в случае остальных услуг на основе API, которые не имеют запроса сеанс.
Я думаю об этих параметрах:
с использованием отдельной корзины, таблица заказа: таблица корзины будет иметь элементы, выбранные пользователем. когда они нажимают кнопку «оформить заказ», создайте заказ, но с флагом, который говорит, что он находится на промежуточной стадии. когда платеж инициирован, он будет помечен как окончательный заказ.
с использованием отдельной таблицы для корзины, оформления заказа и заказа: таблица корзины будет иметь элементы, выбранные пользователь. когда они нажимают кнопку checkout, создайте запись оформления заказа. когда платеж инициирован, создайте запись в таблице заказов. Здесь оформить заказ должен иметь копию структуры заказа. Кажется, это дублирует функциональность лота
с использованием корзины + оформить заказ (вместе), таблица заказов: таблица корзины будет иметь элементы, выбранные пользователем. когда они нажимают кнопку оформления заказа, этапы оформления заказа сохраняются в той же таблице. это похоже на таблицу magento sales_flat_quote. Когда инициируется оплата, в таблице заказов создается окончательная запись заказа.
Мне не совсем понятны плюсы и минусы вышеуказанных способов. Каков стандартный подход? И любые ссылки относительно того же.