Aller au contenu

Validation de commande WooCommerce en panne ? 7 vérifications pour trouver et corriger la cause

Bouton Commander qui tourne, aucun moyen de paiement ou commandes en attente ? Vérifiez les journaux, le cache, les conflits, le bloc de validation et les réglages de la passerelle.

Lorsque la validation de commande WooCommerce ne fonctionne plus, la boutique semble ouverte, mais personne ne peut payer. Le bouton « Commander » tourne sans fin, une erreur apparaît ou un message indique qu’aucun moyen de paiement n’est disponible. Chaque heure fait perdre des ventes : mieux vaut donc rechercher les causes dans le bon ordre.

Ce guide présente les premières vérifications de nos spécialistes WooCommerce. La plupart des échecs de validation de commande ont quelques causes récurrentes : le cache, un conflit d’extension ou de thème, les réglages de la passerelle de paiement ou une erreur PHP.

Travaillez prudemment : testez sur une copie de préproduction si votre hébergeur en propose une, ou faites au moins une sauvegarde au préalable. Utilisez le mode de test de votre passerelle pour ne pas créer de vrais débits pendant vos essais.

Les symptômes courants et leurs causes habituelles

  • Le bouton « Commander » tourne, mais rien ne se passe : une erreur JavaScript ou PHP, souvent causée par un conflit d’extensions ou une page de validation mise en cache.
  • « Aucun moyen de paiement disponible » : les passerelles sont désactivées, limitées selon le pays ou la devise, ou ne se chargent pas.
  • « Aucune option de livraison trouvée » : les zones de livraison ne couvrent pas l’adresse du client.
  • « Désolé, votre session a expiré » : un problème de cache ou de cookies sur les pages de panier et de validation de commande.
  • Le paiement est débité, mais la commande reste « En attente de paiement » : la passerelle ne parvient pas à joindre votre site pour confirmer le paiement, en raison d’un problème de webhook ou d’IPN.

Étape 1 : consultez les journaux WooCommerce

Accédez à WooCommerce → État → Journaux. Cherchez les journaux nommés fatal-errors et ceux de votre passerelle de paiement : Stripe, PayPal et d’autres créent leurs propres journaux. Un journal d’erreur fatale indique généralement le fichier d’extension responsable, ce qui peut vous faire gagner des heures.

Ouvrez également WooCommerce → État et allez tout en bas. WooCommerce répertorie les fichiers de modèles obsolètes de votre thème. Les modèles de validation de commande obsolètes sont une cause classique de panne après une mise à jour WooCommerce.

Étape 2 : consultez la console du navigateur

Ouvrez la page de validation de commande et appuyez sur F12, ou faites un clic droit et choisissez Inspecter, puis ouvrez l’onglet Console. Essayez de passer une commande de test. Les erreurs rouges indiquent un script défaillant. Le nom du fichier permet souvent d’identifier l’extension concernée.

Étape 3 : excluez le panier, la validation de commande et le compte du cache

Les pages Panier, Validation de commande et Mon compte ne doivent jamais provenir d’un cache de pages. Les versions mises en cache contiennent des jetons de sécurité expirés et des données de session d’autres acheteurs, ce qui perturbe la validation.

  • Dans votre extension de cache, comme LiteSpeed Cache, WP Rocket ou W3 Total Cache, vérifiez que /cart/, /checkout/, et /my-account/ sont exclus. La plupart le font automatiquement, mais les slugs de page personnalisés doivent être ajoutés manuellement.
  • Si vous utilisez Cloudflare ou un autre CDN avec un cache de pages complètes, ajoutez des règles de contournement pour ces pages et pour les requêtes contenant le cookie woocommerce_items_in_cart.
  • Désactivez les options de retardement ou de report d’exécution JavaScript pour les scripts de validation de commande si votre extension d’optimisation les propose.

Étape 4 : recherchez les conflits d’extensions et de thèmes

Installez l’extension gratuite Health Check & Troubleshooting et activez le mode de dépannage. Il désactive les extensions et active un thème par défaut pour votre seule session de navigateur, sans affecter les clients.

  1. Activez uniquement WooCommerce et votre passerelle de paiement, puis choisissez le thème Storefront.
  2. Testez la validation de commande. Si elle fonctionne, le problème vient d’une autre extension ou de votre thème.
  3. Réactivez les extensions une par une en testant après chacune, jusqu’à ce que la panne revienne.

