
🚫 Pulizia del checkout WooCommerce: rimozione dei metodi di pagamento non necessari per paese, importo e ruolo
Un cliente riempie il carrello, arriva al checkout e vede cinque metodi di pagamento, di cui solo due funzionano davvero. Il terzo lo hai testato un mese fa e hai dimenticato di disattivarlo, il quarto non accetta pagamenti dal suo paese e il quinto è peso morto rimasto dopo aver disattivato un vecchio plugin. Ti suona familiare?
Ogni gateway di troppo nel checkout è attrito. Il cliente perde secondi a scegliere e, se seleziona un metodo non funzionante, abbandona il carrello. Secondo il Baymard Institute, il 22% degli utenti lascia il checkout proprio a causa di un processo complicato o confuso.
Ecco tre modi per fare pulizia tra i metodi di pagamento in WooCommerce: dal pannello integrato per una sfoltita rapida al codice riga per riga per qualsiasi condizione. Ognuno è stato testato su un negozio reale, con esempi concreti e insidie da evitare.
Cosa sapere prima di disattivare
💡 Panoramica rapida:
- Metodo 1: WooCommerce → Impostazioni → Pagamenti, due clic, disattiva un gateway per tutti i clienti in blocco
- Metodo 2: filtro
woocommerce_available_payment_gatewaysnel filefunctions.php, condizioni per paese, totale carrello, ruolo utente - Metodo 3: plugin gratuito Conditional Payments for WooCommerce, builder visuale, zero righe di codice
Prima di qualsiasi modifica, fai un backup completo. Il plugin gratuito UpdraftPlus gestisce la cosa: un paio di clic e una copia del tuo sito è nel cloud. Dopo aver disattivato i gateway, esegui sempre un ordine di prova dal carrello fino alla pagina di ringraziamento per verificare che i metodi rimasti accettino pagamenti senza errori.
E cosa più importante: non disattivare mai TUTTI i gateway insieme. Lascia sempre almeno un metodo di pagamento funzionante, altrimenti i clienti semplicemente non potranno completare l'ordine e lo scoprirai dal silenzio assordante nella tua email.
Metodo 1: pannello di WooCommerce, due clic, rischio zero
Il percorso più semplice e sicuro. Funziona quando devi rimuovere un gateway specifico per TUTTI i clienti, senza condizioni.
Apri WooCommerce → Impostazioni nella barra laterale dell'amministrazione e vai alla scheda Pagamenti. Vedrai una tabella con tutti i metodi di pagamento registrati e una colonna Abilitato. I gateway attivi sono evidenziati in viola, quelli disattivati in grigio.

Per disattivare un metodo, clicca l'interruttore nella colonna Abilitato, diventerà grigio. Tutto qui. Il gateway scompare all'istante dal checkout. Niente codice, niente plugin.

Un percorso alternativo per lo stesso risultato: clicca sul nome del metodo nell'elenco, deseleziona Abilita questo gateway di pagamento e salva.

Cosa NON può fare questo metodo
C'è esattamente un limite, ma è significativo: disattivi il gateway a livello globale. Se il tuo negozio opera in più paesi o devi nascondere un metodo solo a determinate condizioni (totale ordine sotto una soglia, un prodotto della categoria "digitale", un cliente dell'UE), il pannello non ti aiuta. Per la logica condizionale, passa ai metodi 2 e 3.
Metodo 2: codice, filtro woocommerce_available_payment_gateways
WooCommerce mette a disposizione l'hook woocommerce_available_payment_gateways. Si attiva subito prima che la lista dei metodi venga mostrata nel checkout e permette di rimuovere gateway in base a decine di condizioni diverse: paese, totale carrello, ruolo utente, categoria di prodotto nell'ordine.
Il codice va aggiunto al file functions.php del tema child o tramite il plugin Code Snippets. Se non hai ancora un tema child, creane uno prima di fare modifiche, altrimenti perderai tutto al prossimo aggiornamento del tema padre.
2.1. Nascondere tutti i metodi di pagamento in una volta sola
A volte serve rimuovere completamente il form di pagamento: per esempio, il sito è in modalità manutenzione mentre testi il carrello. Una riga in functions.php:

1 add_filter( 'woocommerce_cart_needs_payment', '__return_false' );
Il filtro dice a WooCommerce: «nessun pagamento necessario». L'intero form di pagamento scompare dal checkout. Clicca Aggiorna file e non dimenticare di rimuovere la riga dopo i test, altrimenti nessun ordine reale verrà completato.
2.2. Disabilitare un gateway per un paese specifico
Immagina di accettare ordini da Stati Uniti ed Europa. I clienti USA pagano con PayPal, mentre quelli europei non ne hanno bisogno, hanno gateway locali. Il codice qui sotto rimuove PayPal per un indirizzo di fatturazione USA:
1 add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_payment_gateway_disable_country' ); 2 function quadlayers_payment_gateway_disable_country( $available_gateways ) { 3 if ( is_admin() ) return $available_gateways; 4 if ( isset( $available_gateways['paypal'] ) && WC()->customer->get_billing_country() === 'US' ) { 5 unset( $available_gateways['paypal'] ); 6 } 7 return $available_gateways; 8 }
Il punto chiave è l'ID del gateway. Ogni gateway ha il suo: paypal (PayPal), stripe (Stripe), bacs (bonifico bancario) e cod (contrassegno). Se non conosci l'ID, vai su WooCommerce → Impostazioni → Pagamenti, clicca con il tasto destro sul nome del metodo e seleziona "Ispeziona", poi cerca l'attributo data-gateway_id nel markup:

