Magento, PayPal и PayPal IPN - при успешном размещении заказа событие не возникает - PullRequest
2 голосов
/ 18 ноября 2011

Мой модуль должен знать, когда произошла проверка успеха. Итак, в соответствии с тем, что я прочитал в разных местах, я прослушиваю события checkout_onepage_controller_success_action и checkout_multipage_controller_success_action. Это нормально, когда я плачу фиктивной кредитной картой на своем сайте разработчиков, происходит одно из указанных выше событий. Но мне было интересно, что произойдет, если я заплачу с PayPal, поэтому я сказал «песочницу» разработчика PayPal, чтобы проверить это. Исследуя http-трафик, я обнаружил, что notify_url был отправлен в PayPal при размещении заказа. Это было многообещающе - когда PayPal / IPN вызывается из PayPal, модуль PayPal, если получен статус «выполнено», запускает проверку _xxx_controller_success_action - верно? Неправильно.

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

Я просто добавлю немного о моем окружении здесь, на случай, если оно уместно. Я использую Magento 1.4.2.0 на своем ноутбуке. При использовании PayPal Standard в PayPal отправляется notify_url, который переопределяет любые настройки в учетной записи PayPal. Я тестирую со своего ноутбука, поэтому URL-адрес уведомления, передаваемый PayPal, недоступен из изолированной программной среды PayPal. Поэтому я изменил notify_url так, чтобы он указывал на доступную JSP, которая только что распечатала полученное уведомление. Затем я передаю эту строку параметров небольшой Java-программе, которую я запускаю на моей машине, которая отправляет ее в исходный notify_url (... / index.php / paypal / ipn).

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 февраля 2016

Это старый пост, но все еще актуальный вопрос.Мы успешно использовали событие checkout_onepage_controller_success_action (которое используется в ядре Magento для расширения GoogleAnalytics) для наблюдения за успешными заказами PayPal Express (а также для оформления заказов на одной странице).Событие sales_order_payment_pay НЕ сработало для новых заказов.

0 голосов
/ 18 января 2012

У меня возникла та же проблема - попробуйте использовать событие sales_order_payment_pay вместо этого - оно отлично сработало для меня

...