BlogModuli e sviluppo

Punto di ritiro che non compare su PrestaShop: le cause

Mappa vuota, corriere assente dal checkout, etichetta che non si genera: le cause reali dietro i bug dei punti di ritiro e come isolarle con metodo.

Presta Debug25 luglio 2026 5 min di lettura
Segnaposto di un punto di ritiro e pacco stilizzato su una mappa digitale

Un bug che costa ordini, subito

Quando un punto di ritiro non compare su PrestaShop, il cliente non la chiama: abbandona il carrello. È uno dei bug più costosi del checkout e anche uno dei più frequenti. Nello storico degli interventi di un'agenzia francese specializzata, i moduli di spedizione contano diverse centinaia di ticket, dominati da Colissimo e Mondial Relay, con picchi che seguono i passaggi di versione.

La buona notizia: le cause si riducono a un numero ristretto di scenari, e un metodo di isolamento permette di decidere in quindici minuti.

Passo 1: la mappa è vuota o non si carica

Il widget di selezione compare ma resta bianco, oppure gira all'infinito. Apra la console del browser, scheda Console e poi Rete: l'errore è quasi sempre esplicito.

Chiave Google Maps scaduta o quota superata. Messaggio tipico: RefererNotAllowedMapError oppure OverQuotaMapError. La chiave deve essere valida, associata a un progetto con fatturazione attiva e autorizzare come referer il dominio del negozio. È di gran lunga la prima causa.

Conflitto JavaScript con il tema. Provi a passare temporaneamente al tema Classic. Se la mappa torna, il problema è una libreria caricata due volte dal suo tema, tipicamente jQuery.

Il CCC rompe il caricamento. In Parametri avanzati > Prestazioni, le opzioni CCC uniscono, comprimono e mettono in cache i file JavaScript. I widget dei corrieri caricano spesso i propri script in modo asincrono e sopportano male questo raggruppamento. Disattivi il CCC, svuoti la cache e riprovi. Se la mappa torna, sa dove cercare.

Contenuto misto. Un widget richiamato in HTTP su una pagina HTTPS viene bloccato in silenzio dal browser. Messaggio: Mixed Content.

Passo 2: il corriere non compare affatto nel checkout

Qui il problema non è il widget, ma la logica di disponibilità dei corrieri. Verifichi in quest'ordine:

  1. Zona e paese. Il paese di consegna del cliente deve appartenere a una zona associata al corriere. Una zona non selezionata rende il corriere invisibile senza alcun messaggio.
  2. Gruppi di clienti. Nella scheda del corriere, i gruppi autorizzati devono comprendere quello del cliente, «Visitatore» incluso se accetta ordini senza registrazione.
  3. Fasce di peso e di prezzo. È il grande classico: l'ultima fascia si ferma a un valore inferiore al carrello reale. Un carrello da 12 kg su una griglia che si ferma a 10 kg fa sparire il corriere. Controlli anche il comportamento scelto fuori intervallo.
  4. Corriere eliminato logicamente. Nel database, ps_carrier.deleted = 1 nasconde il corriere. Succede dopo una modifica del corriere: PrestaShop crea una nuova riga e archivia la precedente.
  5. Disponibilità a livello di prodotto. Un prodotto configurato con corrieri specifici limita la scelta per l'intero carrello.

Una query utile per fare chiarezza:

SELECT id_carrier, name, active, deleted, id_reference
FROM ps_carrier ORDER BY id_reference, id_carrier;

Passo 3: l'etichetta non si genera

Il cliente ha scelto il suo punto di ritiro, ma la spedizione fallisce lato back office.

  • Credenziali o contratto scaduti. I moduli dei corrieri conservano un identificativo, una password e spesso un numero di contratto. Un cambio di contratto commerciale invalida gli accessi senza preavviso.
  • Indirizzo rifiutato. I formati di indirizzo dei corrieri sono rigidi. Colissimo tronca oltre una certa lunghezza di riga, e i caratteri accentati o speciali in address1 provocano rifiuti. Gli indirizzi incollati da un altro sito sono i più problematici.
  • Peso a zero. Un prodotto senza peso indicato manda in tilt il calcolo di alcuni corrieri. Verifichi che nessun prodotto attivo abbia peso nullo.

Passo 4: le spese di spedizione sono assurde

Dominano due cause:

  • Fasce che si sovrappongono. Una griglia 0-1 kg seguita da 1-5 kg crea un'ambiguità esattamente a 1 kg. Usi soglie che non si sovrappongono.
  • Spedizione gratuita mal impostata. La soglia di spedizione gratuita si imposta nelle preferenze di spedizione e si applica prima o dopo lo sconto a seconda della configurazione. Una soglia messa male rende la spedizione gratuita più spesso del previsto.

Il metodo di isolamento in quindici minuti

Una sola regola: cambiare un parametro alla volta. Nell'ordine: tema Classic, poi CCC disattivato, poi moduli non essenziali disattivati. Il primo cambiamento che ripristina il comportamento normale indica il colpevole.

Documenti ogni prova. Su un checkout, tornare indietro senza sapere che cosa si è modificato costa più del bug di partenza.

Se il guasto è comparso dopo un passaggio di versione, la causa è probabilmente più ampia: veda il nostro articolo sui moduli che si rompono dopo un aggiornamento.

Checkout fuori uso?

Interveniamo in urgenza sui bug dei corrieri e del checkout. Diagnosi gratuita, risposta entro 1 ora — veda l'assistenza PrestaShop.