Che cos'è il PrestaShop Checkout?
Se hai mai cercato "prestashop checkout", probabilmente avrai notato che il termine ha due significati molto diversi a seconda del contesto. Può riferirsi al processo di checkout integrato in ogni negozio PrestaShop — il flusso multi-step che i clienti seguono per completare un acquisto — oppure può riferirsi al modulo PrestaShop Checkout (ps_checkout), una specifica soluzione di pagamento sviluppata da PrestaShop SA in collaborazione con PayPal.
Questo articolo copre entrambi gli aspetti. Ti guideremo attraverso il funzionamento del processo di checkout predefinito di PrestaShop, spiegheremo cosa fa effettivamente il modulo ps_checkout (e cosa non fa), esamineremo le opzioni di personalizzazione, confronteremo le alternative più comuni e discuteremo la sicurezza del checkout PrestaShop, la conformità PCI e come misurare le prestazioni del checkout — così potrai prendere una decisione informata per il tuo negozio.
Come funziona il processo di checkout in PrestaShop
Il flusso multi-step predefinito
Ogni negozio PrestaShop è dotato di un flusso di checkout integrato. È un processo multi-step distribuito su caricamenti di pagina separati. Il cliente passa attraverso cinque fasi distinte:
- Revisione del carrello — il cliente verifica prodotti, quantità e totali prima di procedere
- Informazioni personali — login, creazione account o checkout come ospite
- Indirizzo — inserimento o selezione dell'indirizzo di consegna e fatturazione
- Spedizione — selezione del corriere in base all'indirizzo di consegna e peso/dimensioni del carrello
- Pagamento — selezione del metodo di pagamento e conferma dell'ordine
Dopo il pagamento, il cliente arriva su una pagina di conferma. Questa è l'esperienza di checkout fondamentale che ogni tema deve implementare, ed è la base su cui tutti i moduli di pagamento, i moduli di spedizione e le personalizzazioni del checkout si costruiscono.
PrestaShop 1.7 Checkout vs. PrestaShop 8/9 Checkout
Sebbene il flusso generale del checkout sia rimasto coerente tra le versioni, ci sono differenze significative tra la versione 1.7 e le release moderne 8.x/9.x:
- Architettura del tema — PrestaShop 1.7 ha introdotto il tema Classic con un checkout fortemente basato su JavaScript che utilizza AJAX per validare ogni step. PrestaShop 8 e 9 continuano questo pattern ma con l'opzione del tema Hummingbird, che sostituisce jQuery con uno stack frontend più moderno.
- Modifiche agli hook di pagamento — Nella 1.7, l'hook
paymentOptionsha sostituito i vecchi hookdisplayPaymentedisplayPaymentEUdella 1.6. PrestaShop 8 e 9 impongono questo — i vecchi hook di pagamento non funzionano più, quindi qualsiasi modulo che ancora utilizzadisplayPaymentnon apparirà nel checkout. - Migrazione a Symfony — PrestaShop 8 ha spostato più componenti del back office su Symfony, e la versione 9 continua questa migrazione. Il controller front-office del checkout (
OrderController) funziona ancora sul framework legacy, ma le pagine di gestione ordini nel back office sono ora basate su Symfony. - Header di sicurezza — PrestaShop 8+ viene fornito con header Content Security Policy predefiniti più restrittivi, che possono bloccare il JavaScript esterno dei provider di pagamento. Questa è una causa comune di problemi "modulo di pagamento vuoto" dopo l'aggiornamento.
- Requisiti di versione PHP — PrestaShop 9 richiede PHP 8.1+, il che significa che i moduli di pagamento che utilizzano funzionalità PHP deprecate potrebbero non funzionare durante l'aggiornamento.
Il controller del checkout: OrderController
Sotto il cofano, il checkout è gestito dalla classe OrderController (situata in controllers/front/OrderController.php). Questo controller orchestra l'intero flusso — carica il carrello, valida ogni step, attiva gli hook e renderizza il template del checkout.
Metodi chiave da conoscere se stai facendo debug o sviluppo:
initContent()— configura il processo di checkout, carica il riepilogo del carrello e determina quale step visualizzarecheckoutProcess— un oggettoCheckoutProcessche contiene la catena degli step del checkout (informazioni personali, indirizzo, consegna, pagamento)getCheckoutSession()— restituisce i dati della sessione che tracciano quali step sono stati completati
Ogni step è implementato come una classe separata (ad es. CheckoutAddressesStep, CheckoutDeliveryStep, CheckoutPaymentStep) che eredita da AbstractCheckoutStep. Questa architettura modulare significa che i moduli possono sovrascrivere o estendere singoli step senza sostituire l'intero flusso di checkout.
Cosa succede in ogni step
Dietro ogni step, PrestaShop esegue la logica di validazione e attiva hook che i moduli possono utilizzare per estendere il processo:
- Validazione dell'indirizzo — PrestaShop controlla i campi obbligatori, valida la combinazione paese/regione e verifica che l'indirizzo rispetti il formato configurato. Le regole fiscali vengono ricalcolate in base al paese di consegna.
- Selezione del corriere — i corrieri disponibili vengono filtrati per zona dell'indirizzo di consegna, peso del carrello, dimensioni dei prodotti e qualsiasi restrizione sui corrieri configurata. I costi di spedizione vengono calcolati in tempo reale. L'hook
actionCarrierProcesspermette ai moduli di intervenire qui. - Rendering del pagamento — ogni modulo di pagamento attivo si registra tramite l'hook
paymentOptions. PrestaShop renderizza i metodi di pagamento disponibili nell'ordine configurato nel back office. - Validazione dell'ordine — quando il cliente conferma, PrestaShop valida l'intero ordine tramite
actionValidateOrder, elabora il pagamento, decrementa le scorte, invia le email di conferma e crea il record dell'ordine.
Questa architettura basata su hook è ciò che rende il checkout così estensibile — ma significa anche che moduli scritti male possono interferire tra loro, causando il tipo di errori che i merchant spesso faticano a diagnosticare.
Prestazioni del PrestaShop Checkout: cosa lo rallenta
Un checkout lento impatta direttamente sulle conversioni. Ogni secondo aggiuntivo di caricamento aumenta la probabilità che un cliente abbandoni il carrello. I colli di bottiglia più comuni includono:
- Troppi moduli agganciati al checkout — ogni modulo registrato sugli hook del checkout (displayPayment, displayBeforeCarrier, actionCarrierProcess, ecc.) aggiunge tempo di esecuzione. Abbiamo visto negozi con oltre 15 moduli attivati durante il checkout, che aggiungono 2-3 secondi di elaborazione.
- Chiamate API esterne — calcoli tariffe di spedizione in tempo reale (API UPS, FedEx, DHL), servizi di calcolo tasse (TaxJar, Avalara) e API di verifica indirizzi aggiungono latenza di rete. Se uno qualsiasi di questi servizi è lento o irraggiungibile, l'intero checkout si blocca.
- Calcoli dei corrieri non ottimizzati — negozi con decine di corrieri e regole complesse di zone/pesi costringono PrestaShop a eseguire query di database estese nello step di consegna. Consolidare i corrieri e semplificare le configurazioni delle zone può ridurre significativamente il tempo di caricamento di questo step.
- Valutazione delle regole del carrello — se hai centinaia di regole del carrello attive, PrestaShop deve valutarle ciascuna rispetto al carrello corrente in ogni step del checkout. Pulire periodicamente le regole del carrello scadute o inutilizzate aiuta.
- Indici del database mancanti — le tabelle
ps_cart_rule,ps_cart_rule_combinationeps_specific_pricepossono crescere molto nei negozi attivi. Assicurarsi che esistano indici appropriati su queste tabelle previene query lente durante il checkout. - Assenza di OPcache o caching degli oggetti — PHP OPcache dovrebbe essere sempre abilitato in produzione. Redis o Memcached per il caching di sessioni e oggetti riduce ulteriormente i tempi di risposta del checkout.
Per diagnosticare problemi di velocità del checkout, abilita il profiler di debug di PrestaShop (_PS_DEBUG_PROFILING_ in config/defines.inc.php) e controlla quali hook e moduli consumano più tempo durante il caricamento della pagina del checkout.
Errori comuni del PrestaShop Checkout e come risolverli
Questi sono gli errori del checkout PrestaShop che i merchant incontrano più frequentemente:
"Nessun metodo di pagamento disponibile" — Questo è l'errore più cercato su Google. Significa che nessun modulo di pagamento ha restituito opzioni tramite l'hook paymentOptions. Cause comuni:
- Il modulo di pagamento non è configurato per la valuta o il paese del cliente
- Le restrizioni del modulo di pagamento in Pagamento > Preferenze escludono il corriere, il paese o il gruppo cliente corrente
- Il modulo di pagamento ha un errore PHP e fallisce silenziosamente — controlla i log di PrestaShop in
var/logs/ - Su PrestaShop 8+, un header Content Security Policy sta bloccando il JavaScript del modulo, impedendone il rendering
"Si è verificato un errore durante l'elaborazione del tuo ordine" — Questo messaggio generico può avere decine di cause. Inizia controllando:
- I log di errore di PrestaShop e il log degli errori PHP per l'eccezione effettiva
- Se il gateway di pagamento ha restituito un codice di errore specifico (controlla i log delle transazioni del modulo di pagamento)
- Disponibilità delle scorte — se un prodotto è andato esaurito tra il carrello e il pagamento, la creazione dell'ordine fallisce
- Conflitti nelle regole del carrello — un codice sconto non valido o scaduto nel carrello può causare il fallimento della validazione all'ultimo step
Carrello che si svuota al checkout — I clienti segnalano che il loro carrello diventa vuoto quando raggiungono la pagina di checkout. Questo è quasi sempre un problema di cookie o sessione:
- Configurazione SSL errata — il carrello è memorizzato in un cookie di sessione che non viene trasferito tra HTTP e HTTPS
- Mismatch del dominio — se l'URL del negozio e il dominio SSL non corrispondono esattamente, i cookie non vengono condivisi
- Storage delle sessioni pieno — se le sessioni sono memorizzate su disco e la partizione è piena, nuove sessioni non possono essere create
- Un modulo che chiama
Context::getContext()->cart = new Cart()durante un hook del checkout, resettando accidentalmente il carrello
Errori di validazione dell'indirizzo — I clienti non riescono a procedere oltre lo step dell'indirizzo. Controlla:
- I campi obbligatori dell'indirizzo in Internazionale > Località > Paesi — alcuni paesi richiedono una regione/provincia che il cliente non ha selezionato
- La stringa di formato dell'indirizzo per il paese di consegna — un formato malformato può causare il rifiuto di indirizzi validi
- La regex di validazione del CAP — PrestaShop valida i CAP rispetto a pattern specifici per paese, e questi possono essere errati o troppo restrittivi per certe regioni
Problemi di redirect 3DS — Dopo l'autenticazione 3D Secure, il cliente non viene riportato al negozio, o arriva su una pagina di errore. Questo succede quando:
- L'URL di ritorno configurato nel modulo di pagamento usa HTTP invece di HTTPS
- La sessione è scaduta durante la verifica 3DS (il cliente ha impiegato troppo tempo)
- L'URL del webhook/callback del modulo di pagamento è irraggiungibile dai server del provider di pagamento (firewall, URL errato)
- Configurazioni multi-dominio dove l'URL di ritorno 3DS punta a un dominio diverso da quello su cui il cliente sta acquistando
Le regole del carrello e il livello degli sconti
Una delle parti più complesse di qualsiasi checkout PrestaShop è come vengono applicati gli sconti. Le regole del carrello (voucher, codici promozionali, sconti automatici) e i prezzi specifici a livello di catalogo interagiscono tutti durante il checkout, e i risultati possono creare confusione.
- Le regole del carrello vengono valutate in ordine di priorità. Alcune si applicano all'intero carrello, altre a prodotti o categorie specifiche. Possono offrire sconti percentuali, importi fissi o spedizione gratuita.
- I prezzi specifici (impostati per prodotto nel catalogo) vengono applicati prima delle regole del carrello, il che significa che un prodotto già in promozione potrebbe non qualificarsi per certe promozioni.
- Restrizioni di combinazione — PrestaShop permette di contrassegnare le regole del carrello come non combinabili, ma la logica su quale regola "vince" non è sempre intuitiva, specialmente nei negozi multi-valuta.
Regole del carrello con spedizione gratuita e interazione con i corrieri
Le regole del carrello con spedizione gratuita sono una delle funzionalità del checkout più fraintese. Una regola del carrello con "spedizione gratuita" non significa che tutti i corrieri diventano gratuiti. Ecco come funziona realmente:
- Se la regola del carrello non è limitata a corrieri specifici, la spedizione gratuita si applica a qualsiasi corriere il cliente selezioni
- Se la regola del carrello è limitata a corrieri specifici, solo quei corrieri appaiono come gratuiti — gli altri corrieri mostrano ancora il loro prezzo normale
- Le restrizioni di paese e zona della regola del carrello si applicano anche — una regola "spedizione gratuita in Germania" non renderà la spedizione gratuita per un indirizzo di consegna in Francia
- Quando più regole del carrello offrono la spedizione gratuita, viene applicata la prima valida (per priorità). Le altre sono comunque "utilizzate" dalla prospettiva del cliente ma non accumulano benefici aggiuntivi.
Il problema della priorità e della combinazione
La priorità delle regole del carrello determina l'ordine di valutazione, e conta più di quanto la maggior parte dei merchant realizzi. Consideriamo questo esempio:
- Regola A (priorità 1): 20% di sconto sull'intero carrello, non combinabile
- Regola B (priorità 2): Spedizione gratuita per ordini superiori a 50 EUR
Poiché la Regola A è non combinabile e ha priorità superiore, la Regola B non verrà applicata — anche se la spedizione gratuita sembra un beneficio separato. Il cliente ottiene il 20% di sconto ma paga la spedizione. Per risolvere questo problema, dovresti rendere la Regola A combinabile o includere la spedizione gratuita nella Regola A stessa.
Un altro scenario comune: un cliente inserisce un voucher da 10 EUR, ma il carrello ha anche uno sconto automatico del 15%. Se lo sconto automatico è non combinabile e ha priorità superiore, il voucher viene rifiutato — e il cliente vede un messaggio confuso "questo voucher non è valido" senza spiegazione del perché.
Perché le regole del carrello con "importo minimo" confondono i merchant
Il campo "importo minimo" nelle regole del carrello controlla il totale del carrello prima o dopo altri sconti a seconda della configurazione — e qui nasce la confusione. Se imposti un minimo di 100 EUR e il cliente ha un carrello del valore di 110 EUR ma una regola del carrello precedente lo ha già scontato a 95 EUR, il controllo del minimo potrebbe fallire. Inoltre, "importo minimo" può essere configurato per includere o escludere tasse e spedizione, portando a soglie diverse a seconda della posizione del cliente e del corriere scelto. Testa sempre le regole di importo minimo con scenari di carrello reali in diversi paesi prima di implementarle.
Checkout come ospite vs. creazione account
PrestaShop supporta il checkout come ospite nativamente, permettendo ai clienti di effettuare ordini senza creare un account completo. Questo riduce significativamente l'attrito — gli studi mostrano costantemente che la creazione forzata dell'account è una delle principali ragioni di abbandono del carrello. Puoi abilitare o disabilitare il checkout come ospite in Parametri del negozio > Impostazioni clienti. Trattiamo questo argomento in profondità nella nostra guida al checkout come ospite, inclusi i compromessi tra tasso di conversione e raccolta dati dei clienti.
Il modulo PrestaShop Checkout (ps_checkout)
Che cos'è ps_checkout?
Il modulo PrestaShop Checkout — tecnicamente denominato ps_checkout — è un modulo di pagamento gratuito sviluppato congiuntamente da PrestaShop SA e PayPal. Viene pre-installato nelle nuove installazioni PrestaShop a partire dalla versione 1.7.5.
Ecco la distinzione fondamentale che confonde molti merchant: ps_checkout è un modulo di pagamento, non il flusso di checkout stesso. Non modifica gli step del checkout, il layout della pagina o l'ordine in cui le informazioni vengono raccolte. Gestisce solo lo step del pagamento — dando ai tuoi clienti più modi per pagare. Il processo di checkout sottostante descritto sopra rimane esattamente lo stesso.
Cosa offre
Sulla carta, ps_checkout fornisce un solido set di funzionalità di pagamento:
- Pagamenti con carta — Visa, Mastercard e American Express tramite campi di pagamento hosted da PayPal integrati nel tuo checkout
- Wallet PayPal — i clienti pagano con il loro saldo PayPal o conto bancario collegato
- Apple Pay e Google Pay — supporto wallet mobile (dove disponibile)
- Metodi di pagamento locali — iDEAL, Bancontact, BLIK e altri a seconda del mercato
- Paga dopo / Paga in 3-4 rate — opzioni compra ora, paga dopo alimentate da PayPal
- 3D Secure 2 — autenticazione forte del cliente obbligatoria per le transazioni UE
- 20+ valute — supporto multi-valuta attraverso la rete PayPal
Per un modulo gratuito, è una lista di funzionalità generosa. Puoi consultare la documentazione completa sul repository GitHub di ps_checkout.
Dettaglio delle commissioni sulle transazioni
Sebbene ps_checkout stesso sia gratuito, paghi le commissioni standard PayPal su ogni transazione. Aggiornamento al 2026 — ecco cosa puoi aspettarti:
| Metodo di pagamento | Commissione (UE domestica) | Commissione (transfrontaliera) |
|---|---|---|
| Pagamenti con carta (Visa, Mastercard) | 1,2% + 0,35 EUR | 1,29% + 0,35 EUR + commissione transfrontaliera |
| Wallet PayPal | 2,49% + 0,35 EUR | 2,99% + 0,35 EUR |
| Paga dopo / Paga in 3-4 rate | 2,49% + 0,35 EUR | N/D (solo domestico) |
| Metodi locali (iDEAL, Bancontact) | Varia per metodo (0,29-1,49%) | N/D |
| Apple Pay / Google Pay | 1,2% + 0,35 EUR | Come pagamenti con carta |
Nota che queste tariffe possono variare in base al livello del tuo account PayPal e al volume mensile. I merchant ad alto volume possono essere idonei per tariffe scontate attraverso il programma tariffe merchant di PayPal.
ps_checkout vs. Stripe vs. Mollie: confronto PrestaShop Checkout
Per aiutarti a valutare le tue opzioni, ecco un confronto side-by-side delle tre soluzioni di pagamento più popolari:
| Funzionalità | ps_checkout | Stripe | Mollie |
|---|---|---|---|
| Costo del modulo | Gratuito | Gratuito o a pagamento (varia) | Gratuito (ufficiale) |
| Commissione carta UE | 1,2% + 0,35 EUR | 1,5% + 0,25 EUR | 1,8% + 0,25 EUR |
| Rapporto di pagamento | Intermediario (PrestaShop SA) | Diretto | Diretto |
| Metodi di pagamento | 20+ | 40+ | 25+ |
| Apple Pay / Google Pay | Sì | Sì | Sì |
| Compra ora, paga dopo | PayPal BNPL | Klarna, Afterpay | Klarna, in3 |
| Versioni PS supportate | 1.7.5+, 8.x, 9.x | 1.7+, 8.x, 9.x | 1.7+, 8.x, 9.x |
| Ideale per | Negozi nuovi/piccoli | Internazionali, tech-savvy | Focalizzati sull'UE (NL, BE, DE) |
Come installare e configurare ps_checkout
Configurazione di ps_checkout: installa il modulo (pre-installato nei nuovi negozi, altrimenti scaricalo da Addons), collega il tuo account PrestaShop Addons, connetti il tuo account PayPal Business tramite la procedura guidata di onboarding (gli account personali non sono supportati), configura quali metodi di pagamento offrire, assicurati che le impostazioni di arrotondamento/valuta corrispondano alle aspettative di PayPal, e testa in modalità sandbox prima di andare live.
Come disinstallare ps_checkout
Per rimuovere ps_checkout: vai su Moduli > Gestione moduli, cerca "ps_checkout" e seleziona Disabilita come primo passo (sicuro — lo ferma dall'apparire senza rimuovere i dati). Per rimuoverlo completamente, seleziona Disinstalla, poi opzionalmente elimina modules/ps_checkout/. Importante: assicurati che un altro modulo di pagamento sia configurato prima, altrimenti il checkout mostrerà "Nessun metodo di pagamento disponibile."
L'architettura intermediaria PayPal
È qui che le cose diventano più sfumate. A differenza di un'integrazione diretta Stripe o Adyen dove i pagamenti confluiscono direttamente nel tuo conto merchant, ps_checkout instrada le transazioni attraverso l'account commerciale intermediario PayPal della piattaforma PrestaShop SA. PrestaShop SA agisce come facilitatore.
Cosa significa nella pratica:
- Devi collegare il tuo account PayPal business attraverso il flusso di onboarding di PrestaShop — non direttamente con PayPal
- I tempi di liquidazione e la disponibilità dei fondi dipendono sia dalle politiche di PayPal che dalla configurazione della piattaforma PrestaShop SA
- La gestione dei chargeback passa attraverso un livello aggiuntivo, rendendo le dispute più lente da risolvere
- Hai meno visibilità sui dati grezzi delle transazioni rispetto a un'integrazione diretta con il gateway
Questa architettura non è intrinsecamente negativa — è così che funzionano molti modelli di payment facilitator (Shopify Payments opera in modo simile). Ma vale la pena comprenderla prima di impegnarsi, specialmente se il tuo negozio elabora volumi elevati o opera in settori regolamentati.
Limitazioni note
Basandoci sul feedback della community, sulle issue GitHub e sui nostri test, questi sono i problemi più comunemente segnalati con ps_checkout:
- Compatibilità con i temi — il modulo funziona meglio con il tema Classic. Temi non standard, specialmente quelli fortemente personalizzati, riscontrano frequentemente problemi di rendering con i campi di pagamento hosted.
- Spinner infinito — un problema ben noto in cui il modulo di pagamento non finisce mai di caricarsi, tipicamente causato da conflitti JavaScript con altri moduli o da header Content Security Policy che bloccano gli script di PayPal.
- Messaggi di errore 3DS generici — quando l'autenticazione 3D Secure fallisce, il messaggio di errore mostrato ai clienti è spesso poco utile, portando ad acquisti abbandonati che avrebbero potuto essere recuperati con messaggi più chiari.
- Nessun supporto dedicato — il supporto viene gestito attraverso forum della community e issue GitHub piuttosto che un canale di supporto diretto, il che può essere frustrante per i merchant che riscontrano problemi di pagamento.
- Rischi di aggiornamento — gli aggiornamenti delle versioni major hanno storicamente introdotto breaking change. Il modulo si evolve velocemente, il che è positivo per le funzionalità ma rischioso per la stabilità.
Nessuna di queste è di per sé un dealbreaker, ma insieme significano che dovresti testare accuratamente prima di andare live — e testare sempre gli aggiornamenti del modulo prima in un ambiente di staging.
Quando ps_checkout ha senso
Nonostante le limitazioni, ps_checkout è una scelta solida per certi scenari:
- Negozi nuovi — stai appena iniziando e hai bisogno di accettare pagamenti rapidamente senza costi iniziali
- Negozi mono-mercato — vendi principalmente in un paese e non hai bisogno di liquidazioni multi-valuta complesse
- Merchant attenti al budget — costo del modulo zero, nessuna fee mensile e pricing pay-per-transaction attraverso PayPal
- Cataloghi semplici — prodotti standard senza abbonamenti, preordini o flussi di pagamento complessi
Personalizzare il PrestaShop Checkout
Cosa puoi cambiare senza moduli?
Prima di installare moduli di terze parti, ci sono diversi modi per personalizzare il checkout utilizzando gli strumenti integrati:
- Template del tema — modifica i template Smarty del checkout nel tuo tema per cambiare layout, ordine dei campi o aggiungere contenuti personalizzati tra gli step
- Styling CSS — regola colori, spaziature, dimensioni dei pulsanti e tipografia per adattarsi al tuo brand senza toccare la funzionalità
- Configurazione dei corrieri — ristruttura come vengono presentate le opzioni di spedizione regolando nomi dei corrieri, descrizioni, tempi di consegna stimati e ordine di visualizzazione
- Ordinamento dei moduli di pagamento — riordina quale metodo di pagamento appare per primo nel back office in Pagamento > Preferenze
- Campi obbligatori — regola quali campi del cliente e dell'indirizzo sono obbligatori nella configurazione Clienti > Indirizzi
Queste modifiche sono personalizzazioni sicure a livello di tema che sopravvivono agli aggiornamenti di PrestaShop a condizione che tu stia utilizzando un child theme. Per approfondire l'ottimizzazione del checkout senza aggiungere complessità, consulta la nostra guida all'ottimizzazione del checkout.
Campi personalizzati nel checkout
Molti merchant hanno bisogno di informazioni aggiuntive durante il checkout PrestaShop che l'installazione predefinita non raccoglie. Esempi comuni includono: numero di cellulare per notifiche SMS sulla consegna, ragione sociale e partita IVA per flussi B2B, istruzioni di consegna (codici del cancello, "lasciare al vicino") e riferimenti personalizzati per l'ordine (numeri di ordine d'acquisto).
PrestaShop supporta l'aggiunta di campi personalizzati al modulo indirizzo attraverso il back office (Clienti > Indirizzi), ma le opzioni sono limitate. Per requisiti più complessi, puoi modificare direttamente i template del checkout ed elaborare i dati tramite un modulo personalizzato agganciato a actionValidateOrder, oppure utilizzare un modulo di campi checkout di terze parti dal marketplace Addons.
Traduzione e localizzazione del checkout
Se vendi a livello internazionale, tradurre il checkout PrestaShop è essenziale. Etichette e messaggi di errore non tradotti causano direttamente l'abbandono — un cliente che non riesce a comprendere lo step del pagamento non completerà l'ordine.
Attività di localizzazione chiave:
- Etichette degli step del checkout — tradotte tramite Internazionale > Traduzioni. Seleziona "Traduzioni front office" e il tuo tema per trovare le stringhe relative al checkout.
- Testo del modulo di pagamento — ogni modulo di pagamento ha i propri file di traduzione, separati dalle traduzioni del core.
- Messaggi di errore — gli errori di validazione come "Si prega di inserire un indirizzo valido" vengono spesso trascurati durante la traduzione.
- Termini e condizioni — la checkbox "Accetto i termini e le condizioni" rimanda a una pagina CMS che deve essere tradotta per ogni lingua.
- Etichette del modulo indirizzo — PrestaShop utilizza formati di indirizzo specifici per paese. Assicurati che le etichette corrispondano alla localizzazione del cliente.
Trappola comune: installare un pacchetto lingua non traduce le stringhe specifiche dei moduli. Se il checkout mostra nomi dei metodi di pagamento in inglese in un negozio italiano, traduci il modulo di pagamento separatamente.
One Page Checkout
La personalizzazione del checkout più popolare è consolidare tutti gli step in una singola pagina. Invece di navigare attraverso cinque schermate separate, il cliente vede i campi di indirizzo, spedizione e pagamento tutti insieme — compilandoli e completando l'acquisto senza ricaricare la pagina.
I dati sono chiari: il one page checkout riduce i tassi di abbandono rimuovendo l'attrito dei passaggi multipli. Meno clic, meno possibilità che il cliente se ne vada. I benchmark del settore mostrano che le implementazioni one page checkout migliorano tipicamente i tassi di conversione del 10-20% rispetto ai flussi multi-step. I guadagni maggiori provengono dagli utenti mobile, dove ogni caricamento di pagina su una connessione lenta rischia di perdere il cliente. Analizziamo i numeri e l'approccio nel nostro articolo sul one page checkout.
Dal punto di vista UX, il one page checkout significa: tutti i campi del modulo visibili immediatamente, aggiornamenti istantanei dei costi di spedizione tramite AJAX, validazione inline (gli errori appaiono mentre il cliente digita), nessun indicatore di progresso necessario e il riepilogo dell'ordine resta visibile per tutto il tempo. Questi cambiamenti complessivamente riducono il carico cognitivo e mantengono i clienti concentrati sul completamento dell'acquisto.
Attualmente, PrestaShop non include un one page checkout nativo — il flusso multi-step è tutto ciò che ottieni out of the box. Questo cambia con PrestaShop 9.2, che introdurrà un OPC nativo opzionale per i negozi che utilizzano il tema Hummingbird v2. Fino ad allora, i moduli di terze parti sono l'unico modo per ottenere questa funzionalità.
Express Checkout
L'express checkout porta il concetto oltre: invece di semplificare la pagina di checkout, permette ai clienti di saltarla interamente. Pulsanti di acquisto alimentati da Apple Pay, Google Pay o PayPal appaiono direttamente nelle pagine prodotto e nel carrello. Il cliente si autentica con il suo wallet, che fornisce indirizzo di spedizione e dettagli di pagamento in un tocco — nessun modulo, nessuno step.
Questo è particolarmente efficace su mobile, dove digitare indirizzi su schermi piccoli è un killer di conversione significativo. Esploriamo i pattern dell'express checkout e l'implementazione nel nostro approfondimento sull'express checkout.
Checkout embedded e modale
Un pattern meno comune ma in crescita è il checkout embedded — dove il modulo di pagamento appare in un overlay modale o inline nella pagina corrente senza navigare verso un URL di checkout separato. Questo mantiene il cliente nel contesto dello shopping mentre raccoglie i dettagli di pagamento, riducendo la distanza psicologica tra "lo voglio" e "l'ho comprato". Stripe Payment Element e l'esperienza in-context di PayPal supportano entrambi questo approccio.
Alternative al PrestaShop Checkout
Se ps_checkout non soddisfa le tue esigenze, esistono diverse alternative mature per gestire i pagamenti nel tuo flusso di checkout PrestaShop.
Stripe
Stripe Payment Element è una delle integrazioni di pagamento più developer-friendly disponibili. Punti di forza principali:
- Conto merchant diretto — i pagamenti vengono liquidati nel tuo account Stripe senza intermediari
- 135+ valute con conversione automatica
- Apple Pay, Google Pay, Link (il wallet con carta salvata di Stripe) e 40+ metodi di pagamento locali
- API completa con documentazione eccellente
- Protezione antifrode integrata tramite Stripe Radar
Ideale per: negozi internazionali, merchant tecnicamente capaci, negozi che vogliono il pieno controllo sui dati di pagamento e sull'esperienza del cliente.
Mollie
Mollie è il provider di pagamento dominante per l'e-commerce europeo, con un'adozione particolarmente forte nei Paesi Bassi, Belgio, Germania e Francia. Punti salienti:
- Pricing trasparente per transazione senza fee mensili
- Supporto nativo per iDEAL, Bancontact, SOFORT, EPS, Giropay e KBC/CBC
- Modulo PrestaShop solido mantenuto direttamente da Mollie
- Onboarding facile con approvazione account rapida
Ideale per: negozi focalizzati sull'UE, in particolare quelli che vendono nelle regioni Benelux o DACH dove i metodi di pagamento locali dominano.
Adyen
Adyen è l'opzione enterprise-grade per negozi ad alto volume. Utilizzato da aziende come Booking.com ed eBay, offre 250+ metodi di pagamento con routing intelligente, rilevamento frodi avanzato (RevenueProtect) e acquiring diretto — Adyen è sia processore che acquirer, riducendo gli intermediari.
Il compromesso è la complessità e il costo. Adyen richiede un'integrazione personalizzata, ha volumi minimi di elaborazione e addebita fee piattaforma mensili. Non è pratico per negozi piccoli, ma per merchant che elaborano oltre 50.000 EUR al mese, i tassi di autorizzazione migliorati spesso giustificano l'investimento.
Amazon Pay
Amazon Pay permette ai clienti di completare il checkout utilizzando il loro account Amazon esistente — indirizzo, metodo di pagamento e tutto il resto. Checkout one-click con i dettagli Amazon salvati, forte fiducia nel brand e protezione acquirente A-to-Z Guarantee lo rendono un'opzione di pagamento secondaria efficace insieme a carte e PayPal. Un modulo PrestaShop è disponibile sul marketplace Addons.
Modulo PayPal standalone
Se vuoi i pagamenti PayPal senza il livello intermediario di PrestaShop SA, puoi utilizzare un modulo PayPal standalone che si connette direttamente al tuo account PayPal business. Questo ti dà:
- Controllo diretto sul tuo account PayPal, liquidazioni e gestione delle dispute
- La stessa esperienza wallet PayPal che i clienti si aspettano
- Opzioni Paga dopo configurate tramite la tua dashboard PayPal
Ideale per: merchant che vogliono PayPal come opzione di pagamento ma preferiscono un rapporto diretto con PayPal rispetto al modello facilitato di ps_checkout.
Checkout Revolution (di mypresta.rocks)
Trasparenza totale: è il nostro modulo. Checkout Revolution combina one page checkout ed express checkout in un'unica soluzione basata su Stripe. Posiziona pulsanti di acquisto nelle pagine prodotto, nel carrello e nel checkout — supportando Apple Pay, Google Pay, PayPal, Link, carte e 30+ metodi di pagamento aggiuntivi tramite Stripe Payment Element. I pagamenti vanno direttamente al tuo account Stripe senza intermediari.
Lo abbiamo costruito perché vedevamo merchant installare tre o quattro moduli separati per ottenere funzionalità che dovrebbero funzionare insieme senza problemi. Non è la soluzione ideale per ogni negozio, ma se vuoi l'express checkout e uno stack di pagamento moderno in un unico pacchetto, vale la pena dargli un'occhiata.
Alternative al PrestaShop Checkout: confronto rapido
| Provider | Pricing | Diretto/Intermediario | Metodi | Versione PS |
|---|---|---|---|---|
| ps_checkout | Gratuito + fee PayPal | Intermediario | 20+ | 1.7.5+, 8, 9 |
| Stripe | Gratuito/a pagamento + fee Stripe | Diretto | 40+ | 1.7+, 8, 9 |
| Mollie | Gratuito + fee Mollie | Diretto | 25+ | 1.7+, 8, 9 |
| Adyen | Fee piattaforma + per transazione | Diretto | 250+ | 1.7+, 8 |
| Amazon Pay | Gratuito + fee Amazon | Diretto | Wallet Amazon | 1.7+, 8 |
| PayPal standalone | Gratuito/a pagamento + fee PayPal | Diretto | PayPal | 1.6+, 1.7+, 8 |
| Checkout Revolution | A pagamento + fee Stripe | Diretto | 30+ | 1.7+, 8, 9 |
Sicurezza del checkout e conformità PCI
La sicurezza non è opzionale per nessun checkout online — è un requisito legale e commerciale. I clienti affidano al tuo negozio i loro dati di pagamento, e qualsiasi violazione può comportare sanzioni finanziarie, azioni legali e danni irreparabili al brand.
Cosa significa PCI DSS per i merchant PrestaShop
PCI DSS (Payment Card Industry Data Security Standard) è un insieme di standard di sicurezza che si applicano a qualsiasi azienda che accetta, elabora, memorizza o trasmette informazioni sulle carte di credito. Come proprietario di un negozio PrestaShop, il tuo livello di conformità PCI dipende da come il tuo checkout gestisce i dati delle carte:
- SAQ A (onere minimo) — se utilizzi campi di pagamento hosted o redirect dove i dati della carta non toccano mai il tuo server, ti qualifichi per il questionario di autovalutazione più semplice. Questo è il caso di ps_checkout, Stripe Payment Element e del checkout hosted di Mollie.
- SAQ A-EP — se la tua pagina di checkout carica JavaScript dal provider di pagamento che cattura i dati della carta sulla tua pagina (anche se vengono inviati direttamente al provider), rientri in questa categoria leggermente più impegnativa.
- SAQ D (onere massimo) — se i dati della carta passano attraverso il tuo server in qualsiasi momento (ad es. un modulo di pagamento personalizzato mal costruito che invia POST con numeri di carta al tuo server prima di inoltrarli), affronti la valutazione PCI DSS completa. Questo è estremamente costoso e complesso — evitalo.
Il messaggio pratico: utilizza sempre moduli di pagamento che offrono campi di pagamento hosted o pagine di checkout hosted. Questo garantisce che i dati delle carte non tocchino mai il tuo server e ti mantiene nella categoria SAQ A.
Perché i campi di pagamento hosted sono importanti
I campi di pagamento hosted sono iframe serviti dal provider di pagamento integrati nella tua pagina di checkout. I campi del numero di carta, scadenza e CVV sembrano parte del tuo modulo ma girano sul dominio del provider — i dati della carta non toccano mai il tuo server. Tutti i principali provider (ps_checkout, Stripe, Mollie, Adyen) supportano questo approccio. Se un modulo di pagamento ti chiede di creare input HTML grezzi per le carte, evitalo — è un segnale di allarme per la conformità PCI.
SCA, 3DS2 e requisiti SSL
La normativa Strong Customer Authentication (SCA) dell'UE richiede il 3D Secure 2 (3DS2) per la maggior parte dei pagamenti online con carta. Il tuo modulo di pagamento deve supportare il 3DS2 — i moduli più vecchi che supportano solo il 3DS1 vedranno un numero crescente di fallimenti. Il 3DS2 aggiunge uno step di autenticazione bancaria al checkout PrestaShop, che può aumentare l'abbandono, quindi scegli un provider con alti tassi di successo 3DS2. Un 3DS fallito non significa sempre frode — mostra un messaggio chiaro "riprova" piuttosto che un errore generico.
Ogni pagina di checkout deve funzionare su HTTPS. Senza un certificato SSL valido, i browser mostrano avvisi "Non sicuro", i provider di pagamento rifiutano di caricare i campi hosted e Google penalizza il tuo posizionamento. I certificati gratuiti di Let's Encrypt sono sufficienti. Dopo l'installazione di SSL, verifica che tutto il traffico HTTP venga reindirizzato su HTTPS — i contenuti misti causeranno il malfunzionamento dei moduli di pagamento.
Misurare le prestazioni del PrestaShop Checkout
Non puoi migliorare ciò che non misuri. Comprendere le prestazioni del tuo checkout richiede il monitoraggio delle metriche giuste e sapere cosa significa "buono".
Metriche chiave
- Tasso di completamento del checkout — (ordini completati / sessioni di checkout) x 100. La tua singola metrica più importante del checkout PrestaShop.
- Tasso di abbandono del checkout — la percentuale di clienti che iniziano il checkout ma non lo completano. Questo isola i problemi del checkout dai visitatori che navigano soltanto.
- Tasso di abbandono per step — quale step perde più clienti? Se il 40% abbandona alla spedizione, le opzioni dei corrieri potrebbero essere il problema.
- Tempo di completamento — tempi più lunghi correlano direttamente con un abbandono maggiore.
- Tasso di fallimento dei pagamenti — tassi elevati indicano problemi di configurazione 3DS o regole antifrode troppo aggressive.
Tracciamento con Google Analytics 4
Il tracciamento e-commerce avanzato di GA4 è il modo standard per misurare il funnel del checkout PrestaShop. Installa un modulo GA4 che attiva eventi per begin_checkout, add_shipping_info, add_payment_info e purchase. Poi configura un report funnel in GA4 > Esplora > Esplorazione funnel con step corrispondenti alle fasi del tuo checkout per visualizzare dove i clienti abbandonano.
Considera il tracciamento server-side per dati più accurati — il tracciamento JavaScript lato client viene bloccato dagli ad blocker per il 25-40% dei visitatori. Un'implementazione del GA4 Measurement Protocol server-side (attivata dagli hook PrestaShop alla creazione dell'ordine) cattura ogni ordine indipendentemente dai blocchi lato client.
Come appare un "buon" tasso di completamento
Benchmark di settore: medio è 45-55%, buono è 55-65%, e eccellente è 65%+ (tipicamente raggiunto con one page checkout e opzioni di express payment). Se il tuo tasso è sotto il 40%, controlla la creazione forzata dell'account, costi di spedizione inaspettati, opzioni di pagamento limitate o errori tecnici. Questi benchmark variano per settore — gli acquisti di alto valore hanno naturalmente tassi più bassi rispetto a moda o beni di consumo.
Cosa sta arrivando: PrestaShop 9.2 e One Page Checkout nativo
PrestaShop ha annunciato che la versione 9.2 includerà un'opzione one page checkout nativa. Questo è un cambiamento significativo — per la prima volta, i merchant potranno offrire un flusso di checkout su pagina singola senza moduli di terze parti.
Avvertenze importanti:
- Funzionerà solo con il tema Hummingbird v2 — i negozi su Classic o altri temi non avranno accesso
- Sarà opzionale, non predefinito — il flusso multi-step rimarrà disponibile
- Gli autori dei moduli dovranno adattare i loro moduli di pagamento e spedizione per funzionare nel nuovo flusso
- Non c'è ancora una data di rilascio confermata, e le release di PrestaShop hanno storicamente subito ritardi rispetto alle tempistiche iniziali
Dovresti aspettare? Dipende dalla tua tempistica. Se stai lanciando un nuovo negozio oggi, aspettare mesi (o più) per una funzionalità che potrebbe richiedere una migrazione completa del tema è impraticabile. Se sei già su Hummingbird e stai pianificando un futuro aggiornamento, vale la pena seguirlo. Trattiamo questa decisione in dettaglio nel nostro articolo sui piani OPC nativo di PrestaShop.
Scegliere il checkout giusto per il tuo negozio
Non esiste un'unica configurazione "migliore" del PrestaShop checkout — dipende dal tuo mercato, budget, comfort tecnico e piani di crescita. Ecco un framework pratico:
- Stai appena iniziando, budget ridotto — usa il checkout multi-step predefinito con ps_checkout. È gratuito, funziona, e potrai aggiornare in seguito.
- Negozio consolidato, alto tasso di abbandono — investi in un modulo one page checkout. L'incremento delle conversioni si ripaga tipicamente in settimane.
- Traffico prevalentemente mobile — dai priorità all'express checkout con pagamenti wallet (Apple Pay, Google Pay). I clienti mobile abbandonano i moduli a tassi molto più alti rispetto al desktop.
- Vendita in tutta Europa — considera Mollie per i metodi di pagamento locali, o Stripe per una copertura internazionale più ampia.
- Negozio ad alto volume — passa a un'integrazione di pagamento diretta (Stripe, Adyen) dove hai il pieno controllo su liquidazioni, reportistica e gestione delle dispute. Il modello intermediario di ps_checkout aggiunge complessità su larga scala.
- Enterprise con esigenze omnichannel — valuta Adyen per pagamenti online e in negozio unificati attraverso un'unica piattaforma.
- Vuoi tutto in un unico modulo — guarda soluzioni che combinano ottimizzazione del flusso di checkout con l'elaborazione dei pagamenti, piuttosto che sovrapporre più moduli che potrebbero entrare in conflitto.
Qualunque cosa tu scelga, testa regolarmente il tuo checkout PrestaShop. Effettua ordini di prova su diversi dispositivi, prova diversi metodi di pagamento, applica codici sconto e verifica come il flusso gestisce gli errori. Il tuo checkout è dove si genera il fatturato — merita più attenzione di quella che la maggior parte dei merchant gli dedica.
Commenti
Ancora nessun commento. Sii il primo!
Sii il primo a fare una domanda o a condividere un feedback utile.
Lascia un commento
Condividi una domanda, un dettaglio di installazione o un feedback utile per un altro lettore.