Problème de paiement sur votre boutique WooCommerce
Une commande WooCommerce qui reste bloquée en statut « en attente de paiement » alors que le client a bien été débité, ou un moyen de paiement absent au moment de valider : ces blocages coûtent des ventes sans forcément générer de réclamation visible.
Comment WooCommerce valide un paiement
WooCommerce délègue la confirmation de paiement à un webhook envoyé par la passerelle (Stripe, PayPal, etc.) vers une URL du type /wc-api/nom_de_la_passerelle/. Quand la banque valide le paiement mais que la commande reste en statut « en attente », la cause est presque toujours que ce webhook n’atteint jamais le site : pare-feu applicatif de l’hébergeur, plugin de sécurité qui bloque les requêtes externes, ou certificat SSL invalide qui fait échouer l’appel côté serveur.
Le hook woocommerce_payment_complete déclenche ensuite la mise à jour du stock et l’envoi des e-mails de confirmation. Si un autre plugin s’accroche à ce même hook et provoque une erreur PHP, la chaîne s’arrête net : le paiement est passé, mais la commande reste bloquée comme si rien ne s’était produit.
Un autre cas fréquent : une mise à jour du plugin de passerelle change la version d’API utilisée sans que les clés ou le mode (test/production) aient été revérifiés, ce qui bascule silencieusement la boutique en mode test alors que les clients pensent payer réellement.
Ce qui m’amène sur ce type de dossier
- Commande restée « en attente de paiement » alors que le client a été débité
- Un moyen de paiement (CB, PayPal, virement) absent au moment de payer
- Erreur affichée après le retour de la banque suite à l’authentification 3D Secure
- Le paiement fonctionne en mode test mais pas en conditions réelles
- Panier vidé ou erreur de session juste avant la validation finale
Comment je diagnostique
-
Reproduction du parcours
Je passe une commande test dans les mêmes conditions que le client bloqué, pour observer le comportement réel plutôt que de deviner.
-
Vérification du mode et des clés
Je contrôle que la passerelle est bien en mode production avec les bonnes clés API, pas en mode test oublié après une mise à jour.
-
Contrôle des webhooks
Je vérifie que les notifications de la passerelle atteignent le site, en consultant les logs WooCommerce et le tableau de bord du prestataire de paiement.
-
Recherche de conflit de plugin
Je désactive temporairement les plugins récemment installés qui pourraient interférer avec le hook de confirmation de paiement.
Pages liées
-
Configurer un webhook de paiement
La pièce qui manque presque toujours sur une commande bloquée.
-
Lire les journaux d’erreurs WooCommerce
Les passerelles y écrivent le refus exact renvoyé par la banque.
-
TVA mal calculée
Un total faux peut bloquer la validation du paiement.
-
Panier qui se vide
Sessions et cache : l’autre cause d’un paiement qui n’aboutit pas.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.