Recentemente ho impostato alcuni script automatici per aiutarmi a gestire gli ordini in arrivo per un negozio Magento utilizzando osservatori e eventi Magento. Il mio problema riguarda la domanda quando un ordine viene inserito e salvato nel sistema in base al tipo di pagamento selezionato.Eventi modulo Magento PayPal
Ad esempio: se qualcuno semplicemente sceglie il pagamento anticipato, l'ordine viene salvato immediatamente e il cliente viene automaticamente inoltrato a una pagina di successo, quindi nessun problema finora.
Se un cliente paga tramite Paypal, l'intera situazione è completamente diversa. Dopo essere stato reindirizzato su PayPal, accedere all'account e confermare il pagamento, il cliente non viene reindirizzato allo store Magento. Può cliccare su un link per tornare lì che lo inoltrerà anche alla pagina di successo ma sicuramente non tutti lo faranno e il problema è che l'evento dell'osservatore che uso utilizza solo codice se l'utente atterra su quella pagina. (L'evento con cui sto lavorando è "checkout_Onepage_Controller_Success_Action").
Quindi ho bisogno di sapere da dove Magento ottiene le informazioni se un pagamento PayPal è andato a buon fine, è stato cancellato o altro. Ho controllato alcuni dei file del controller PayPal sotto/app/code/core/Mage/Paypal/controller/e l'unica cosa che sembrava vicina a una possibile soluzione era la funzione successAction() in StandardController.php. Tuttavia, questa funzione sembra essere attivata solo quando un cliente sceglie di tornare all'archivio Magento, quindi non mi aiuta.
Qualcuno ha qualche esperienza con quel problema?
specificare quale metodo di pagamento si utilizza esattamente –
Il mio esempio si riferisce al modulo PayPal standard di Magento v1.5.1.0 – FlyingM
tenta di eseguire il binding per ordinare gli eventi relativi agli oggetti anziché gli eventi del controller e si prega di disconnettere tutti gli eventi in un file di testo che vengono attivati all'interno del processo, quindi è possibile scegliere ciò che è appropriato. –