
🚫 Nettoyage du checkout WooCommerce : suppression des méthodes de paiement inutiles par pays, montant et rôle
Un client remplit son panier, arrive au paiement et voit cinq moyens de paiement, dont deux seulement fonctionnent réellement. Vous avez testé le troisième il y a un mois et avez oublié de le désactiver, le quatrième n’accepte pas les paiements depuis son pays, et le cinquième est un poids mort laissé après la désactivation d’un ancien plugin. Cela vous rappelle quelque chose?
Chaque passerelle supplémentaire sur la page de paiement est une friction. Le client perd des secondes à choisir, et s’il sélectionne un moyen défaillant, il abandonne son panier. Selon le Baymard Institute, 22% des utilisateurs quittent le paiement précisément à cause d’un processus de commande compliqué ou confus.
Voici trois façons de nettoyer les moyens de paiement dans WooCommerce: depuis le panneau intégré pour un nettoyage rapide jusqu’au code ligne par ligne pour toutes les conditions. Chacune a été testée sur une boutique en production, avec des exemples concrets et les pièges à éviter.
Ce qu’il faut savoir avant de désactiver
💡 Aperçu rapide:
- Méthode 1: WooCommerce → Réglages → Paiements, deux clics, désactive une passerelle pour tous les clients en une fois
- Méthode 2: filtre
woocommerce_available_payment_gatewaysdansfunctions.php, conditions par pays, total du panier, rôle utilisateur - Méthode 3: extension gratuite Conditional Payments for WooCommerce, constructeur visuel, zéro ligne de code
Avant toute modification, faites une sauvegarde complète. L’extension gratuite UpdraftPlus s’en charge: quelques clics et une copie de votre site est dans le cloud. Après avoir désactivé des passerelles, passez toujours une commande de test du panier jusqu’à la page de remerciement pour vérifier que les moyens restants acceptent les paiements sans erreur.
Et surtout: ne désactivez jamais TOUTES les passerelles en même temps. Laissez au moins un moyen de paiement fonctionnel, sinon les clients ne pourront tout simplement pas finaliser leur commande, et vous vous en rendrez compte par le silence assourdissant dans votre messagerie.
Méthode 1: le panneau WooCommerce, deux clics, zéro risque
La voie la plus simple et la plus sûre. Elle convient lorsque vous devez supprimer une passerelle spécifique pour TOUS les clients, sans condition.
Ouvrez WooCommerce → Réglages dans la barre latérale d’administration et allez dans l’onglet Paiements. Vous verrez un tableau de tous les moyens de paiement enregistrés avec une colonne Activé. Les passerelles actives sont surlignées en violet, les inactives en gris.

Pour désactiver un moyen, cliquez sur l’interrupteur dans la colonne Activé, il passera en gris. C’est tout. La passerelle disparaît instantanément du paiement. Pas de code, pas d’extension.

Un autre chemin pour arriver au même résultat: cliquez sur le nom du moyen dans la liste, décochez Activer ce moyen de paiement, puis enregistrez.

Ce que cette méthode ne peut PAS faire
Il y a exactement une limite, mais elle est de taille: vous désactivez la passerelle de manière globale. Si votre boutique opère dans plusieurs pays ou si vous devez masquer un moyen uniquement sous certaines conditions (total de commande inférieur à un seuil, un produit de la catégorie «numérique», un client de l’UE), le panneau ne vous aidera pas. Pour une logique conditionnelle, passez aux méthodes 2 et 3.
Méthode 2: le code, filtre woocommerce_available_payment_gateways
WooCommerce fournit le hook woocommerce_available_payment_gateways. Il se déclenche juste avant l’affichage de la liste des moyens sur la page de paiement et vous permet de supprimer des passerelles en fonction d’une douzaine de conditions différentes: pays, total du panier, rôle utilisateur, catégorie de produit dans la commande.
Le code est ajouté au fichier functions.php du thème enfant ou via l'extension Code Snippets. Si vous n'avez pas encore de thème enfant, créez-en un avant d'effectuer toute modification, sinon tout sera perdu lors de la prochaine mise à jour du thème parent.
2.1. Masquer tous les moyens de paiement en une fois
Il peut arriver que vous ayez besoin de supprimer complètement le formulaire de paiement: par exemple, le site est en mode maintenance pendant que vous testez le panier. Une seule ligne dans functions.php:

1 add_filter( 'woocommerce_cart_needs_payment', '__return_false' );
Ce filtre indique à WooCommerce: «aucun paiement nécessaire». L'intégralité du formulaire de paiement disparaît de la page de commande. Cliquez sur Mettre à jour le fichier, et n'oubliez pas de supprimer cette ligne après les tests, sinon aucune commande réelle ne pourra aboutir.
2.2. Désactiver une passerelle pour un pays spécifique
Imaginons que vous acceptiez les commandes depuis les États-Unis et l'Europe. Les clients américains paient via PayPal, tandis que les Européens n'en ont pas besoin, car ils disposent de passerelles locales. Le code ci-dessous supprime PayPal pour une adresse de facturation aux États-Unis:
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 }
Le point clé est l'identifiant de la passerelle. Chaque passerelle possède le sien: paypal (PayPal), stripe (Stripe), bacs (virement bancaire), et cod (paiement à la livraison). Si vous ne connaissez pas l'identifiant, allez dans WooCommerce → Réglages → Paiements, faites un clic droit sur le nom de la méthode et sélectionnez «Inspecter», puis repérez l'attribut data-gateway_id dans le code:

