Una función común para todas las pasarelas de pago?
-
16-10-2019 - |
Pregunta
Quiero añadir una nueva funcionalidad a Magento cuando un orden particular se tuvo éxito. Me pregunto ¿hay alguna función común donde todas las pasarelas de pago alcances antes de destruir la información de sesión orden de modo que pueden recoger la nueva información de la orden, como cliente, tarjeta de crédito, etc para la nueva funcionalidad y luego redirigir a la página de éxito.
Solución
No creo que hay un punto tal, ya cada método se comporta de manera diferente y puede / debe tener diferentes direcciones URL de devolución de llamada. Tal vez se puede obtener la información que necesita en la página de éxito en el uso de la controller_action_predispatch_checkout_onepage_success
evento y el uso
$orderId = Mage::getSingleton('checkout/session')->>getLastSuccessQuoteId();
para obtener el último número de pedido, a continuación, cargar la orden
Mage::getModel('sales/order')->load($orderId);
y obtener la información que necesita a partir de ahí.
Otros consejos
Se puede crear un observador de evento "checkout_onepage_controller_success_action". Esto está en successAction en Mage_Checkout_OnepageController.