2.3.5. Управление заказами#

Разумеется, одна из главных целей этого модуля — действительно обеспечить возможность оплаты в Dolibarr с использованием Taler. Обычно для этого в любой ERP-системе должен быть создан какой-то счёт-фактура/заказ — это зависит от ERP и её внутренней логики, но в конечном счёте всё сводится именно к этой логике.

Как обычно, стоит отметить, что все скриншоты здесь приведены лишь для того, чтобы показать, как работает синхронизация заказов/платежей в модуле Talerbarr, однако мы всё же показываем некоторые экраны из Dolibarr и Taler; за точными инструкциями обращайтесь к их первоисточникам, таким как документация Dolibarr по заказам на продажу и учебник по заказам Taler.

2.3.5.1. Обзор жизненного цикла заказа#

Полный жизненный цикл заказа на стороне Taler описан в учебнике по заказам Taler.

Для целей этого учебника по модулю упрощённый жизненный цикл выглядит так:

Created (Unpaid) -> Paid -|- Settled -> Done
                          |
                          |- Refunded -> Done

Этот учебник фокусируется на части процесса Created -> Paid. Возвраты и расчёты по банковским переводам рассматриваются в разделах Управление возвратами и Управление банковскими переводами.

Заказ, разумеется, может остаться неоплаченным. В этом случае точное поведение зависит от выбранного режима синхронизации:

  • Если заказ поступает из Dolibarr, продавец может при необходимости заново создать процесс оплаты Taler после истечения времени ожидания платежа.

  • Если заказ поступает из Taler, а режим — sync on order created, неоплаченный заказ будет виден в Dolibarr, поскольку он уже был импортирован в момент создания.

  • Если заказ поступает из Taler, а режим — sync on order paid, он не появится в Dolibarr, пока платёж не будет завершён.

Что касается возвратов, продавцу, работающему с синхронизацией от Dolibarr, может понадобиться использовать другие пути обработки возврата, если срок возврата на стороне Taler уже истёк.

В любом случае основная идея проста: продавец создаёт заказ в выбранной системе, а информация о платеже затем передаётся в рабочий процесс ERP Dolibarr.

2.3.5.2. Создание заказов на стороне Taler#

Когда точкой создания заказа является Taler, доступны два варианта времени синхронизации:

  • Sync when order is created Заказ появляется в Dolibarr сразу после его создания на стороне Taler.

  • Sync when order is paid Заказ появляется в Dolibarr только после того, как клиент оплатил его.

Второй режим полезен, когда записи в ERP должны создаваться только для завершённых покупок. Это позволяет минимизировать документооборот и избежать заполнения ERP временными или брошенными клиентскими сессиями/заказами. Если заказ был успешно оплачен в Taler, он становится хорошим кандидатом для отображения в финансовых процессах и процессах заказов Dolibarr.

2.3.5.3. Заказы из Dolibarr#

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

В стандартном процессе создания заказа Dolibarr создайте заказ и убедитесь, что выбранным способом оплаты является Taler.

Создание заказа в Dolibarr с оплатой через Taler

Создание заказа в Dolibarr с выбранным способом оплаты Taler.#

После того как заказ создан, заполнен товарами и утверждён, TalerBarr отправляет запрос в backend Taler и создаёт там соответствующий заказ Taler с теми же данными.

Заказ Dolibarr после создания и утверждения

Заказ Dolibarr после создания и утверждения.#

Следующий рабочий шаг — поделиться с клиентом ссылкой на оплату. URL статуса Taler можно найти в заметках заказа. Этот URL содержит QR-код и страницу оплаты, которые клиент может использовать для завершения оплаты с помощью кошелька Taler.

Экран оплаты в кошельке Taler

Экран оплаты в кошельке Taler.#

После того как клиент оплатит заказ, вы можете вернуться к заказу Dolibarr и проверить связанные объекты. На этом этапе счёт-фактура уже отмечен как оплаченный.

Заказ Dolibarr с оплаченным счётом-фактурой, видимым среди связанных объектов

Заказ Dolibarr с оплаченным счётом-фактурой, видимым среди связанных объектов.#

Если открыть счёт-фактуру, можно убедиться, что платёж был корректно зарегистрирован и зачислен на ожидаемый счёт.

Оплаченный счёт-фактура Dolibarr, созданный в результате процесса заказа Taler

Оплаченный счёт-фактура Dolibarr, созданный в результате процесса оплаты Taler.#

На практике это означает, что передача ссылки на оплату — единственная новая задача оператора в этом режиме. Остальную работу по учёту и связыванию документов TalerBarr выполняет автоматически.

2.3.5.4. Заказы из Taler при создании заказа#

Этот режим полезен, когда вы хотите, чтобы Dolibarr видел заказы, поступившие из Taler, сразу после их создания — ещё до оплаты. Это противоположность более избирательному режиму Sync when order is paid, описанному в следующем разделе.

Мы начинаем с создания заказа на стороне Taler Merchant.

Создание заказа в Taler SPAA

Создание заказа в Taler SPAA.#

