Saleor: как проверить заказ, отказ оплаты и уведомления
Перед запуском магазина Saleor проверьте один учебный заказ: успешную оплату, отказ, повтор сообщения платёжного сервиса и отмену. Сравнивайте заказ, деньги и уведомления отдельно. Покупатель не должен получать ложное подтверждение оплаты, а повтор события — создавать второе действие. Используйте тестовый режим провайдера без реальных платежей.
Что подготовить
- Отдельный учебный товар, известный остаток и тестовый канал продаж Saleor.
- Тестовый режим платёжного провайдера и вымышленные данные покупателя.
- Разработанный обработчик Saleor → Novu, настроенное уведомление и учебного получателя.
Подготовьте один учебный заказ #
Выберите один учебный товар с известным остатком и отдельный тестовый канал продаж. Запишите цену, налоги, доставку, валюту и итоговую сумму. Используйте учебного покупателя и тестовый режим платёжного провайдера без реального списания денег.
Сначала успешная покупка. Проведите заказ и сохраните его номер и номер платёжной операции.
Одинаковые условия. Для отказа используйте сопоставимый товар, сумму и способ доставки.
Понятное ожидание. Запишите, какой статус, остаток и сообщение должны получиться в каждом случае.
Настройки Saleor и платёжного приложения влияют на момент создания заказа и подтверждения оплаты. Сверьте их до опыта. Заказ в панели ещё не означает, что деньги списаны: проверьте платёжную операцию отдельно.
Заказ, оплата и письмо — три отдельные проверки #
Saleor принимает результаты оплаты через платёжное приложение или разработанную для магазина связь с провайдером. Проверяйте три вещи отдельно: запись заказа, результат платежа и сообщение покупателю. Успешный технический ответ не заменяет подтверждения оплаты.
Не отправляйте «Заказ оплачен» только после нажатия кнопки или возвращения браузера на витрину. Разработчик должен назвать событие, которое подтверждает оплату. Проверьте его на успешной и отказавшей учебной операции.
При отказе покупатель должен видеть понятное сообщение и разрешённое следующее действие: повторить оплату или связаться с менеджером. Решите заранее, остаётся ли заказ или только незавершённое оформление, и проверьте выбранный порядок.
| Случай | Что сравнить | Какой результат нужен |
|---|---|---|
| Оплата успешна | Заказ, платёж и итоговая сумма | Состояния совпадают |
| Платёж отклонён | Статус, остаток и сообщение | Нет ложного подтверждения оплаты |
| Событие пришло повторно | Номер события и выполненные действия | Нет непредусмотренного повторного действия |
| Заказ отменён | Заказ, товар, деньги и уведомление | Каждая необходимая операция проверена отдельно |
Что проверить в связи Saleor и Novu #
Связь Saleor с Novu разрабатывает команда проекта. Отдельная программа получает событие магазина, проверяет подлинность сообщения и состояние заказа, затем запускает нужное уведомление Novu. Установка двух сервисов сама по себе эту связь не создаёт.
Событие относится к нужному заказу. Сохраните номер заказа и события, чтобы связать их в журнале.
Состояние проверено. Письмо об оплате отправляется после подтверждения платежа, а не после любого события магазина.
Повтор не создаёт лишнее действие. Обработчик узнаёт уже полученное событие и проверяет, что было выполнено раньше.
Различайте повтор запроса на оплату, повтор события магазина и повтор отправки письма. У них разные последствия. Для каждой операции разработчик задаёт свой порядок повторов и исправления ошибок; общий ответ «дубли не допускаются» недостаточен.
Порядок проверки
- Подготовьте товар, сумму, остаток и учебного покупателя; включите тестовый режим провайдера.
- Выполните успешную покупку и сравните заказ с платёжной операцией.
- Воспроизведите предусмотренный провайдером отказ, проверьте сообщение и следующий шаг покупателя.
- Повторно передайте одно событие своему обработчику и проверьте отсутствие лишних действий.
- Отдельно отмените заказ и проверьте возврат денег, если он требуется.
- Подтвердите сообщения у учебного получателя и разберите оставшиеся ошибки.
Отказ оплаты, повтор и отмена #
В тестовом режиме провайдера выполните успешный платёж и предусмотренный отказ. Для отказа проверьте сообщение покупателю, следующее действие и остаток товара. Ложного подтверждения оплаты быть не должно.
Затем повторно передайте то же событие программе, которая связывает Saleor с Novu. Сверьте номера и журнал обработки. Проверьте, не появился ли лишний заказ, повторное складское действие или второе сообщение без предусмотренной причины.
Отмена заказа. Проверьте статус и доступность товара по правилам магазина.
Возврат денег. Это отдельная операция. Убедитесь, что она выполнена у платёжного провайдера, если требуется.
Сообщение покупателю. Найдите его у учебного получателя и сравните текст с фактическим состоянием заказа.
Просмотр тестового события без обработки полезен для изучения данных, но не проверяет платёж и доставку сообщения. В конце разберите очередь ошибок, отключите временных получателей и уберите учебные настройки, которые не должны попасть в рабочий запуск.
Как записать результат #
Для каждой покупки сохраните номера заказа, платежа и события. Запишите сумму, статусы, изменение остатка и полученные сообщения. Отдельно отметьте отказ и повтор: по этим сведениям разработчик найдёт конкретную ошибку.
Если состояния расходятся, назовите источник правильных данных и ответственного за исправление. После правки повторите тот же пример. Проверка закончена, когда менеджер и покупатель видят понятное состояние, а журнал объясняет выполненные действия.
Что должно подтвердиться
- Заказ и платёж проверены отдельно, сообщения отражают их фактическое состояние.
- Повтор одного события обрабатывается по выбранным правилам без лишних действий.
- Отмена, изменение остатка и возврат денег проверены как отдельные операции.
- Доставка подтверждена у учебного получателя; реальные деньги не использовались.