Oops... your message was not sent

Your message has been successfully sent

тематические истории, основанные на опыте компании JetRuby
1R Commerce, Электронная коммерция

Обработка заказов в Spree Commerce

В этой статье мы рассмотрим довольно простой кейс: обработка заказов в интернет-магазине, построенном на Spree Commerce. Речь пойдет о типичных и нестандартных ситуациях. Возможные состояния оплаты и заказа? Как происходит списание средств? Можно ли кастомизировать элементы системы обработки заказов? Вас ждут подробные ответы на эти и другие вопросы. Текст разбит на логические блоки, каждый из которых имеет прямое отношение к описываемой проблеме.

Авторизация/Списание

Обработка карточных платежей проходит в два этапа: авторизация и списание. Платеж считается авторизованным, когда компания — владелец карты — подтверждает наличие  у покупателя соответствующих средств. Списание считается успешным, когда компания — владелец карты — переводит продавцу деньги с карты покупателя.

Некоторые е-commerce платформы выполняют списание автоматически — сразу после авторизации. Другие требуют от владельца интернет-магазина проверять каждый авторизованный заказ и вручную подтверждать списание. Второй способ принято считать вариантом, используемым по умолчанию.

Автоматическое или ручное списание?

Выбор между автоматическим и ручным списанием обычно определяется предметной областью бизнеса. Если вы имеете большой поток заказов, требующий быстрой обработки с минимальным участием покупателей, само собой, следует использовать автоматическое списание.

Если же вам приходится обсуждать и согласовывать заказы с клиентом, оптимальным вариантом станет ручное списание средств. То же самое относится к большим временным промежуткам между созданием заказа и его доставкой покупателю, а также к выполнению дополнительных операций с заказом за пределами Spree Commerce.

Состояния заказа

Все заказы в Spree Commerce имеют три состояния. И зависят от текущего прогресса процесса покупки:

  • контроль (подтверждение);
  • оплата;
  • доставка.

Рассмотрим каждый из них в отдельности.

Контроль (подтверждение)

%d0%be%d0%b1%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-2

Основная задача, выполняемая в этом состоянии заказа — сбор информации о покупателе. Посмотрите на картинку. Один из переходов озаглавлен словом “оплата”. При этом к оплате как таковой он не имеет ни малейшего отношения. Речь идет о сборе платежной информации, относящейся к покупателю. Например, сведения о банковской карте клиента.

Когда заказ выходит на завершающий этап, он отправляется в систему, то есть сохраняется. После этого вся необходимая информация становится доступной в панели управления интернет-магазином. Завершение процесса подтверждения заказа говорит о том, что он готов к дальнейшим манипуляциям со стороны владельца торговой площадки.

Оплата

Состояние оплаты, если так можно выразиться, является более “сложным”, чем подтверждение заказа. Дело в том, что совершение покупки включает в себя сразу несколько транзакций. Зачастую заказ инициирует более одного платежа. А еще вполне возможны ситуации, когда один платеж авторизован, а другой — отклонен, так как каждый из них обрабатывается самостоятельно.

%d0%be%d0%b1%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-3

На картинке изображены все возможные состояния процесса оплаты.

  • Контроль означает, что заказ еще не готов к оплате.
  • Обработка указывает на то, что запрос отправлен на платежный шлюз для авторизации. При положительном ответе платеж считается авторизованным.
  • Далее платеж переходит в режим ожидания до подтверждения решения о снятии средств. Положительный ответ означает, что он успешно завершен. При отмене  снятия средств платеж получает статус недействительного.

А теперь давайте рассмотрим общие статусы оплаты на всех этапах заказа.

  • Задолженность — возникает, когда списанных средств по всем платежам, привязанным к заказу, недостаточно для покрытия его общей стоимости. Например, отсутствует подтверждение по одному из двух платежей. Или единственный платеж по заказу ожидает согласования с покупателем.
  • Оплачен — устанавливается, когда снятые средства полностью покрывают стоимость заказа. По сути, этот статус означает, что заказ готов к доставке.
  • Кредит (кредитная задолженность) — этот статус присваивается, если со счета покупателя списано больше средств, чем выставлено в заказе и требуется возврат. Кроме того, может возникнуть фиктивная “кредитная задолженность”. Речь идет о заказах, по которым все оплаты были проведены, после чего их просто удалили.
  • Ошибка — присваивается, когда один из платежей, привязанных к заказу, отменяется или не проводится.

