Aller au contenu
WooRescueHQ

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.

Problèmes précis

Échecs de checkout fréquents

Le checkout ne fonctionne plus du tout

Aucun client ne peut finaliser une commande.

/fr/woocommerce/checkout/ne-fonctionne-pas/

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é.

/fr/woocommerce/erreurs/conflit-extensions/

Checkout lent

Du temps perdu dans PHP, la base de données ou des appels d’API externes.

/fr/woocommerce/performance/checkout-lent/

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.

Demander un diagnostic Voir les services et les tarifs

N'envoyez jamais de mots de passe, de clés API ni de données de carte via le formulaire.

Diagnostic à partir de299 €

Demander un diagnostic