Vai al contenuto principale
enricomorano.it/blog/one-page-checkout-prestashop-9-2← ../
One page checkout PrestaShop 9.2: serve ancora il modulo?
▸ Assistenza PrestaShop

Il one page checkout entra in PrestaShop 9.2: il modulo a pagamento serve ancora?

One page checkout nativo in PrestaShop 9.2, provato sulla rc.1: gratis e pronto su Hummingbird, rompe il Classic. Quando il modulo a pagamento serve ancora.

26 settembre 2026#prestashop#checkout#aggiornamenti

Il one page checkout su PrestaShop c’era già: nella 1.6 bastava scegliere, nelle preferenze degli ordini, il processo in una pagina al posto di quello a cinque passaggi (il controller era OrderOpcController). La 1.7 l’ha tolto e da lì il checkout in una pagina è diventato un modulo di terze parti. Con la 9.2 torna nel pacchetto, gratis, come modulo nativo che si accende dal back office.

Il modulo a pagamento serve ancora? Dipende dal tema: su Hummingbird il nativo basta per un checkout da ospite pulito, sul Classic si attiva e rompe il checkout. E la 9.2 oggi è ancora una release candidate.

Non mi sono fidato dei comunicati: il 26 settembre ho installato la 9.2.0-rc.1 in locale e ho fatto ordini veri, da ospite e con account, con Hummingbird e con il tema Classic.

In breve, prima dei dettagli:

VersioneTemaCosa faccio
1.6 o 1.7QualsiasiPrima la migrazione a una versione supportata: la 9.2 viene dopo
8.x o 9.1QualsiasiIl nativo non c’è: se il checkout fa perdere ordini oggi, un modulo di terze parti sul tema attuale
9.2, dopo la stableClassic o derivatoModulo di terze parti, oppure override e CSS messi in conto come sviluppo
9.2, dopo la stableHummingbirdNativo, provato prima in staging con i miei moduli di pagamento

✅ Cosa porta PrestaShop 9.2 nel checkout

Il checkout nativo è il modulo ps_onepagecheckout, alla versione 0.6.7 nella rc.1: incluso nel pacchetto ma separato dal core, così si aggiorna senza aspettare una release di PrestaShop. Dopo l’installazione è spento e resta il checkout a quattro passaggi.

Si accende da Design > Processo di acquisto (nei comunicati in inglese è Design > Checkout): due opzioni, “Checkout rapido” e “Four-page checkout”. Si torna indietro dalla stessa schermata, senza disinstallare niente. In multistore la scelta vale per singolo negozio.

Back office di PrestaShop 9.2.0-rc.1, Design > Processo di acquisto: il layout Checkout rapido selezionato accanto al Four-page checkout, con il messaggio Impostazioni aggiornate La schermata che sceglie il tipo di checkout nella 9.2.0-rc.1 installata in locale. Il menu è in italiano, le descrizioni delle due opzioni ancora in inglese.

Quello che fa, secondo l’annuncio ufficiale e secondo quello che ho visto:

  • ospite dalla sola email: il cliente scrive l’indirizzo email e il resto viene chiesto per gradi, sulla stessa pagina;
  • contatto, indirizzo, corriere e pagamento in un’unica pagina, con le sezioni che si aggiornano via AJAX: cambi indirizzo e si ricalcolano i corrieri, cambi corriere e si ricalcolano i pagamenti;
  • carrelli di soli prodotti virtuali senza indirizzo di spedizione né corriere;
  • login e registrazione fuori dal flusso: chi ha un account esce dal checkout per accedere e poi ci rientra;
  • recupero dei carrelli abbandonati preservato, perché il minimo indispensabile viene registrato in background appena c’è l’email.

PrestaShop dichiara che il checkout in una pagina riduce l’attrito. Dati di conversione pubblicati non ce ne sono, e non li invento io.

⚠️ Le condizioni che nei comunicati si leggono poco

Ognuna di queste condizioni, da sola, basta a cambiare la risposta per il tuo shop.

Esiste solo dalla 9.2. Su una 8.x o una 9.1 non c’è, e non arriva con un aggiornamento del modulo.

La 9.2 oggi è una release candidate. La rc.1 è uscita il 21 settembre 2026, la stable non ha una data: la roadmap la collocava nel “Q2-Q3 2026” e il 26 settembre la milestone 9.2.0 contava ancora 510 issue aperte. E dalla RC alla versione finale non si aggiorna con l’Update Assistant: serve un’installazione pulita.

