Я работаю над сайтом Magento (версия 1.6.1.0). Существует 2 варианта оплаты: COD и Net Banking/Credit Card.Как «отменить» заказ в случае, если пользователь прерывает транзакцию?
Когда пользователь переходит к платежному шлюзу (EBS для Net Banking, но решение должно быть одинаковым для других шлюзов), Magento Dash (Sales> Orders) показывает статус «Ожидание» как статус. Теперь, если пользователь закрывает браузер во время заполнения данных карты, статус в Magento остается «ожидающим», тогда как теперь он должен быть «отменен».
Я думаю, что могу настроить задание cron, которое через определенное время изменяет статус на «отменено».
Моего вопросы-
- Есть ли способ сделать это без хрон?
- Если cron, то некоторое объяснение процедуры (я новичок в cron). Как я могу вызвать cron после того, как пользователь переходит с моего (торгового) сайта? Если cron вызывается через 15 минут, то как обрабатывать транзакции, которые были запущены (скажем) 1 секунда назад?
- Если пользователь нажимает кнопку «Назад» на сайте шлюза оплаты, статус все еще «ожидает», как «отменить» эти заказы?
EDIT: Я разработал эту диаграмму состояния. Теперь мне нужно добавить состояние. Как указано в комментарии, Крон не должен «отменить» его, но изменить его на некоторое состояние, которое сотрудники могут понять, и вызвать клиента. Затем персонал решает окончательное состояние.
Итак, еще один вопрос: как добавить состояние?[решено]
Пожалуйста, ответьте, как много или как мало части вопроса, которые вы знаете.
Спасибо.
на другой ноте, вы на самом деле НЕ хотите, чтобы это было автоматизировано. Независимо от того, какие отложенные ордера вы получаете, являются потенциальными клиентами, вы можете попросить своих клиентов позвонить им и помочь им выполнить заказ – sulabh
@sulabh: Вы правы, это то, что мы делаем (я не знал, прежде чем публиковать вопрос), но нам все же нужна автоматизация. Теперь я хотел бы добавить «middle_state». См. Обновленный вопрос. –