2012-06-26 22 views
7

Acabo de comenzar a armar un módulo de Magento que omite todo el proceso de pago de Magento y en su lugar envía los detalles del carrito a una empresa de cumplimiento de terceros a través de XML-RPC.Evento 'Proceder al pago' de Magento?

No llegas rápido a ningún lado y podrías necesitar un poco de orientación. Tengo entendido que debo crear el módulo con un observador basado en el evento desencadenado procediendo a la finalización de la compra. El problema es que no puedo averiguar qué evento sería, he pasado por toda la lista masiva aquí;

http://www.nicksays.co.uk/magento_events_cheat_sheet/

He tratado;

checkout_submit_all_after - incendios después de la orden ha procesado correctamente

checkout_cart_add_product_complete - incendios después de Producto añadido al carrito

checkout_cart_save_before - incendios después de Producto añadido al carrito

checkout_type_onepage_save_order - no puede conseguir que esto se disparó en absoluto

checkout_onepage_controller_success_action - incendios después de la orden procesada con éxito

No sé si esto significa que tendré que crear un evento personalizado o si hay una alternativa totalmente diferente y mucho mejor que lo que estoy haciendo. Construyendo y enviando el XML Me iré a otra pregunta (comenzando a darme cuenta de que puedo tener mis manos bastante llenas aquí) pero cualquier consejo que haya allí agradecido también.

Gracias por cualquier ayuda.

Respuesta

20

controller_action_predispatch_checkout_onepage_index debe ser el evento que está buscando. Todos los controladores heredan el método preDispatch que activa un evento genérico para predispatch y un evento específico basado en la ruta de acción solicitada. El controlador que desea vive en el módulo checkout y se llama onepage con una acción predeterminada de index.

revisión Mage_Core_Controller_Varien_Action::preDispatch() para ver el Código relevante

+0

- magnífica respuesta mucho apreciado. Empecé a pensar que como el botón de pago solo tenía un evento onclick, podía modificarlo y procesar el XML y redirigirlo usando PHP procedural. Sin embargo, eso lo hubiera quitado todo del sistema Magento. ¡Esto ha llevado mi aprendizaje hacia adelante otro paso! – McNab

+0

¿Es el evento del controlador de una página lo suficientemente genérico como para que no pueda pasarse por alto? Por ejemplo, uso una extensión OnePageCheckout de IWD y no puedo ver que se active este evento. ¿Hay una opción "más genérica"? – clime

Cuestiones relacionadas