Общая функция для всех платежных шлюзов?
-
16-10-2019 - |
Вопрос
Я хочу добавить в magento новую функциональность при выполнении определенного заказа.Мне интересно, есть ли какая-либо общая функция, к которой обращаются все платежные шлюзы перед уничтожением информации о сеансе заказа, чтобы я мог выбрать новую информацию о заказе, такую как клиент, кредитная карта и т. д., для новой функциональности, а затем перенаправить на страницу успеха.
Решение
Я не думаю, что в этом есть смысл, поскольку каждый метод ведет себя по-разному и может/должен иметь разные URL-адреса обратного вызова.Возможно, вы сможете получить необходимую информацию на странице успеха, используя событие controller_action_predispatch_checkout_onepage_success
и использовать
$orderId = Mage::getSingleton('checkout/session')->>getLastSuccessQuoteId();
чтобы получить идентификатор последнего заказа, затем загрузите заказ
Mage::getModel('sales/order')->load($orderId);
и получите оттуда необходимую информацию.
Другие советы
Вы можете создать наблюдателя для события «checkout_onepage_controller_success_action».Это действие SuccessAction в Mage_Checkout_OnepageController.