Si vos clients ne peuvent pas finaliser leur achat, le checkout de votre boutique WooCommerce ne fait plus son travail, même si le reste de la boutique semble parfaitement normal.
Le problème peut se manifester de différentes façons :
- le bouton « Place order » (Commander) ne fait rien
- la page continue de charger après le clic du client
- un message d’erreur apparaît, parfois assez vague
- le client paie, mais aucune commande n’apparaît dans WooCommerce
- la page de checkout est blanche ou ne se charge qu’en partie
- les options de livraison ou les moyens de paiement sont absents
Un checkout en panne touche directement les ventes, et souvent en silence : les clients écrivent rarement pour vous prévenir, ils partent simplement.
Bonne nouvelle : un problème de checkout signifie rarement que vos produits, vos clients ou vos commandes passées sont perdus. Dans la plupart des cas, un maillon de la chaîne entre le panier et le paiement a cessé de fonctionner, et on peut le retrouver avec une démarche calme, étape par étape.
Ce guide explique les symptômes et les causes les plus fréquents, les vérifications sans risque, comment tester correctement le checkout et quand il vaut mieux demander un support technique.
À quoi ressemble concrètement un checkout qui ne fonctionne pas ?
Avant d’essayer quoi que ce soit, notez précisément ce qui se passe. Le symptôme est l’un des indices les plus utiles.
Le bouton « Place order » ne fait rien
Le client clique et rien ne se passe : pas d’erreur, pas de chargement, pas de redirection. Cela indique souvent une erreur JavaScript sur la page, qui empêche le script du checkout de s’exécuter.
La page continue de charger
Le checkout affiche une animation de chargement qui ne se termine jamais. La requête échoue peut-être sur le serveur, dépasse le délai ou reçoit une réponse inattendue, par exemple parce qu’un cache ou une règle de sécurité interfère.
Un message d’erreur apparaît
Les messages peuvent être précis, comme une carte refusée, ou génériques, comme « There was an error processing your order ». Un message générique signifie généralement que la vraie erreur est enregistrée dans un log, et non affichée à l’écran.
Le client paie mais aucune commande n’est créée
C’est l’un des cas les plus graves. L’argent arrive peut-être chez votre prestataire de paiement, mais WooCommerce ne reçoit jamais la confirmation. Cela concerne souvent la passerelle de paiement ou la façon dont elle communique en retour avec votre site.
La page de checkout est blanche ou cassée
La page peut être vide, afficher une erreur critique ou se charger sans la section de paiement. Cela peut venir d’un conflit de plugin ou de thème, d’une erreur PHP ou d’un problème sur la page de checkout elle-même.
Les options de livraison ou de paiement sont absentes
Sans moyen de livraison ou de paiement, la commande ne peut pas être passée. Cela vient souvent des réglages plutôt que du code.
Qu’est-ce qui a pu causer le problème ?
Les causes les plus fréquentes sont les suivantes.
Un conflit de plugin ou de thème après une mise à jour
Le checkout dépend de WooCommerce, du thème, du plugin de paiement et souvent de plusieurs autres plugins qui fonctionnent ensemble. Une mise à jour de n’importe lequel d’entre eux peut introduire un conflit.
La mise à jour n’a pas besoin de concerner les paiements : les plugins de marketing, de traduction ou de champs personnalisés ajoutent eux aussi du code au checkout. Un changement de version de PHP ou une nouvelle règle de sécurité sur le serveur peuvent avoir un effet similaire.
La passerelle de paiement
Le plugin de la passerelle a peut-être été mis à jour, ses identifiants ont peut-être changé ou expiré, ou le mode test est peut-être resté actif. Si le checkout échoue uniquement avec un moyen de paiement, la passerelle est le premier suspect. Notre guide sur les problèmes de passerelle de paiement traite ce sujet en détail.
La page du panier ou du checkout est mise en cache
Le cache accélère un site en enregistrant des copies des pages. Mais les pages du panier, du checkout et du compte sont différentes pour chaque client et ne doivent pas être mises en cache.
Si un plugin de cache, le cache de l’hébergeur ou un CDN enregistre une copie du checkout, les clients peuvent voir le panier de quelqu’un d’autre, une page obsolète ou un checkout impossible à valider.
Les erreurs JavaScript
Le checkout de WooCommerce repose beaucoup sur JavaScript. Une erreur de script provenant d’un autre plugin, du thème ou d’un outil d’optimisation qui combine ou diffère les scripts peut empêcher le checkout de fonctionner alors que la page semble normale.
Les règles de livraison ou de taxes
Si aucun mode de livraison ne correspond à l’adresse du client, ou si une zone de livraison ou un réglage de taxes a été modifié, le checkout peut refuser de continuer. C’est fréquent après une modification des zones de livraison ou l’ajout de nouveaux pays.
La compatibilité entre le checkout en blocs et le checkout classique
WooCommerce propose deux façons de construire la page de checkout :
- le bloc Checkout, utilisé par défaut sur beaucoup de boutiques récentes
- le checkout classique, basé sur le shortcode
[woocommerce_checkout]
Certaines passerelles de paiement, extensions et personnalisations ne fonctionnent qu’avec l’un des deux. Si la page de checkout a été récemment modifiée, reconstruite ou créée par une version plus récente de WooCommerce, un plugin qui fonctionnait auparavant peut ne plus apparaître ou ne plus se comporter correctement.
D’abord, essayez de comprendre ce qui a changé
Pensez à ce qui s’est passé juste avant que le checkout cesse de fonctionner.
Par exemple :
- WooCommerce, WordPress, le thème ou un plugin ont-ils été mis à jour ou installés ?
- Quelqu’un a-t-il modifié les réglages de paiement, de livraison ou de taxes ?
- Un plugin de cache ou d’optimisation a-t-il été installé ou reconfiguré ?
- La page de checkout a-t-elle été modifiée ou reconstruite ?
- L’hébergeur ou un développeur a-t-il fait des changements ?
Essayez aussi de déterminer quand la dernière commande réussie a été passée. Ouvrez WooCommerce > Orders (WooCommerce > Commandes) et regardez la date de la commande terminée ou en cours la plus récente. Si les commandes se sont arrêtées un jour précis, comparez cette date avec les mises à jour ou changements éventuels.
Comment tester le checkout sans risque ?
Tester est le seul moyen fiable de savoir si le checkout fonctionne, et si une correction a vraiment résolu le problème.
Tester dans une fenêtre privée
Ouvrez la boutique dans une fenêtre privée ou de navigation incognito, sans être connecté. Les administrateurs voient parfois une version différente de la page, et les utilisateurs connectés peuvent contourner le cache.
Ajoutez un produit au panier et suivez le checkout comme le ferait un client normal.
Utiliser un mode test lorsqu’il existe
Beaucoup de passerelles de paiement proposent un mode test ou sandbox, qui permet de passer des commandes avec des données de paiement de test au lieu de vraies cartes. Les étapes exactes dépendent du prestataire et du plugin : consultez leur documentation.
Attention : tant que le mode test est actif, les vrais clients risquent de ne pas pouvoir payer. Ne l’activez que si vous pouvez le faire brièvement, ou sur une copie de staging de la boutique.
Passer une vraie commande de faible montant
Une vraie commande est le test le plus fiable, car elle utilise le moyen de paiement en production exactement comme un client. Si possible, utilisez un produit de faible valeur ou un produit de test temporaire à petit prix, puis remboursez ou annulez la commande ensuite.
Vérifiez que :
- le paiement arrive chez votre prestataire de paiement
- la commande apparaît dans WooCommerce avec le statut attendu
- l’e-mail de confirmation arrive
- les niveaux de stock sont correctement mis à jour
Essayer différents moyens de paiement et de livraison
Si un moyen de paiement échoue et qu’un autre fonctionne, le problème se trouve probablement dans cette passerelle précise. Si tous les moyens échouent, la cause est plus probablement générale : un conflit, un cache, une erreur JavaScript ou un problème de serveur.
Que pouvez-vous essayer sans risque ?
Consulter WooCommerce > Status
Allez dans WooCommerce > Status (WooCommerce > État). La page d’état du système résume votre configuration WooCommerce et met en évidence certains problèmes, comme des surcharges de templates obsolètes dans le thème, des pages manquantes ou des limites du serveur.
L’onglet Logs (Journaux) peut contenir des erreurs enregistrées par WooCommerce et par les plugins de paiement. Recherchez les entrées correspondant au moment où le checkout a échoué.
Vider le cache
Si vous utilisez un plugin de cache, un cache d’hébergement ou un CDN, videz le cache et testez de nouveau. Vérifiez ensuite que les pages du panier, du checkout et du compte client sont exclues du cache. Beaucoup d’outils de cache le font automatiquement pour WooCommerce, mais des règles personnalisées ou des réglages d’optimisation peuvent passer outre.
Contacter votre prestataire de paiement
Si des clients sont débités mais que les commandes ne sont pas créées, ou si des paiements sont refusés de manière inattendue, consultez le tableau de bord de votre prestataire de paiement et contactez son support. Il peut voir si les paiements arrivent et si ses notifications vers votre site aboutissent.
Désactiver un plugin suspect
Ne le faites que si vous avez une bonne raison de soupçonner un plugin précis, par exemple un plugin mis à jour juste avant l’apparition du problème, et seulement si vous disposez d’un backup récent.
Désactiver un plugin sur une boutique en ligne peut affecter d’autres fonctions, comme le calcul de la livraison, les remises ou les factures. Après chaque changement, passez une nouvelle commande de test.
Qu’est-ce qu’il vaut mieux éviter ?
Quand les ventes sont touchées, on est tenté de tout essayer en même temps. Cela rend généralement la cause plus difficile à trouver.
Évitez de :
- mettre à jour tous les plugins en même temps en espérant que cela règle le problème
- désactiver beaucoup de plugins d’un coup sur la boutique en ligne
- restaurer un ancien backup sans vérifier quelles commandes seraient perdues
- passer du checkout en blocs au checkout classique, ou l’inverse, sans tester
- désactiver durablement des fonctions de sécurité pour « voir si ça aide »
- laisser le mode test actif sur une boutique en ligne
- modifier directement les fichiers de WooCommerce ou des plugins
La restauration d’un backup demande une attention particulière sur un site e-commerce. Un backup d’hier peut ne pas contenir les commandes, les clients ou les mouvements de stock d’aujourd’hui. Le restaurer peut supprimer des données réelles.
Modifiez une seule chose à la fois et notez ce que vous avez fait.
Quand demander un support technique ?
Un support technique est recommandé lorsque :
- aucune commande n’est arrivée depuis une durée inhabituelle
- des clients sont débités mais les commandes ne sont pas créées
- le checkout échoue avec tous les moyens de paiement
- le problème a commencé après une mise à jour et vous n’arrivez pas à identifier laquelle
- les logs affichent des erreurs que vous ne comprenez pas
- le checkout utilise du code personnalisé ou de nombreuses personnalisations
- vous n’avez pas de backup récent et vérifié
- le problème revient après une correction provisoire
- vous n’êtes pas à l’aise pour désactiver des plugins sur une boutique en ligne
Vous n’avez pas besoin de connaître la cause d’abord : une description claire de ce que voient les clients est un bon point de départ.
Quelles informations rassembler ?
Les éléments utiles sont :
- l’URL du site
- une capture d’écran ou un enregistrement vidéo de l’erreur
- la date et l’heure de la dernière commande réussie
- les moyens de paiement et de livraison concernés
- les mises à jour ou changements récents
- si des clients ont signalé avoir été débités sans commande
- le nom de votre prestataire de paiement et de votre hébergeur
- le rapport d’état du système de WooCommerce (voir ci-dessous)
- si un backup récent est disponible
N’envoyez pas de mots de passe, de clés API ni de données de paiement complètes par e-mail. D4Hub peut vous expliquer comment partager un accès en toute sécurité.
Comment D4Hub peut vous aider
L’objectif n’est pas seulement de faire passer une commande, mais de comprendre pourquoi le checkout a cassé et de s’assurer qu’il continue de fonctionner.
Selon le problème, D4Hub peut vous aider à :
- reproduire le problème et identifier où le checkout échoue
- examiner les logs de WooCommerce, les logs du serveur et les erreurs du navigateur
- trouver le plugin, le thème ou la mise à jour à l’origine d’un conflit
- vérifier les réglages de la passerelle de paiement et la connexion avec votre prestataire
- corriger les règles de cache et d’optimisation qui affectent le panier et le checkout
- examiner les zones de livraison, les modes de livraison et les réglages de taxes
- vérifier la compatibilité du checkout en blocs et du checkout classique
- récupérer, lorsque c’est possible, les commandes payées mais non enregistrées
- tester tout le parcours d’achat après la correction
- recommander staging, surveillance et maintenance pour éviter de futurs problèmes
Vous pouvez demander de l’aide à n’importe quelle étape du processus.
Par exemple, D4Hub peut confirmer si une vérification est sans risque sur une boutique en ligne, prendre le relais après une tentative infructueuse, effectuer la réparation complète ou examiner le checkout après une correction provisoire.
Ouvrir un ticket de supportPour les utilisateurs autonomes : vérifications techniques d’un checkout en panne
Les vérifications suivantes s’adressent aux utilisateurs à l’aise avec le tableau de bord WordPress, les outils de développement du navigateur et WP-CLI.
La plupart se contentent de lire des informations. Avant de modifier quoi que ce soit sur une boutique en ligne, assurez-vous d’avoir un backup récent incluant la base de données, et travaillez sur une copie de staging si possible. Modifiez une seule chose à la fois et testez avec une commande après chaque changement.
Lire les logs de WooCommerce
Allez dans WooCommerce > Status > Logs (WooCommerce > État > Journaux).
Selon votre version de WooCommerce, vous verrez une liste de fichiers de log ou d’entrées de log filtrables par source. Recherchez :
- des sources portant le nom de votre passerelle de paiement
fatal-errors, qui enregistre les erreurs fatales PHP interceptées par WooCommerce- des entrées dont la date et l’heure correspondent à un checkout échoué
Certains plugins de paiement n’enregistrent des détails que lorsqu’une option de débogage est activée. Désactivez-la quand vous avez terminé.
Les logs peuvent contenir des données clients, des adresses e-mail ou des détails techniques. Ne les publiez pas et ne les collez pas sur des forums publics.
Vérifier la console du navigateur pour les erreurs JavaScript
Ouvrez la page de checkout, puis ouvrez les outils de développement du navigateur :
- dans Chrome, Edge ou Firefox, faites un clic droit sur la page, choisissez Inspect (Inspecter), puis ouvrez l’onglet Console
- dans Safari, activez d’abord les outils de développement dans les réglages avancés
Rechargez la page et essayez de passer une commande. Les erreurs affichées en rouge méritent d’être notées, surtout si elles mentionnent un dossier de plugin ou de thème dans le chemin du fichier.
L’onglet Network (Réseau) peut aussi aider : quand vous cliquez sur « Place order », une requête est envoyée au serveur. Si elle renvoie un statut d’erreur, comme 403 ou 500, le problème se situe côté serveur plutôt que dans le navigateur.
Exclure le panier, le checkout et le compte client du cache
Assurez-vous que les pages suivantes ne sont jamais mises en cache, ni par votre plugin de cache, ni par le cache de votre hébergeur, ni par votre CDN :
- la page du panier
- la page du checkout
- la page du compte client
Leurs adresses sont définies dans WooCommerce > Settings > Advanced (WooCommerce > Réglages > Avancé), dans la configuration des pages. Si votre boutique est multilingue, vérifiez aussi les versions traduites de ces pages.
Beaucoup d’outils de cache ignorent aussi le cache pour les visiteurs qui ont des cookies WooCommerce, comme woocommerce_items_in_cart ou wp_woocommerce_session_. Si vous utilisez des règles de cache personnalisées, vérifiez qu’elles respectent ces cookies.
Si vous utilisez des fonctions d’optimisation des scripts, comme la combinaison, la minification ou le report du JavaScript, essayez d’en exclure la page de checkout et testez à nouveau.
Lister les plugins actifs
Avec WP-CLI, vous pouvez voir quels plugins sont actifs et leurs versions :
wp plugin list --status=activePour vérifier quels plugins ont des mises à jour disponibles :
wp plugin list --update=availableComparez la liste avec les mises à jour récentes. Un plugin mis à jour juste avant le début du problème est un bon candidat pour un test sur le staging.
Pour tester un seul plugin, désactivez-le, passez une commande de test, puis réactivez-le :
wp plugin deactivate plugin-slug
wp plugin activate plugin-slugRemplacez plugin-slug par le nom du dossier affiché dans la liste. Faites-le sur le staging chaque fois que c’est possible.
Vérifier quel checkout utilise la page
Ouvrez la page de checkout dans l’éditeur. Si elle contient le bloc Checkout, la boutique utilise le checkout en blocs. Si elle contient le shortcode [woocommerce_checkout], ou un bloc de shortcode classique, elle utilise le checkout classique.
Lorsque vous sélectionnez le bloc Checkout, l’éditeur peut vous signaler des extensions qui ne sont pas compatibles avec lui. Si un plugin essentiel n’est pas compatible, demandez à son développeur s’il existe une version compatible avant de changer de type de checkout. Testez toujours tout le parcours d’achat après le changement.
Générer le rapport d’état du système
Allez dans WooCommerce > Status (WooCommerce > État) et utilisez le bouton Get system report (Obtenir le rapport système). Il produit un rapport texte avec vos versions de WordPress et de WooCommerce, les plugins actifs, le thème, les surcharges de templates et les réglages du serveur.
Relisez-le avant de le partager, et ne le partagez que par un canal de support privé.
D4Hub peut vous aider à lire les logs et le rapport, et à décider de la prochaine étape sans risque.
Questions fréquentes
Ai-je perdu mes commandes ou mes clients ?
En général, non. Un problème de checkout empêche de passer ou d’enregistrer de nouvelles commandes, mais les commandes existantes et les comptes clients restent normalement dans la base de données.
Si des clients ont été débités sans qu’une commande soit créée, les détails du paiement sont généralement visibles dans le tableau de bord de votre prestataire de paiement, ce qui peut aider à reconstituer les commandes manquantes.
Le checkout fonctionne pour moi mais pas pour mes clients. Pourquoi ?
En tant qu’administrateur, vous êtes peut-être connecté, vous contournez peut-être le cache ou vous utilisez un autre navigateur. Les clients peuvent se trouver dans un autre pays, utiliser un autre moyen de paiement ou voir une version de la page mise en cache.
Testez toujours dans une fenêtre privée, sans être connecté, et essayez plusieurs options de paiement et de livraison.
Dois-je passer du checkout en blocs au checkout classique ?
Cela peut résoudre des problèmes de compatibilité avec certains plugins, mais ce n’est pas une solution universelle. Cela peut aussi casser des fonctionnalités qui reposent sur le checkout en blocs.
Ne faites le changement qu’après avoir vérifié quelles extensions sont concernées, et testez ensuite tout le parcours d’achat.
Comment savoir si le problème est vraiment résolu ?
Passez au moins une commande réelle ou de test après la correction et vérifiez que le paiement, le statut de la commande, l’e-mail de confirmation et les niveaux de stock sont tous corrects. Surveillez ensuite les commandes pendant les jours suivants.
D4Hub peut-il m’aider si j’ai déjà essayé de le réparer ?
Oui. Expliquez les changements que vous avez faits et ce qui s’est passé après chacun d’eux. Cela aide à reconstituer ce qui s’est passé et à trouver la prochaine étape sans risque.