Il modulo stesso si dichiara non pronto. Il README del repository dice che è “under heavy development” e “not production-ready”, da non usare in ambienti live.

Il tema conta più di tutto. Sui temi costruiti da Hummingbird funziona subito; il Classic e i suoi derivati “non sono supportati di default” e richiedono override dei template. Derivati dal Classic sono quasi tutti i temi che vedo sugli shop nati sulla 1.7 e sulla 8.

Nativo e modulo di terze parti non convivono. Almeno un produttore dichiara che il suo modulo e quello nativo usano lo stesso punto di aggancio della 9.2: solo uno dei due può servire il checkout.

I moduli di pagamento vanno verificati uno per uno. Con le sezioni che si ricaricano via AJAX, un modulo che inietta contenuto deve saperlo ridisegnare dopo ogni aggiornamento, e il registro delle decisioni del modulo documenta fix recenti proprio lì. È il fronte caldo, lo stesso tipo di problema che racconto nel caso del metodo di pagamento che sparisce senza errore.

🛠️ L’ho installata in locale: cosa ho visto

PHP 8.4, MariaDB 11.4 dedicato, pacchetto ufficiale della rc.1: installazione da riga di comando in 127 secondi, 319 tabelle, 725 MB su disco. Un avvertimento: back office e database dicono “9.2.0”, non “rc.1”. A colpo d’occhio, uno shop installato con la release candidate sembra la stable.

Checkout da ospite su Hummingbird

Ordine da ospite pagato con bonifico, strumenti di sviluppo aperti: ordine confermato, zero ricaricamenti di pagina, 5 chiamate AJAX, zero errori JavaScript.

Checkout nativo della 9.2.0-rc.1 con tema Hummingbird, cliente ospite: informazioni di contatto con la sola email, indirizzo di consegna, scelta del corriere, metodi di pagamento bonifico, contrassegno e assegno, bottone di conferma ordine sulla stessa pagina Il checkout da ospite su Hummingbird, dall’email al bottone di conferma su una pagina sola (tolta la fascia dell’header fisso). Restano stringhe in inglese, come “Continue as guest”.

Il carrello abbandonato: con la sola email inserita, il back office crea un cliente ospite “Guest Guest” legato al carrello, visibile in Clienti > Carrelli. Il recupero ha qualcosa su cui lavorare anche se il cliente si ferma al primo campo.

Checkout con account

Il login è davvero fuori dal flusso: dal checkout si esce su /login?back=/ordine, si accede e si rientra. Funziona, ma se vendi soprattutto a clienti abituali guardalo con i loro occhi. Dentro, il cambio fra indirizzi salvati avviene senza ricaricare e l’ordine in contrassegno è andato a buon fine.

Una cosa la segnalo come da verificare, non come bug: dopo il cambio di indirizzo, la richiesta che ricalcola i corrieri portava ancora paese, CAP e città dell’indirizzo precedente. L’esito mostrato era corretto, quindi può essere innocuo; su uno shop con tariffe per zona è la prima cosa che controllerei.

Con il tema Classic: si attiva e rompe il checkout

Il Classic è nel pacchetto (versione 3.1.2): l’ho attivato e ho acceso il checkout nativo. Il pannello avvisa che serve un tema compatibile con Bootstrap 5 e che con il Classic il layout “will break your storefront”. Poi ti lascia salvare lo stesso.

Finestra Check theme compatibility nel back office della 9.2.0-rc.1: il one page checkout richiede un tema compatibile con Bootstrap 5 e con il tema Classic rompe il negozio, con il consiglio di usare la modalità manutenzione o uno staging L’avviso che compare attivando il checkout in una pagina. Il bottone “Change checkout appearance” resta cliccabile anche con il Classic attivo.

Senza override, la pagina del checkout sul Classic mostra una riga sola: “Hello world! This is HTML5 Boilerplate.” Nessun campo, nessun modo di ordinare.

Pagina del checkout con il tema Classic e il one page checkout attivo senza override: al posto del modulo compare solo la scritta Hello world! This is HTML5 Boilerplate Il checkout del Classic con il modulo nativo acceso e nessun template sovrascritto.

Ho seguito la strada della documentazione per chi sviluppa temi, col minimo indispensabile: due override. Il checkout.tpl del modulo copiato nel tema, con il blocco content_columns rinominato in content (quello che il Classic sa riempire), e modal-terms.tpl copiato da Hummingbird, senza il quale il checkout va in errore 500 di Smarty.

Con quei due file l’ordine va a buon fine. Il layout no: la griglia non viene applicata, i corrieri escono senza stile, la scritta “Loading payment methods” resta a schermo anche a pagamenti caricati, gli asterischi dei campi obbligatori spariscono.