Dopo aver aggiunto il codice, testa il checkout: con un indirizzo di fatturazione USA, PayPal scompare; per gli altri paesi, rimane.

2.3. Disabilitare un gateway in base al totale del carrello
Alcuni processori di pagamento applicano una commissione fissa che erode il margine sugli ordini piccoli. Per esempio, per totali sotto i 200 $ vuoi tenere solo il bonifico bancario e abilitare PayPal per checkout più alti:
1 add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_disable_paypal_below_threshold' ); 2 function quadlayers_disable_paypal_below_threshold( $available_gateways ) { 3 $threshold = 200; 4 if ( WC()->cart->total < $threshold ) { 5 unset( $available_gateways['paypal'] ); 6 } 7 return $available_gateways; 8 }
La logica è semplice: se il totale del carrello è inferiore a $threshold, PayPal viene rimosso dalla lista. Sostituisci il valore di soglia con il tuo.

Metodo 3: plugin Conditional Payments, builder visuale
Se preferisci non toccare functions.php, il plugin Conditional Payments for WooCommerce risolve lo stesso problema. A luglio 2026: versione 1.16.5, installazioni attive, compatibile con le ultime versioni di WordPress e WooCommerce. Ultimo aggiornamento: 11 luglio 2025.
L'installazione è quella standard: Plugin → Aggiungi nuovo, digita "Conditional Payments for WooCommerce" nel campo di ricerca, clicca Installa ora e poi Attiva.

Impostare le condizioni
Dopo l'attivazione, nel menu WooCommerce compare la voce Conditional Payment Methods. Vai lì, assicurati che la casella "Enable conditions" sia attiva e clicca Add condition.

Nella pagina che si apre, imposta quattro parametri:
- Title, il nome della condizione, ad esempio "No PayPal per ordini piccoli".
- Action, seleziona Disable the payment method(s).
- Payment methods, spunta i gateway che vuoi disabilitare (puoi selezionarne più di uno).
- Conditions, la logica di attivazione. Ad esempio: "Totale carrello < importo soglia" → PayPal viene disabilitato.

Clicca Publish, la condizione ha effetto immediato. Testa il checkout con un importo sotto e sopra la soglia.
La versione gratuita funziona con queste condizioni: totale carrello, subtotale e subtotale escluse le tasse. Sono disponibili gli operatori AND/OR, quindi puoi costruire una regola come "disabilita PayPal se l'importo è maggiore di X AND minore di Y".
La versione premium aggiunge la possibilità di filtrare per paese, città, ruolo utente, categoria di prodotto, valuta e una dozzina di altri parametri. Nella pratica, però, le funzionalità gratuite sono sufficienti per la maggior parte dei negozi.

⁉️🤔 Domande frequenti
Come disabilito un metodo di pagamento per tutti i clienti in una sola volta?
Vai su WooCommerce → Impostazioni → Pagamenti e clicca l'interruttore nella colonna Abilitato. L'interruttore diventa grigio e il metodo scompare dal checkout per tutti, senza eccezioni. Dieci secondi, zero rischi.
Posso nascondere un gateway solo per una specifica categoria di prodotto?
La versione gratuita di Conditional Payments non può farlo. La versione premium filtra per categorie, prodotti e attributi. Un'alternativa è intervenire con codice sull'hook
woocommerce_available_payment_gatewaysverificando conWC()->cart->get_cart()la presenza di articoli della categoria desiderata.
Disabilitare un gateway influisce sugli ordini già effettuati?
No. Gli ordini esistenti non vengono toccati. La modifica si applica solo ai checkout futuri; tutte le transazioni precedenti restano in archivio invariate.
Cosa fare se il gateway disabilitato compare ancora al checkout?
Svuota la cache del sito e del browser. Se usi un plugin di caching (WP Rocket, W3 Total Cache), svuota la sua cache. Poi disattiva temporaneamente gli altri plugin uno a uno e testa il checkout: potrebbe esserci un conflitto.
Posso ripristinare un metodo disabilitato?
Sì, in qualsiasi momento. Metodo 1: clicca di nuovo l'interruttore in Pagamenti. Metodo 2: cancella o commenta il codice che hai aggiunto. Metodo 3: disattiva la condizione in Conditional Payment Methods.
È obbligatorio creare un child theme prima di modificare functions.php?
È fortemente consigliato. Senza un child theme, le tue modifiche andranno perse quando il tema principale si aggiorna. Il plugin Code Snippets è un'alternativa sicura: memorizza il codice nel database e non dipende dal tema.
Riepilogo: cosa scegliere per la tua esigenza
Tre approcci coprono tre scenari diversi. Scegli quello più adatto alla tua situazione:
- Eliminare semplicemente un gateway superfluo per tutti → Metodo 1, pannello WooCommerce. Dieci secondi, zero rischi.
- Ti serve una logica: per paese, importo, ruolo → Metodo 2 (codice) o Metodo 3 (plugin). Il codice è gratuito e non aggiunge dipendenze. Il plugin offre un'interfaccia visiva e protegge dagli errori di battitura in
functions.php. - Stai testando un sito e devi nascondere temporaneamente i pagamenti → una riga
add_filter( 'woocommerce_cart_needs_payment', '__return_false' )dalla sezione 2.1. Non dimenticare di rimuoverla dopo il test.
Nella pratica consigliamo di partire dal pannello WooCommerce per una pulizia di base e, per la logica condizionale, di installare Conditional Payments. La versione gratuita copre la maggior parte degli scenari e il builder visuale elimina l'errore umano nel codice. Quando hai più di cinque condizioni e il negozio è in crescita attiva, passa al codice: lo scrivi una volta in functions.php e te ne dimentichi.


