Se la procedura di scaricamento ordini fallisce o genera ordini duplicati, è in genere possibile comprenderne il motivo in base all’errore
rilasciato da Prestashop o intercettato dal modulo stesso.
La creazione di un ordine sul sito è piuttosto complessa in quanto prevede infatti tre fasi :
1. Generazione cliente
2. Generazione carrello (e relativa aggiunta prodotti e associazione prodotti)
3. Validazione ordine in cui Prestashop effettua appunto dei controlli allo scopo di assicurarsi della correttezza dei dati.
Sebbene il modulo sia in grado di prevedere una serie di errori ricorrenti (es. prodotti cancellati da Prestashop, clienti con indirizzi non validi, corrieri non associati etc.), mostrandoli a video durante la procedura di scaricamento manuale, può capitare di imbattersi in errori imprevisti o non gestibili e ricevere, sia durante la ricerca che tramite cron, un errore di sistema “Fatal error” che blocca la generazione di quest’ultimo e non permette al modulo di registrare l’ordine come scaricato.
Poichè l’errore andrà a generarsi in una delle tre fasi indicate sopra interrompendone l’esecuzione, esso potrebbe dar luogo ad ordini incompleti o duplicati, in quanto il modulo non è in grado di determinare l’avvenuta creazione dell’ordine, potresti quindi rilevare la creazione di un cliente incompleto (a volte con la mail NOSEND-EBAY , stratagemma utilizzato dal modulo per evitare l’invio di comunicazioni dal sito) o un carrello / ordine senza prodotti.
In tal caso è sempre suggeribile disattivare il cron (per evitare ordini duplicati durante la diagnosi dell’errore), tentare lo scaricamento manuale dell’ordine verificando eventuali messaggi o errori utili a comprendere la problematica. In questa fase potrebbe risultare utile attivare temporaneamente la modalità debug di Prestashop (dal menu “Parametri Avanzati”) in quanto essa evidenzierà eventuali errori lato PHP a video.
Se il problema è apparso a seguito dell’installazione di un nuovo modulo, verificate se esso interagisce con la procedura di creazione ordine (hook validateOrder), in tal caso potreste voler tentare lo scaricamento disattivando l’esecuzione di tale hook (funzionalità disponibile nel tab “DEBUG” del modulo). Qualora andasse a buon fine, vogliate interessare lo sviluppatore del modulo “problematico” affinchè verifichi il motivo dell’errore.
Se il problema è apparso a seguito di un aggiornamento del sito / migrazione del sito su nuovo server o aggiornamento di versione PHP, assicuratevi che non possano essere rimasti due cron che vengono lanciati in contemporanea. Verificate inoltre che la compatibilità tra server / versione Prestashop e versione Fastbay sia rispettata.
Potrebbe risultare inoltre utile scaricare un ordine “problematico” con la modalità debug di Prestashop attiva per verificare eventuali errori a video utili ad identificare l’errore.
Di seguito i motivi più comuni per cui si genera un errore di questo tipo, da verificare in primo luogo :
- Il sistema sta provando a scaricare un ordine eBay di un prodotto che su Prestashop è stato disattivato. In tal caso è necessario riattivarlo per scaricare correttamente l’ordine
- Il sistema sta provando a scaricare un ordine contenente un prodotto che su Prestashop non è “Disponibile per l’ordine” (verificate l’apposito flag nella scheda prodotto) o ha una quantità minima ordinabile maggiore di quella ordinata su eBay.
- Il sistema sta provando a scaricare un ordine di un cliente di una nazione che su Prestashop è disattivata/cancellata
- E’ stata lanciata la procedura di scaricamento ordini con il negozio disattivato / in manutenzione
- Il sistema sta provando a scaricare un ordine contenente prodotti con problemi di validazione Prestashop (ad es. contenenti EAN non numerici o caratteri non validi nel titolo come ad esempio < >).
- Il sistema sta provando a scaricare un ordine la cui quantità minima per ordine è inferiore allo stock ricevuto da eBay (in tal caso è disponibile un opzione nel modulo per permettere tale modalità)
- Il vostro server non è stato in grado di completare la generazione totale dell’ordine a causa di un timeout PHP (da investigare consultando l’errore_log del vostro ambiente di hosting).
- Un modulo di terze parti, innestato in uno degli hook di validazione ordine, sta generando un errore bloccante durante la fase di validazione ordine. Se avete un errore relativo ad un modulo differente da Fastbay, disattivatelo temporaneamente e riprovate la procedura.