Salta al contenuto

WooCommerce nonce verification failed nel checkout

Pubblicato il Aggiornato il

In breve: l’errore “nonce verification failed” indica che WooCommerce ha rifiutato una richiesta del checkout perché il token di sicurezza era mancante, scaduto o non coerente con la sessione del cliente. Prova prima con una pagina aggiornata e una nuova sessione; se il problema si ripete, controlla cache, cookie e la richiesta che restituisce l’errore. Non disattivare la verifica del nonce.

Che cosa significa l’errore

WordPress usa i nonce per verificare l’origine e l’intenzione di determinate azioni. Hanno una durata limitata e non sostituiscono autenticazione o autorizzazione. Nel checkout, WooCommerce e le sue estensioni possono usarli per proteggere richieste AJAX o REST che modificano carrello, dati del cliente e ordine.

Il messaggio non identifica da solo la causa. Un token valido al caricamento della pagina può diventare inutilizzabile se il checkout rimane aperto a lungo, se viene servita una copia memorizzata in cache oppure se cookie e sessione cambiano prima dell’invio. Anche un plugin, il tema o uno script personalizzato può inviare un token errato o non inviarlo affatto.

Controlli rapidi per il cliente

  1. Aggiorna la pagina del checkout e reinserisci soltanto i dati necessari.
  2. Verifica nell’area ordini o nelle email se il pagamento ha già creato un ordine. Non inviare più volte il pagamento senza questo controllo.
  3. Riprova in una finestra privata, senza estensioni del browser, accettando i cookie necessari al carrello.
  4. Se il carrello è stato aperto da molto tempo, torna al carrello, controlla prodotti e importi e avvia un nuovo checkout.
  5. Annota il testo completo dell’errore, l’orario e l’azione che lo provoca: caricamento, aggiornamento dei dati, applicazione di un coupon o invio dell’ordine.

Se l’errore compare soltanto su un browser o su una rete, cancella i cookie del solo dominio e riprova. Se interessa tutti i clienti, passa ai controlli sul sito.

Controllare cache e sessione WooCommerce

Carrello, checkout e area cliente contengono dati specifici della sessione e non devono essere serviti come pagine statiche. Controlla la cache di LiteSpeed Cache, di eventuali altri plugin e del CDN. Le esclusioni normalmente gestite dall’integrazione WooCommerce vanno comunque confermate sulla configurazione effettiva.

  1. Verifica che le pagine assegnate a carrello, checkout e account siano escluse dalla page cache.
  2. Controlla che query e richieste WooCommerce non vengano riscritte o memorizzate da regole personalizzate.
  3. Escludi dalla cache le risposte legate ai cookie di sessione WooCommerce secondo la documentazione del sistema utilizzato.
  4. Svuota le cache applicative, LiteSpeed e CDN dopo la correzione.
  5. Apri una nuova sessione del browser e ripeti un ordine di prova.

Non basta svuotare la cache una volta: se la regola errata resta attiva, il problema ricomparirà quando la pagina verrà nuovamente memorizzata.

Individuare la richiesta che fallisce

Apri gli strumenti di sviluppo del browser, scheda Network, e riproduci il problema. Nel checkout classico può fallire una richiesta wc-ajax; nel Checkout Block vengono usati gli endpoint della Store API, tra cui /wp-json/wc/store/v1/checkout. La risposta e il codice HTTP aiutano a distinguere un nonce non valido da un blocco del firewall o da un errore PHP.

Per ogni richiesta fallita conserva URL, metodo, stato HTTP e risposta, ma non copiare numeri di carta, cookie, token o dati personali. Controlla inoltre:

  • che WordPress Address e Site Address usino dominio e protocollo corretti;
  • che non avvengano passaggi inattesi tra www e dominio senza www;
  • che HTTPS sia applicato in modo coerente anche dietro proxy o CDN;
  • che REST API e richieste AJAX non siano bloccate da regole di sicurezza;
  • che data e ora del server siano corrette.

Verificare plugin, tema e JavaScript

Se cache e sessione sono corrette, verifica gli aggiornamenti recenti di WooCommerce, gateway di pagamento, plugin checkout, consenso cookie, sicurezza e ottimizzazione JavaScript. Un errore nella console oppure una richiesta modificata da un’estensione può interrompere il rinnovo o l’invio del token.

Esegui il test di conflitto su staging o durante una finestra controllata, con backup disponibile. Disattiva un componente alla volta, ripeti lo stesso scenario e registra l’esito. Per verificare il tema usa temporaneamente un tema WooCommerce compatibile. Non eseguire queste prove alla cieca su un negozio con ordini in corso.

Consulta anche i log in WooCommerce > Stato > Log, il log PHP e gli eventi di Imunify360 relativi all’orario del test. La presenza di un 403 non prova da sola che Imunify360 sia la causa: confronta regola, URL e identificativo dell’evento.

Cosa non fare

  • Non rimuovere dal codice check_admin_referer(), check_ajax_referer() o altre verifiche di sicurezza.
  • Non disattivare globalmente cache, firewall o plugin di sicurezza come soluzione permanente.
  • Non cancellare ordini falliti prima di avere verificato pagamento, note ordine e log del gateway.
  • Non modificare insieme tema, plugin, PHP e CDN: non sapresti quale intervento ha risolto il problema.

Verifica finale

  1. Avvia una nuova sessione in finestra privata.
  2. Aggiungi un prodotto al carrello e modifica quantità o indirizzo.
  3. Completa un pagamento di prova con il metodo previsto dall’ambiente di test.
  4. Controlla che venga creato un solo ordine con stato coerente.
  5. Verifica console, richieste di rete, log WooCommerce e log PHP.
  6. Ripeti dopo che la cache pubblica ha avuto modo di rigenerarsi.

Quando contattare l’assistenza Xlogic

Apri un ticket se l’errore si ripete dopo avere escluso correttamente le pagine dinamiche e provato una nuova sessione. Invia dominio, URL del checkout, data e ora, tipo di checkout utilizzato, passaggi per riprodurre il problema, stato HTTP e risposta della richiesta fallita, versioni di WordPress/WooCommerce/PHP e modifiche recenti. Allega gli estratti di log pertinenti oscurando cookie, nonce, dati del cliente e informazioni di pagamento.

Guide Xlogic correlate

Domande frequenti

Che cos’è un nonce di WordPress?

È un token con durata limitata che aiuta a verificare l’origine e l’intenzione di una richiesta. Non è una password e non deve essere usato da solo per autenticare o autorizzare un utente.

Perché l’errore compare dopo che il checkout è rimasto aperto?

La pagina può contenere un nonce non più valido oppure una sessione cambiata. Aggiorna checkout e carrello, quindi riprova dopo avere controllato che non esista già un ordine.

LiteSpeed Cache può causare un nonce non valido?

Sì, se una pagina dinamica o una risposta legata alla sessione viene memorizzata. Verifica le esclusioni di carrello, checkout e account nella configurazione realmente attiva.

Posso disattivare la verifica del nonce?

No. Ridurrebbe la sicurezza e nasconderebbe la causa. Correggi cache, sessione, URL oppure il componente che genera o invia il token errato.

Quali dati devo inviare nel ticket?

Dominio, URL, orario, passaggi, stato e risposta della richiesta fallita, versioni software e modifiche recenti, senza cookie, token o dati di pagamento.

Fonti

WooCommerce nonce verification failed nel checkout ultima modifica: 2026-08-03T01:46:40+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?