Una funzione comune per tutti i gateway di pagamento?
-
16-10-2019 - |
Domanda
voglio aggiungere una nuova funzionalità per Magento quando un ordine particolare è riuscito. Mi chiedo c'è qualche funzione comune dove tutti i gateway di pagamento raggiunge prima di distruggere le informazioni sulla sessione ordine in modo che possono raccogliere le nuove informazioni ordine come cliente, carta di credito ecc per la nuova funzionalità e quindi reindirizzare alla pagina di successo.
Soluzione
Io non credo che ci sia un punto tale in modo diverso da quando ogni metodo si comporta e può / deve avere diversi URL di callback. Forse è possibile ottenere le informazioni necessarie sulla pagina di successo utilizzando il controller_action_predispatch_checkout_onepage_success
evento e l'uso
$orderId = Mage::getSingleton('checkout/session')->>getLastSuccessQuoteId();
per ottenere l'ultimo ordine id, quindi caricare l'ordine
Mage::getModel('sales/order')->load($orderId);
e ottenere le informazioni necessarie da lì.
Altri suggerimenti
È possibile creare un osservatore per l'evento "checkout_onepage_controller_success_action". Questo è in successAction in Mage_Checkout_OnepageController.