После сохранения детали заказа становятся доступны на стороне Taler.

Только что созданный заказ в Taler SPAA

Только что созданный заказ в Taler SPAA.#

Поскольку режим синхронизации — when order is created, заказ теперь сразу же появляется в Dolibarr.

Список заказов Dolibarr с только что импортированным заказом Taler

Список заказов Dolibarr с только что импортированным заказом Taler.#

Оттуда продавец может передать клиенту QR-код или ссылку на оплату Taler и позволить клиенту оплатить с помощью кошелька Taler.

QR-код оплаты Taler, открытый в приложении кошелька Taler.

QR-код оплаты Taler, открытый в приложении кошелька Taler.#

Приложение кошелька Taler показывает подтверждение оплаты.

Приложение кошелька Taler показывает пользователю подтверждение оплаты.#

После того как клиент выполнит оплату, вы можете проверить статус платежа через Taler или вернуться в Dolibarr и убедиться, что появились объекты, связанные с платежом.

Заказ Dolibarr со связанными объектами, относящимися к платежу

Заказ Dolibarr со связанными объектами, относящимися к платежу.#

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

Детали счёта-фактуры после оплаты заказа, созданного в Taler

Детали счёта-фактуры после оплаты заказа, созданного в Taler.#

Таким образом, этот режим полезен, когда ERP должна немедленно отражать новые заказы Taler ещё до того, как клиент завершит оплату.

2.3.5.5. Заказы из Taler при оплате заказа#

Это самый интересный режим для случаев, когда продавец хочет, чтобы заказы появлялись в ERP только после их фактической оплаты. Он особенно полезен для вендинговых автоматов, киосков, кофемашин и подобных сценариев, где может начинаться множество клиентских сессий, но объектами ERP должны становиться только завершённые покупки.

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

Список заказов Dolibarr до создания нового заказа Taler

Список заказов Dolibarr до создания нового заказа Taler.#

Список заказов TalerBarr до оплаты нового заказа Taler

Список заказов TalerBarr до оплаты нового заказа Taler.#

Теперь заказ создаётся на стороне Taler. На следующих двух рисунках показан процесс создания в Taler SPAA.

Создание заказа в Taler SPAA

Создание заказа в Taler SPAA.#

Подтверждение вновь созданного заказа Taler

Только что созданный заказ на стороне Taler.#

На этом этапе заказ уже создан, но ещё не оплачен. Поскольку конфигурация — Sync when order is paid, заказ пока не отображается в списке заказов Dolibarr.

Список заказов Dolibarr, показывающий, что неоплаченный заказ Taler ещё не импортирован

Список заказов Dolibarr, показывающий, что неоплаченный заказ Taler ещё не импортирован.#

Тем не менее, TalerBarr уже обнаруживает, что на стороне Taler существует новый заказ, и отслеживает его в собственных таблицах модуля. На этом этапе связанных объектов Dolibarr — таких как заказ, счёт-фактура, платёж, возврат или банковский перевод — пока ещё нет.

Список заказов TalerBarr с обнаруженным, но неоплаченным заказом

Список заказов TalerBarr с обнаруженным, но неоплаченным заказом.#

Если открыть соответствующую карточку заказа TalerBarr, видно, что пока доступна только общая информация о заказе.

Карточка заказа TalerBarr до оплаты

Карточка заказа TalerBarr до оплаты, с записанной только общей информацией.#

Следующий шаг — оплатить заказ с помощью кошелька Taler.

Оплата заказа Taler с помощью кошелька

Оплата заказа с помощью кошелька Taler.#

После оплаты Taler SPAA также показывает, что заказ оплачен.

Taler SPAA с заказом, отмеченным как оплаченный

Taler SPAA с заказом, отмеченным как оплаченный.#

Теперь, если вернуться в Dolibarr, новый заказ появляется в списке заказов Dolibarr.

Список заказов Dolibarr после оплаты заказа Taler

Список заказов Dolibarr после оплаты заказа Taler.#

Таблица заказов TalerBarr также обновляется. В отличие от неоплаченного состояния, модуль теперь может показывать связанные бизнес-объекты, созданные на стороне Dolibarr.

Список заказов TalerBarr после оплаты со связанными объектами

Список заказов TalerBarr после оплаты, теперь показывающий связанные объекты.#

Если снова открыть карточку заказа TalerBarr, можно увидеть обновлённое состояние объекта и связанные элементы.

Карточка заказа TalerBarr после оплаты

Карточка заказа TalerBarr после оплаты со связанными объектами Dolibarr.#

На этом этапе модуль связывает заказ на стороне Taler с соответствующими бизнес-объектами Dolibarr, такими как заказ на продажу, счёт-фактура и платёж. Это главное преимущество режима Sync when order is paid: частью процесса заказов ERP становятся только завершённые покупки.

2.3.5.6. Следующий шаг#

Как только оплаченный заказ будет работать сквозным образом, перейдите к разделу Управление возвратами, чтобы протестировать обработку возвратов, и к разделу Управление банковскими переводами, чтобы ознакомиться с процессом расчётов.