Étape 5 : comparez le bloc de validation au code court classique

Les nouvelles boutiques WooCommerce utilisent par défaut le bloc de validation de commande. Certaines passerelles anciennes, certains éditeurs de champs et certaines extensions ne prennent en charge que la validation classique. Si des fonctionnalités manquent ou si la validation échoue après l’ajout d’une extension, vérifiez sa compatibilité avec les blocs dans sa documentation.

Pour revenir à la validation classique, modifiez la page de validation de commande et remplacez son bloc par le code court [woocommerce_checkout]. Faites de même pour le panier avec [woocommerce_cart] si nécessaire.

Étape 6 : vérifiez les réglages de la passerelle de paiement

  • Vérifiez que la passerelle est activée et que le mode de test est désactivé sur le site en production, et activé pendant vos tests.
  • Saisissez à nouveau les clés d’API. Les clés de test ne fonctionnent pas en production, et inversement.
  • Vérifiez les restrictions de pays et de devise. Certaines passerelles se masquent pour les devises non prises en charge.
  • Vérifiez les webhooks. Dans Stripe ou PayPal, assurez-vous que l’URL du webhook pointe vers votre domaine actuel, avec https://, et que les envois récents réussissent. Les webhooks en échec expliquent les commandes qui restent « En attente de paiement ».

Si un moyen de paiement est totalement absent de la page de validation, consultez notre guide sur les passerelles WooCommerce qui ne s’affichent pas.

Étape 7 : vérifiez les zones de livraison, le SSL et les erreurs PHP

  • Livraison : dans WooCommerce → Réglages → Expédition, vérifiez qu’une zone et une méthode existent pour chaque pays desservi. Une zone « Reste du monde » couvre les autres.
  • SSL : la page de validation doit se charger entièrement en HTTPS. Les avertissements de contenu mixte, pour des images ou scripts chargés en HTTP, peuvent empêcher l’affichage des champs de paiement.
  • Erreurs PHP : si les journaux précédents sont vides, activez brièvement le journal de débogage WordPress (WP_DEBUG_LOG) et passez une nouvelle commande de test.

Prévenir les problèmes de validation de commande

  • Testez une vraie commande après chaque mise à jour de WooCommerce, du thème ou de l’extension de paiement.
  • Maintenez à jour les surcharges de modèles du thème ou évitez de surcharger les modèles de validation de commande.
  • Utilisez un site de préproduction pour les mises à jour des boutiques très actives.
  • Mettez en place une surveillance de la disponibilité et des commandes pour repérer les échecs avant les réclamations des clients.

La validation des commandes est bloquée ? Notre service Réparation WooCommerce traite un problème reproductible sur une seule boutique pour $45. Nous convenons de l’étape à réparer et la testons sans débiter de vrais clients. Une nouvelle intégration de paiement ou un développement sur mesure fait l’objet d’un devis séparé. Demander une réparation WooCommerce.

Questions fréquentes

Pourquoi la validation de commande ne fonctionne-t-elle plus après une mise à jour ?

Les mises à jour de WooCommerce, du thème ou d’une extension de paiement peuvent rendre incompatibles du code ancien ou des surcharges de modèles. La page WooCommerce → État affiche les modèles obsolètes, et les journaux indiquent les erreurs fatales.

Le cache peut-il vraiment bloquer la validation WooCommerce ?

Oui. Une page de validation en cache contient des jetons de sécurité expirés et peut mélanger les sessions des acheteurs. Le panier, la validation de commande et les pages du compte doivent toujours être exclus du cache de pages.

Les clients ont été débités, mais les commandes affichent « En attente de paiement ». Pourquoi ?

Le prestataire a encaissé le paiement, mais n’a pas pu en informer votre site. Vérifiez les réglages de webhook ou d’IPN de la passerelle et son journal des envois. Assurez-vous qu’aucune extension de sécurité ni aucun pare-feu ne bloque ces requêtes.

Toujours bloqué ? Nous pouvons le réparer pour vous

Expliquez-nous la situation. Nous confirmons le périmètre et le prix avant le début de toute intervention.