Checkout del tema Classic con due override del modulo nativo: metodo di consegna senza stile, radio sparse, metodi di pagamento con la scritta Caricamento in corso rimasta visibile sotto Lo stesso checkout con i due override: funziona, ma senza il CSS pensato per Hummingbird non è presentabile a un cliente.

Sul Classic non è un interruttore: è sviluppo su un modulo 0.x.
Due override per far passare l’ordine, e il layout resta tutto da scrivere.

I moduli di pagamento

Il verdetto vale per questi moduli, su questa versione:

ModuloCompareOrdine completatoNote
Bonifico (ps_wirepayment)SìSì, da ospiteAnche sul Classic con gli override
Contrassegno (ps_cashondelivery)SìSì, con account
Assegno (ps_checkpayment)SìNon provato
PrestaShop Checkout 9.5.5.3NoNon provatoNon collegato a un account: nessun verdetto

Su PayPal, Stripe, Satispay, Scalapay e gli altri non dico niente: non li ho provati. Con un indirizzo francese non compariva nessun pagamento, ma per le restrizioni per paese dei moduli (Italia e Stati Uniti): se in staging i pagamenti spariscono, controlla quelle prima di accusare il checkout.

✅ Modulo nativo o modulo a pagamento: il confronto

Ho letto le pagine pubbliche di due dei moduli one page checkout a pagamento più diffusi. Quello che segue, per la colonna dei moduli, è dichiarato dai produttori, non verificato da me: sono moduli chiusi e non ne ho ispezionato il codice, quindi non ne consiglio nessuno.

Nativo 9.2Moduli a pagamento (dichiarato)
VersioniSolo 9.2 e successiveDalla 1.7 alla 9.x
TemaHummingbird subito, Classic con override e CSSAdattamento al tema a carico del produttore
LayoutUnoPiù layout a scelta
Campi extra, social loginNon presentiPresenti
Costo0 EURCirca 130-140 EUR una tantum
Compatibilità coi pagamentiTeam di PrestaShopProduttore, finché il supporto è attivo
Stato0.6.7, “not production-ready”Versioni mature, codice non ispezionabile

130 EUR non sono il problema di nessuno shop che fattura. La domanda giusta è chi ti risponde quando un aggiornamento del modulo di pagamento rompe il checkout.

✅ Quando il modulo a pagamento conviene ancora

Conviene ancora, e parecchio, in questi casi:

  • sei su una 8.x e quest’anno non migri: il nativo per te non esiste;
  • usi il Classic o un tema derivato, cioè la maggioranza degli shop nati sulla 1.7 o sulla 8: finché non cambi tema, un modulo di terze parti è l’unica strada già pronta;
  • ti servono campi extra in checkout, social login o un layout diverso da quello unico del nativo;
  • hai già un one page checkout che funziona: non toglierlo per il nativo prima di averlo provato in staging, sulla stable, con i tuoi moduli di pagamento.

Non conviene se stai rifacendo lo shop sulla 9.x con Hummingbird: lì il nativo, una volta stabile, con buona probabilità basta per un checkout standard, e un modulo in più è solo codice in più da tenere compatibile.

🛠️ Non solo checkout: cosa cambia in SERP con la 9.2

La parte della 9.2 di cui si parla meno è la SEO tecnica. I dati strutturati adesso li costruisce il core come JSON-LD, che il tema stampa e i moduli possono estendere. Ho confrontato la scheda prodotto della rc.1 con Hummingbird con la stessa scheda sulla demo pubblica della 8.2 (ps8.2.demopresta.it) e su uno shop 8.2 reale che seguo.

Cosa guadagna la 9.2: un nodo WebSite con SearchAction (il box di ricerca interna), un nodo Organization con email e indirizzo del negozio, le caratteristiche del prodotto come additionalProperty e più immagini. Cosa perde: il campo mpn, presente nelle 8.2 di riferimento e assente nella rc.1. La condizione del prodotto (itemCondition) non c’è né in una né nell’altra, anche se la 9.2 aggiunge nuovi stati come open_box e damaged.

L’altro cambiamento che ho misurato è l’hreflang sulle categorie paginate. Sulla rc.1, con italiano e inglese attivi, la pagina ?page=2 di una categoria ha canonical e alternate che mantengono ?page=2, su entrambi i temi. Nella 8.2.8 e nella 9.1.5 gli alternate puntano alla pagina 1: questo lo ricavo dal codice modificato dalla PR, non da una misura, perché gli shop 8.x di riferimento erano monolingua.

