Недавно я настроил несколько автоматических сценариев, чтобы помочь мне управлять входящими заказами для магазина Magento с помощью наблюдателей и событий Magento.Моя проблема связана с вопросом, когда именно заказ размещается и сохраняется в системе в зависимости от выбранного типа оплаты.
Например: если кто-то просто выбирает предоплату, заказ сохраняется сразу, а клиент автоматическиперенаправлен на страницу успеха - так что никаких проблем пока нет.
Если клиент платит через Paypal, вся ситуация совершенно иная.После перенаправления в PayPal, входа в учетную запись и подтверждения оплаты клиент не перенаправляется в магазин Magento.Он может щелкнуть ссылку, чтобы вернуться туда, которая также перенаправит его на страницу успеха, но, конечно, не все это сделают, и проблема в том, что событие наблюдателя, которое я использую, выполняет код только в том случае, если пользователь попадает на эту страницу.(Событие, с которым я работаю, - «checkout_Onepage_Controller_Success_Action»).
Поэтому мне нужно знать, откуда Magento получает информацию о том, был ли платеж PayPal успешным, был ли он отменен или что-то еще.Я просмотрел некоторые файлы контроллеров PayPal в / app / code / core / Mage / Paypal / controllers /, и единственной вещью, которая выглядела близко к возможному решению, была функция successAction () в StandardController.php.Однако эта функция, похоже, срабатывает только тогда, когда покупатель решает вернуться в магазин Magento, поэтому она мне не помогает.
Кто-нибудь имеет опыт решения этой проблемы?