Комбинация статусов всех платежей, привязанных к заказу, дает общий статус оплаты заказа. Его видят менеджеры и администраторы в панели управления интернет-магазином. Отталкиваясь от этих статусов, они могут выполнять дальнейшие манипуляции с оплатами и заказами.

Доставка

По аналогии с платежами, к заказу можно привязывать более одной доставки. Такое случается сплошь и рядом. Разные части заказа могут доставляться разными методами, в разное время и на разные адреса. Здесь мы не станем углубляться в суть проблемы и будем считать, что одному заказу соответствует единственная доставка. С точки зрения обработки заказов в интернет-магазине — это не принципиально.

Как и с платежами, комбинация статусов доставки дает общий статус доставки заказа. В большинстве случаев используются следующие положения:

  • Готов — когда товар имеется в наличии и может быть отгружен покупателю.
  • Отложен — доставка не может быть выполнена (ожидание товара на складе).
  • Доставлен — товар отгружен покупателю, доставка выполнена.

Обработка заказов в интернет-магазине

Мы разберем простой кейс работы с заказами. Перед вами пошаговая инструкция.

  1. Авторизуйтесь в панели управления интернет-магазином. Вы попадете на страницу заказов — последние выполненные заказы будут отображаться в верхней части общего списка.
  2. Выберите заказ для оплаты. Необходимо выбрать именно тот заказ, который должен быть обработан (чаще всего — это заказы со статусом оплаты “Задолженность” или “Ошибка”, кликните по ним). Далее вы перейдете на страницу платежей, которые связаны с выбранным заказом.
  3. Выполните списание средств. В большинстве случаев — это простая операция с платежами, готовыми к снятию денег. Однако если заказ содержит платеж с ошибкой, вы можете отредактировать его сумму или же создать новый платеж для фиксации поступления средств со стороны (то есть не через Spree Commerce). Когда сумма списанных средств сойдется с выставленной стоимостью, вы зайдете в админку и увидите, что заказу присвоен статус “Оплачен”.
  4. Выберите заказ для доставки. В списке заказов кликните по кнопке “Редактировать” и вы попадете на страницу редактирования заказа. Здесь вы можете изменить любую информацию, включая спецификацию заказа и сведения о доставке, а также применить скидки.
  5. Доставка. В панели управления вы наблюдаете запись “[Код] готовый заказ со [склада]” и кнопку “Доставка”. Кликнув по ней, вы присвоите заказу статус “Доставлен”.

Как видите, все очень просто. Наше решение 1R Commerce (как и Spree Commerce из коробки) позволяет кастомизировать любой из элементов системы, в том числе  процедуру и статусы заказа. Таким образом, для нас нет ничего невозможного. Вопрос лишь во времени и финансах, которые потребуются для реализации изменений штатного функционала.

Подведем итоги

Как и любая платформа для электронной коммерции, Spree Commerce базируется на определенных предположениях о специфике формирования, выполнения и обработке заказов в интернет-магазине. В большинстве случаев коробочный функционал позволяет удовлетворить все потребности покупателя. Однако в большинстве случаев — не означает: всегда. Поэтому идеальное решение должно подразумевать возможность:

  1. модифицировать e-commerce платформу до соответствия бизнес-процессам компании;
  2. модифицировать бизнес-процессы компании для получения максимального эффекта от автоматизации бизнеса.

Фреймворк Spree Commerce позволяет реализовать каждую из таких возможностей.

Если у вас есть вопросы, связанные с работой Spree Commerce или интеграцией интернет-магазинов с учетной системой 1С, мы всегда готовы на них ответить.

department
Статью подготовил
Отдел Электронной коммерции
Команда имеет богатый опыт в разработке онлайн-решений для бизнеса. Мы используем только самые передовые технологии из области электронной коммерции.
New Articles