Le PR del changelog che contano per la SEO:

PRCosa cambiaCosa ho visto
#37552 (beta.1) e #42571JSON-LD costruito dal core, con caratteristiche prodotto e contatti del negozioWebSite, Organization con contatti, additionalProperty; solo con Hummingbird
#42725La paginazione resta negli URL hreflang delle liste prodotti?page=2 mantenuto in alternate e canonical
#42728Niente query string vuote negli URL prodottoNon misurato
#41405Route multilingua per le entitàNon verificato su shop aggiornati
#42350Le nuove pagine CMS sono indicizzabili di defaultRiguarda le pagine create dopo
#41994 (beta.1)Breadcrumb con l’URL canonicoNon misurato

Un dettaglio da staging, non da changelog: un URL di categoria con lo slug sbagliato fa un 302 verso quello giusto, ma perde ?page=2 per strada.

⚠️ Ask AI ed Extra Properties: utili, ma non sono il motivo per aggiornare oggi

Ask AI è l’assistente nel back office basato sul server MCP di PrestaShop: risponde sui dati dello shop ed esegue azioni in linguaggio naturale, chiedendo approvazione prima di agire. Nella rc.1 (ps_ask_ai 2.0.0) i provider sono Gemini, Anthropic, OpenAI e Mistral. Prima va verificato il negozio con PrestaShop Account, poi ci metti la tua chiave API: l’assistente è nel pacchetto, il consumo del provider lo paghi tu.

Configurazione del modulo PrestaShop AskAI nella 9.2.0-rc.1: il riquadro Verifica il tuo negozio prima di continuare e la configurazione di AskAI bloccata finché non si sceglie il provider e si aggiunge la chiave API La configurazione di Ask AI: prima la verifica del negozio, poi provider e chiave API.

Extra Properties sono campi personalizzati nativi su prodotto, combinazione, cliente, ordine e carrello, da Parametri avanzati > Proprietà aggiuntive: otto tipi di campo, comuni, per lingua o per negozio, senza override. Utilissimi per chi integra un gestionale, ma il codice è marcato come sperimentale: da tenere d’occhio, non da usarci sopra un’integrazione oggi.

⚠️ Cosa non farei ancora in produzione

Perché oggi la risposta è “non ancora”:

  • la rc.1 non si aggiorna alla stable con l’Update Assistant: uno shop vero installato adesso va reinstallato dopo;
  • il modulo è alla 0.6.7 e si dichiara non pronto per la produzione;
  • nel checkout e nel back office in italiano restano stringhe in inglese (“Delivery method”, “Continue as guest”), che un cliente vede;
  • all’installazione il log ha registrato 15 errori di un modulo di spedizione incluso;
  • c’è il comportamento sulla richiesta dei corrieri dopo il cambio indirizzo, da verificare.

Niente di grave per una release candidate: una RC serve proprio a questo. Diventa grave se finisce su uno shop che vende.

✅ Quando conviene aggiornare, versione per versione

  • Sei su 1.6 o 1.7: la 9.2 non è il tuo problema adesso. Il passo è una versione supportata, e come lo affronto l’ho scritto nella guida su come aggiornare PrestaShop dalla 1.7 alla 8.
  • Sei su 8.x: resta dove sei. Se il checkout ti fa perdere ordini adesso, un modulo di terze parti risolve oggi, sul tema che hai; la 9.2 si pianifica dopo la stable, insieme alla decisione sul tema.
  • Sei su 9.1: la 9.1.5 è l’ultima release pianificata della linea. Prova la rc in staging con i tuoi moduli di pagamento e spedizione, aggiorna solo alla stable.
  • Stai rifacendo lo shop sulla 9 con Hummingbird: parti con il checkout nativo in staging e decidi dopo la stable se ti basta.

Prima di aggiornare guardo anche i moduli che non incassano: spedizione, collegamento al gestionale, recensioni. Il controllo che faccio, modulo per modulo:

  • una copia dello shop in staging, con gli stessi moduli e la stessa configurazione;
  • il changelog del modulo, cercando una menzione esplicita della 9.2 e del one page checkout;
  • la versione di PrestaShop dichiarata sulla scheda Addons o sul sito del produttore, sapendo che una dichiarazione non è una prova;
  • gli hook che usa: se inietta contenuto nelle sezioni di indirizzo, corriere o pagamento, va riprovato col nativo, che quelle sezioni le ricarica via AJAX.

