WooCommerce / Checkout
Problèmes de checkout WooCommerce
Pour le client, tous les échecs du checkout se ressemblent (un indicateur de chargement, une erreur, rien), mais les causes vont d’une erreur JavaScript à une erreur fatale PHP ou à une réponse de la passerelle de paiement. Le plus rapide pour trouver la cause est d’identifier la couche qui échoue en premier.
Réponse courte
Ouvrez l’onglet Réseau du navigateur et passez une commande de test. Si aucune requête de checkout n’est envoyée, le problème est côté JavaScript. Si la requête (?wc-ajax=checkout, ou la Store API pour le bloc Checkout) renvoie une erreur, lisez les journaux PHP et WooCommerce. Si la commande est créée mais le paiement échoue, le problème se situe dans le passage à la passerelle.
Ressources techniques
Guides sur le checkout
Problèmes précis
Échecs de checkout fréquents
Le checkout ne fonctionne plus du tout
Aucun client ne peut finaliser une commande.
Le checkout tourne sans fin
La requête a échoué, expiré ou renvoyé une réponse illisible pour la page.
Échec au clic sur Commander
Une erreur PHP, une validation en échec ou un refus de la passerelle à la création de la commande.
Ça marche connecté, pas en invité
Pages de checkout en cache, nonces expirés, réglages des comptes et des invités.
Cassé après une mise à jour d’extension
Un hook modifié, une dépendance JavaScript ou un modèle supprimé.
Checkout lent
Du temps perdu dans PHP, la base de données ou des appels d’API externes.
Trouvez d’abord la couche en échec
| Ce que vous voyez dans l’onglet Réseau | Ce que cela signifie | Où regarder ensuite |
|---|---|---|
| Aucune requête au clic sur Commander | Le navigateur ne l’a pas envoyée | Erreurs console, scripts bloqués ou différés |
| La requête renvoie 500 | PHP a échoué côté serveur | Journal fatal-errors, journal d’erreurs PHP |
| La requête renvoie 403 | Quelque chose l’a bloquée | Extension de sécurité, règles WAF ou CDN, restrictions de l’API REST |
| 200 avec un message d’erreur | WooCommerce a refusé la commande | Validation, champs, codes promo, réponse de la passerelle |
| 200, commande créée, paiement en échec | Passage à la passerelle | Journal de la passerelle, événements du prestataire |
Checkout classique et bloc Checkout
Le checkout classique (shortcode [woocommerce_checkout]) envoie la commande à ?wc-ajax=checkout. Le bloc Checkout, par défaut sur les nouvelles boutiques, crée les commandes via la Store API sous /wp-json/wc/store/v1/. Ils échouent à des endroits différents : une règle qui bloque l’API REST ne casse que le bloc, et une extension conçue uniquement pour le checkout classique peut ne rien faire, sans prévenir, avec le bloc.
À éviter
- Ne désactivez pas les extensions une à une sur la boutique en production pendant les heures d’activité : cela peut casser d’autres parcours et faire perdre des commandes en cours.
- Ne mettez pas en cache les pages checkout, panier ou compte, et ne minifiez ni ne différez les scripts du checkout sans tester une commande complète.
- Ne modifiez pas les fichiers du cœur de WooCommerce et ne copiez pas ses modèles pour « réparer » le checkout. La correction disparaîtra à la prochaine mise à jour.
Questions fréquentes
Pourquoi le checkout WooCommerce tourne-t-il sans fin ?
Généralement parce que la requête du checkout a échoué ou renvoyé une réponse que la page n’a pas pu lire : erreur fatale PHP, avertissement PHP imprimé dans la réponse, timeout ou requête bloquée par une règle de sécurité. La réponse de la requête dans l’onglet Réseau indique laquelle.
Pourquoi le checkout fonctionne-t-il quand je suis connecté, mais pas pour les invités ?
Souvent parce que la page de checkout ou de panier est servie depuis un cache de pages aux visiteurs sans session, avec un nonce de sécurité expiré. Les pages checkout, panier et compte doivent être exclues de tout cache.
La mise à jour d’une extension peut-elle casser le checkout ?
Oui. Une mise à jour peut modifier un hook, la priorité d’un filtre ou une dépendance JavaScript sur laquelle s’appuie une autre extension, le thème ou du code sur mesure.
$ décrivez le problème
Un problème avec WooCommerce ?Demandez un diagnostic.
Dites-nous ce qui ne fonctionne pas, ce qui a changé récemment et l'impact sur votre activité. Nous examinons chaque demande et vous recommandons la marche à suivre.
N'envoyez jamais de mots de passe, de clés API ni de données de carte via le formulaire.