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.#
После того как заказ создан, заполнен товарами и утверждён, TalerBarr отправляет запрос в backend Taler и создаёт там соответствующий заказ Taler с теми же данными.
Заказ Dolibarr после создания и утверждения.#
Следующий рабочий шаг — поделиться с клиентом ссылкой на оплату. URL статуса Taler можно найти в заметках заказа. Этот URL содержит QR-код и страницу оплаты, которые клиент может использовать для завершения оплаты с помощью кошелька Taler.
Экран оплаты в кошельке Taler.#
После того как клиент оплатит заказ, вы можете вернуться к заказу Dolibarr и проверить связанные объекты. На этом этапе счёт-фактура уже отмечен как оплаченный.
Заказ Dolibarr с оплаченным счётом-фактурой, видимым среди связанных объектов.#
Если открыть счёт-фактуру, можно убедиться, что платёж был корректно зарегистрирован и зачислен на ожидаемый счёт.
Оплаченный счёт-фактура Dolibarr, созданный в результате процесса оплаты Taler.#
На практике это означает, что передача ссылки на оплату — единственная новая задача оператора в этом режиме. Остальную работу по учёту и связыванию документов TalerBarr выполняет автоматически.
2.3.5.4. Заказы из Taler при создании заказа#
Этот режим полезен, когда вы хотите, чтобы Dolibarr видел заказы, поступившие из Taler, сразу после их создания — ещё до оплаты. Это противоположность более избирательному режиму Sync when order is paid, описанному в следующем разделе.
Мы начинаем с создания заказа на стороне Taler Merchant.
Создание заказа в Taler SPAA.#
После сохранения детали заказа становятся доступны на стороне Taler.
Только что созданный заказ в Taler SPAA.#
Поскольку режим синхронизации — when order is created, заказ теперь сразу же появляется в Dolibarr.
Список заказов Dolibarr с только что импортированным заказом Taler.#
Оттуда продавец может передать клиенту QR-код или ссылку на оплату Taler и позволить клиенту оплатить с помощью кошелька Taler.
QR-код оплаты Taler, открытый в приложении кошелька Taler.#
Приложение кошелька Taler показывает пользователю подтверждение оплаты.#
После того как клиент выполнит оплату, вы можете проверить статус платежа через Taler или вернуться в Dolibarr и убедиться, что появились объекты, связанные с платежом.
Заказ Dolibarr со связанными объектами, относящимися к платежу.#
Если открыть связанный счёт-фактуру, можно убедиться, что транзакция была полностью зарегистрирована и зачислена с использованием ожидаемого учётного процесса.
Детали счёта-фактуры после оплаты заказа, созданного в Taler.#
Таким образом, этот режим полезен, когда ERP должна немедленно отражать новые заказы Taler ещё до того, как клиент завершит оплату.
2.3.5.5. Заказы из Taler при оплате заказа#
Это самый интересный режим для случаев, когда продавец хочет, чтобы заказы появлялись в ERP только после их фактической оплаты. Он особенно полезен для вендинговых автоматов, киосков, кофемашин и подобных сценариев, где может начинаться множество клиентских сессий, но объектами ERP должны становиться только завершённые покупки.
Прежде чем создавать новый заказ, полезно посмотреть на текущее состояние как в Dolibarr, так и в TalerBarr. В следующем примере список заказов Dolibarr и список заказов TalerBarr уже содержат ряд ранее синхронизированных объектов.
Список заказов Dolibarr до создания нового заказа Taler.#
Список заказов TalerBarr до оплаты нового заказа Taler.#
Теперь заказ создаётся на стороне Taler. На следующих двух рисунках показан процесс создания в Taler SPAA.
Создание заказа в Taler SPAA.#
Только что созданный заказ на стороне Taler.#
На этом этапе заказ уже создан, но ещё не оплачен. Поскольку конфигурация — Sync when order is paid, заказ пока не отображается в списке заказов Dolibarr.
Список заказов Dolibarr, показывающий, что неоплаченный заказ Taler ещё не импортирован.#
Тем не менее, TalerBarr уже обнаруживает, что на стороне Taler существует новый заказ, и отслеживает его в собственных таблицах модуля. На этом этапе связанных объектов Dolibarr — таких как заказ, счёт-фактура, платёж, возврат или банковский перевод — пока ещё нет.
Список заказов TalerBarr с обнаруженным, но неоплаченным заказом.#
Если открыть соответствующую карточку заказа TalerBarr, видно, что пока доступна только общая информация о заказе.
Карточка заказа TalerBarr до оплаты, с записанной только общей информацией.#
Следующий шаг — оплатить заказ с помощью кошелька Taler.
Оплата заказа с помощью кошелька Taler.#
После оплаты Taler SPAA также показывает, что заказ оплачен.
Taler SPAA с заказом, отмеченным как оплаченный.#
Теперь, если вернуться в Dolibarr, новый заказ появляется в списке заказов Dolibarr.
Список заказов Dolibarr после оплаты заказа Taler.#
Таблица заказов TalerBarr также обновляется. В отличие от неоплаченного состояния, модуль теперь может показывать связанные бизнес-объекты, созданные на стороне Dolibarr.
Список заказов TalerBarr после оплаты, теперь показывающий связанные объекты.#
Если снова открыть карточку заказа TalerBarr, можно увидеть обновлённое состояние объекта и связанные элементы.
Карточка заказа TalerBarr после оплаты со связанными объектами Dolibarr.#
На этом этапе модуль связывает заказ на стороне Taler с соответствующими бизнес-объектами Dolibarr, такими как заказ на продажу, счёт-фактура и платёж. Это главное преимущество режима Sync when order is paid: частью процесса заказов ERP становятся только завершённые покупки.
2.3.5.6. Следующий шаг#
Как только оплаченный заказ будет работать сквозным образом, перейдите к разделу Управление возвратами, чтобы протестировать обработку возвратов, и к разделу Управление банковскими переводами, чтобы ознакомиться с процессом расчётов.