Nessuna di queste verifiche garantisce che il modulo funzioni: dicono dove guardare per primo in staging.

✅ Prima di comprare un modulo o di aggiornare

Il checkout in una pagina nativo è una buona notizia e, sui temi giusti, potrà far risparmiare un modulo a parecchi negozi. Non è ancora da produzione, e sul Classic non è una scelta affatto. La decisione giusta la prendi con davanti la tua versione, il tuo tema e i tuoi moduli di pagamento, ed è il tipo di verifica che faccio come tecnico PrestaShop prima che un cliente spenda o aggiorni. Raccontami da che versione parti e che tema usi da uno dei canali qui sotto.

❓ Domande frequenti

Qual è l'ultima versione di PrestaShop?
Al 26 settembre 2026 le versioni stabili sono la 9.1.5 e la 8.2.8, uscite il 18 agosto 2026 come release di sicurezza. La 9.2 è in release candidate dal 21 settembre 2026 ed è pensata solo per i test: la data della versione stabile non è stata annunciata.
Il one page checkout di PrestaShop 9.2 è gratuito?
Sì, è un modulo nativo incluso nel pacchetto di installazione e si attiva da Design > Processo di acquisto. Esiste però solo dalla 9.2 in poi: su PrestaShop 8.x e 9.1 non c'è, e per averlo serve prima l'aggiornamento di versione.
Il checkout nativo della 9.2 funziona con il tema Classic?
Non di default. Sulla 9.2.0-rc.1 si attiva, ma il checkout resta vuoto; con due override dei template l'ordine va a buon fine, però il layout è rotto finché non si scrive il CSS mancante. Sui temi derivati da Hummingbird funziona subito.
Per usare il one page checkout nativo devo rifare il tema?
Se il tema deriva da Hummingbird no. Se deriva dal Classic, come quasi tutti i temi nati per la 1.7 e la 8, servono override dei template e CSS: non per forza un rifacimento, ma sviluppo su un modulo ancora 0.x. Su quel tema, la strada già pronta resta un modulo di terze parti.
Posso tenere il mio modulo one page checkout e attivare il nativo?
No, non insieme. Almeno un produttore dichiara che il suo modulo e quello nativo della 9.2 usano lo stesso punto di aggancio del checkout: solo uno dei due può servirlo. Prima di passare al nativo, prova il cambio in staging con i tuoi moduli di pagamento, e tieni il modulo che hai finché il nativo non ha superato quella prova.
Come capisco se il mio tema deriva dal Classic?
Guardo tre cose nella cartella del tema, dentro themes. Il nome: se è classic, la risposta è già lì. Il file config/theme.yml: se c'è una riga parent, il tema è figlio di quello indicato. Nello stesso file, il campo framework: nella 9.2.0-rc.1 il Classic dichiara bootstrap-v4.0.0-alpha.5, Hummingbird bootstrap-v5.3.3, e il checkout nativo chiede un tema compatibile con Bootstrap 5. Molti temi commerciali non hanno un parent: hanno una struttura propria, e la documentazione per chi sviluppa temi li mette nello stesso gruppo dei derivati dal Classic, con override più ampi.
Quando esce la versione stabile di PrestaShop 9.2?
Non c'è una data annunciata. La roadmap indicava il Q2-Q3 2026, la release candidate è uscita il 21 settembre 2026 e la issue di rilascio non riporta una data di consegna. Dalla RC alla stabile non si aggiorna con l'Update Assistant.

Fonti primarie: release 9.2.0-rc.1 su GitHub, annuncio della rc.1, presentazione del one page checkout sul blog build, documentazione per chi sviluppa temi, modifiche della 9.2 nella devdocs, README di ps_onepagecheckout, registro delle decisioni del modulo, annuncio della beta.1, roadmap di PrestaShop, issue di rilascio della 9.2.0, Core Monthly di agosto 2026, devdocs sui temi figli, OrderOpcController della 1.6. Screenshot e misure vengono dalla 9.2.0-rc.1 installata in locale il 26 settembre 2026; prezzi e funzioni dei moduli a pagamento sono quelli dichiarati dai produttori sulle loro pagine.

Enrico Morano
Sviluppatore PrestaShop freelance da quasi 10 anni - debug, performance, moduli custom

Hai un progetto in testa?

Raccontami cosa ti serve o cosa non funziona. Rispondo entro 24 ore, senza preventivi a scatola chiusa.

Descrivi il tuo progetto →il form guidato, 2 minuti
Scrivimi una mailemail
Scrivimi su WhatsAppdi solito rispondo in giornata