Après avoir ajouté le code, testez la page de commande: avec une adresse de facturation aux États-Unis, PayPal disparaît; pour les autres pays, il reste présent.

2.3. Désactiver une passerelle selon le total du panier
Certains prestataires de paiement appliquent des frais fixes qui grèvent votre marge sur les petites commandes. Par exemple, pour les totaux inférieurs à 200 $, vous souhaitez ne conserver que le virement bancaire et activer PayPal pour les commandes plus importantes:
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 logique est simple: si le total du panier est inférieur à $threshold, PayPal est retiré de la liste. Remplacez la valeur du seuil par la vôtre.

Méthode 3: Extension Conditional Payments, constructeur visuel
Si vous préférez ne pas toucher à functions.php, l’extension Conditional Payments for WooCommerce résout le même problème. En juillet 2026: version 1.16.5, installations actives, compatible avec les dernières versions de WordPress et WooCommerce. Dernière mise à jour le 11 juillet 2025.
L’installation est standard: Extensions → Ajouter, tapez «Conditional Payments for WooCommerce» dans la zone de recherche, cliquez sur Installer puis sur Activer.

Configurer les conditions
Après l’activation, une entrée Conditional Payment Methods apparaît dans le menu WooCommerce. Rendez-vous sur cette page, vérifiez que la case «Enable conditions» est cochée, puis cliquez sur Add condition.

Sur la page qui s’ouvre, définissez quatre paramètres:
- Title, le nom de la condition, par exemple «Pas de PayPal pour les petites commandes».
- Action, sélectionnez Disable the payment method(s).
- Payment methods, cochez les moyens de paiement que vous souhaitez désactiver (vous pouvez en sélectionner plusieurs).
- Conditions, la logique de déclenchement. Par exemple: «Total du panier < montant seuil» → PayPal est désactivé.

Cliquez sur Publier, la condition prend effet immédiatement. Testez le tunnel de commande avec un montant inférieur puis supérieur au seuil.
La version gratuite fonctionne avec les conditions suivantes: total du panier, sous-total et sous-total hors taxes. Les opérateurs ET/OU sont disponibles, ce qui vous permet de construire une règle du type «désactiver PayPal si le montant est supérieur à X ET inférieur à Y».
La version premium ajoute le filtrage par pays, ville, rôle utilisateur, catégorie de produit, devise et une dizaine d’autres paramètres. Dans la pratique, les fonctionnalités gratuites suffisent toutefois pour la plupart des boutiques.

⁉️🤔 Questions fréquentes
Comment désactiver un moyen de paiement pour tous les clients en une seule fois?
Allez dans WooCommerce → Réglages → Paiements et cliquez sur l’interrupteur dans la colonne Activé. L’interrupteur devient gris et le moyen disparaît de la page de commande pour tout le monde, sans exception. Dix secondes, zéro risque.
Puis-je masquer une passerelle uniquement pour une catégorie de produits spécifique?
La version gratuite de Conditional Payments ne le permet pas. La version premium filtre par catégories, produits et attributs. Une alternative consiste à intervenir sur le hook
woocommerce_available_payment_gatewaysavec une vérification deWC()->cart->get_cart()pour les articles de la catégorie souhaitée.
La désactivation d’une passerelle affecte-t-elle les commandes déjà passées?
Non. Les commandes existantes ne sont pas affectées. La modification s’applique uniquement aux futures validations de commande; toutes les transactions antérieures restent inchangées dans l’historique.
Que faire si la passerelle désactivée apparaît encore lors de la validation de commande?
Videz le cache de votre site et de votre navigateur. Si vous utilisez une extension de cache (WP Rocket, W3 Total Cache), purgez son cache. Ensuite, désactivez temporairement les autres extensions une par une et testez la validation de commande; il peut y avoir un conflit.
Puis-je réactiver un moyen désactivé?
Oui, à tout moment. Méthode 1: cliquez à nouveau sur l’interrupteur dans Paiements. Méthode 2: supprimez ou commentez le code que vous avez ajouté. Méthode 3: désactivez la condition dans Conditional Payment Methods.
Est-il obligatoire de créer un thème enfant avant de modifier functions.php?
C’est fortement recommandé. Sans thème enfant, vos modifications seront perdues lors de la mise à jour du thème parent. L’extension Code Snippets est une alternative sûre: elle stocke le code dans la base de données et ne dépend pas du thème.
En résumé: que choisir selon votre besoin
Trois approches couvrent trois scénarios différents. Choisissez celle qui correspond à votre situation:
- Supprimer simplement une passerelle inutile pour tout le monde → Méthode 1, le panneau WooCommerce. Dix secondes, zéro risque.
- Vous avez besoin de logique: par pays, montant, rôle → Méthode 2 (code) ou Méthode 3 (extension). Le code est gratuit et n’ajoute aucune dépendance. L’extension vous offre une interface visuelle et vous protège des erreurs de saisie dans
functions.php. - Vous testez un site et devez masquer temporairement le paiement → une ligne
add_filter( 'woocommerce_cart_needs_payment', '__return_false' )issue de la section 2.1. N’oubliez pas de la retirer après les tests.
En pratique, nous vous recommandons de commencer par le panneau WooCommerce pour un nettoyage de base et, pour la logique conditionnelle, d’installer Conditional Payments. La version gratuite couvre la plupart des scénarios et le constructeur visuel élimine les erreurs humaines dans le code. Lorsque vous avez plus de cinq conditions et que la boutique est en croissance active, passez au code: écrivez-le une fois dans functions.php et n’y pensez plus.


