In breve: un WooCommerce ordine pagamento in attesa è stato registrato, ma WooCommerce non considera ancora confermato il pagamento. Prima di cambiare stato manualmente, confronta metodo di pagamento, note dell’ordine, ID transazione, dashboard e log del gateway, consegna di webhook o callback e attività pianificate. Lo stato del provider è la verifica decisiva contro addebiti duplicati o ordini evasi senza incasso.
Indice dei contenuti
WooCommerce ordine pagamento in attesa: che cosa significa
“In attesa di pagamento” (Pending payment) è lo stato iniziale di un ordine ricevuto ma non pagato secondo WooCommerce. Non va confuso con “In sospeso” (On hold), usato in genere quando il negozio attende una conferma manuale o ritardata, né con “In lavorazione” (Processing), che indica pagamento ricevuto e ordine da evadere.
Il cliente può aver abbandonato il checkout, il gateway può aver rifiutato la carta oppure il provider può aver acquisito il pagamento senza riuscire a notificare il sito. Lo stesso stato visibile nasce quindi da scenari economici diversi: soltanto la correlazione tra ordine e transazione stabilisce quale si sia verificato.

Pagamento non completato o conferma mancante
| Gateway | Ordine WooCommerce | Interpretazione |
|---|---|---|
| Nessuna transazione | Pending payment | Checkout abbandonato o richiesta mai arrivata al provider |
| Declined/Failed | Pending o Failed | Pagamento rifiutato; controllare motivo e aggiornamento stato |
| Authorized | Pending/On hold | Fondi autorizzati ma non necessariamente acquisiti |
| Captured/Paid | Pending payment | Conferma, webhook o callback non elaborati dal sito |
| Captured/Paid | Processing | Flusso normalmente completato per prodotti da evadere |
I nomi cambiano tra provider; usa la documentazione del gateway per distinguere autorizzazione, acquisizione, rimborso e storno. Non basarti soltanto sull’email ricevuta dal cliente, perché può essere ritardata o riferita a un tentativo differente.
Controllare note e ID transazione
- Apri WooCommerce → Ordini e seleziona l’ordine interessato.
- Annota numero ordine, data, importo, valuta, metodo di pagamento e stato corrente.
- Leggi le note in ordine cronologico. Cerca avvio pagamento, codice errore, autorizzazione, acquisizione e cambi di stato.
- Copia l’ID transazione senza pubblicarlo in schermate aperte; cercalo nella dashboard del provider.
- Confronta importo, valuta, email, orario e metadati. Un ID non corrispondente può appartenere a un secondo tentativo.
- Se la transazione risulta pagata, non chiedere al cliente di ripetere subito il pagamento.
Controllare log gateway e webhook
Se il debug del gateway era già attivo, apri WooCommerce → Stato → Log e seleziona il file relativo al provider e alla data dell’ordine. Cerca l’ID transazione, non dati carta. Un log che mostra l’inizio ma non la risposta può indicare timeout, eccezione PHP o reindirizzamento interrotto.
Nel pannello del provider controlla i tentativi di webhook: URL di destinazione, timestamp, evento, codice HTTP e corpo della risposta anonimizzato. Un 401 o 403 indica autenticazione o filtro; un 404 endpoint errato; un 500 errore dell’applicazione; un timeout richiede log del server nello stesso intervallo. Verifica anche firma o secret del webhook senza esporli.

Controllare callback, cron e Action Scheduler
Alcuni gateway aggiornano l’ordine tramite ritorno del browser, altri con una notifica server-to-server; spesso usano entrambi. Cache, WAF, modalità manutenzione, redirect o Basic Auth su staging possono bloccare l’endpoint. Escludi checkout, carrello, area account e callback dalla cache secondo le indicazioni del gateway.
WooCommerce e le sue estensioni usano Action Scheduler per attività differite. In WooCommerce → Stato → Azioni pianificate cerca operazioni fallite o pendenti collegate al gateway. Non cancellare in blocco la coda: conserva errore e stack, correggi la causa e rilancia soltanto l’azione idempotente prevista dal plugin.
Correggere senza duplicare addebiti
- Se non esiste alcuna transazione, consenti al cliente di riprovare tramite il link di pagamento previsto.
- Se la transazione è rifiutata, comunica il motivo generico e invita a usare un metodo valido, senza raccogliere dati carta.
- Se è soltanto autorizzata, segui la procedura del gateway per acquisire o annullare l’autorizzazione.
- Se risulta acquisita, ripristina webhook/callback e usa la funzione di sincronizzazione del gateway quando disponibile.
- Cambia manualmente lo stato solo dopo verifica economica e annota chi, quando e perché lo ha fatto.
- Esegui un ordine sandbox o di importo minimo controllato per confermare il flusso completo.
Verificare lo stato finale
- Esiste una sola transazione acquisita per l’ordine.
- Note ordine, dashboard del gateway e stato WooCommerce sono coerenti.
- Il webhook di prova riceve un codice 2xx e la firma viene validata.
- Lo stock è ridotto o liberato secondo lo stato corretto e l’impostazione Hold stock.
- Email al cliente e azioni successive vengono eseguite una sola volta.
Errori da evitare
- Impostare Processing senza controllare la transazione presso il provider.
- Far ripetere il pagamento quando un addebito è già acquisito.
- Attivare il debug permanente con dati sensibili nei log.
- Testare webhook reali da una copia staging collegata al gateway di produzione.
- Svuotare tutte le azioni pianificate o disattivare WP-Cron senza valutare gli effetti.
Guide Xlogic correlate
Domande frequenti
Pending payment significa che il cliente è stato addebitato?
No. Significa che l’ordine è stato ricevuto ma WooCommerce non considera ancora confermato il pagamento. La transazione va verificata nel pannello del gateway.
Posso cambiare manualmente lo stato in Processing?
Solo dopo aver verificato in modo indipendente che il pagamento sia acquisito e non soltanto autorizzato. Un cambio manuale errato può evadere un ordine non pagato.
Dove trovo i log del gateway?
Se il gateway li abilita, in WooCommerce → Stato → Log. Se il debug non era attivo, i log inizieranno a registrare soltanto le nuove transazioni.
Un webhook mancante può lasciare l’ordine in attesa?
Sì. Se il provider conferma il pagamento ma la notifica non raggiunge il sito, WooCommerce può non aggiornare lo stato. Vanno controllati endpoint, firma, risposta HTTP e tentativi di consegna.
Conclusione
Pending payment non descrive da solo il risultato economico. La diagnosi corretta segue un’unica traccia — ordine, ID transazione, provider, log e notifica — e aggiorna WooCommerce soltanto quando tutte le prove concordano. È il modo più sicuro per evitare sia una doppia richiesta di pagamento sia un’evasione non incassata.