Pourquoi ma passerelle de paiement WooCommerce ne fonctionne-t-elle plus ?

Votre passerelle de paiement WooCommerce ne fonctionne plus ? Découvrez les causes courantes, pourquoi les commandes restent en attente, quelles vérifications sont sans risque et quand demander de l’aide.

Ouvrir un ticket de support

Une passerelle de paiement est la connexion entre votre boutique WooCommerce et la société qui traite vos paiements, comme Stripe, PayPal ou votre banque. Lorsqu’elle cesse de fonctionner, les clients peuvent ne plus pouvoir payer, ou payer sans que votre boutique en soit informée.

Vous pouvez remarquer que :

  • un moyen de paiement a disparu du checkout
  • les clients voient une erreur lorsqu’ils essaient de payer
  • tous les paiements sont refusés, y compris avec des cartes valides
  • les commandes restent en « Pending payment » (Attente paiement) alors que le client affirme avoir payé
  • des paiements apparaissent dans le tableau de bord de votre prestataire mais pas dans WooCommerce
  • vous avez reçu un e-mail de votre prestataire de paiement concernant votre compte

C’est un problème à traiter rapidement, car il touche les ventes et peut laisser les clients dans le doute quant à un éventuel débit. Cependant, un problème de passerelle ne signifie généralement pas que de l’argent a été perdu. Dans la plupart des cas, les informations de paiement restent disponibles chez votre prestataire, et la cause peut être trouvée en vérifiant quelques points précis.

Ce guide explique ce qui pose généralement problème, ce que vous pouvez vérifier sans risque, comment gérer les commandes en attente et quand il vaut mieux demander une assistance technique.

Comment fonctionne une passerelle de paiement dans WooCommerce ?

La plupart des passerelles sont ajoutées à WooCommerce avec un plugin, généralement fourni par la société de paiement ou par un développeur tiers.

Un paiement type comporte plusieurs étapes :

  1. Le client choisit un moyen de paiement au checkout.
  2. WooCommerce crée la commande avec le statut « Pending payment » (Attente paiement).
  3. Le client paie, sur votre site ou sur la page du prestataire.
  4. Le prestataire renvoie une confirmation à votre site, souvent via un webhook ou une notification similaire.
  5. WooCommerce met à jour la commande, par exemple en « Processing » (En cours), et envoie l’e-mail de confirmation.

Un problème à n’importe laquelle de ces étapes peut empêcher les paiements de fonctionner. Les cas les plus déroutants sont les échecs à l’étape 4 : le client a payé, mais votre boutique ne reçoit jamais la confirmation.

Qu’est-ce qui a pu causer le problème ?

Clés API et identifiants expirés ou modifiés

Le plugin de la passerelle utilise des clés, des jetons ou d’autres identifiants pour communiquer avec votre prestataire. S’ils expirent, sont régénérés dans le tableau de bord du prestataire ou sont remplacés par un collègue, le plugin ne peut plus se connecter.

Cela arrive souvent après une rotation des clés pour des raisons de sécurité, le transfert du compte à un nouvel utilisateur ou la reconnexion du plugin.

Mode test resté activé

Beaucoup de passerelles ont un mode test ou sandbox pour essayer des paiements sans argent réel. S’il est resté activé après des tests, ou a été activé par erreur, les vraies cartes peuvent être refusées, ou des commandes peuvent sembler payées alors qu’aucun paiement réel n’a été encaissé.

Webhooks en échec

Les webhooks sont des messages que le prestataire envoie à votre site lorsqu’un événement se produit, comme un paiement réussi ou un remboursement. S’ils ne peuvent pas atteindre votre site, les paiements peuvent aboutir chez le prestataire alors que les commandes restent en attente dans WooCommerce.

Les webhooks peuvent échouer parce que l’adresse configurée chez le prestataire est erronée, que le domaine a changé, que le site était hors ligne ou qu’une règle de sécurité ou de cache bloque la requête.

Problèmes de certificat SSL

Les prestataires de paiement attendent une connexion sécurisée. Si votre certificat SSL a expiré, est mal configuré ou ne couvre pas le domaine utilisé pour les notifications, le checkout peut afficher des avertissements et le prestataire peut ne pas réussir à livrer les webhooks.

Une mise à jour du plugin de la passerelle

Une mise à jour du plugin de la passerelle, de WooCommerce ou de WordPress peut modifier le fonctionnement de la passerelle, exiger de nouveaux réglages ou introduire un conflit avec un autre plugin ou avec le type de checkout utilisé. Certaines passerelles doivent aussi être reconnectées après une mise à jour majeure.

Restrictions de devise et de pays

Un moyen de paiement peut être masqué ou refusé s’il ne prend pas en charge la devise de la boutique, le pays du client ou le montant de la commande. Changer la devise de la boutique, ajouter de nouveaux pays ou utiliser un convertisseur de devises peut faire disparaître un moyen de paiement sans aucune erreur.

Le compte est limité par le prestataire de paiement

Les prestataires peuvent restreindre un compte, par exemple pendant l’examen de documents, la vérification de l’entreprise ou le contrôle d’une activité inhabituelle. Dans ce cas, le problème ne se situe pas du tout sur votre site. Recherchez des e-mails ou des avis dans le tableau de bord du prestataire.

Autres problèmes sur le site

Parfois, la passerelle fonctionne mais le checkout lui-même est cassé, par exemple à cause d’une erreur JavaScript, d’un cache ou d’un conflit de plugins. Notre guide sur les problèmes de checkout WooCommerce traite de ces causes.

Que signifient les commandes bloquées en « Pending payment » ?

Une commande au statut « Pending payment » (Attente paiement) a été créée, mais WooCommerce n’a pas reçu de confirmation de paiement.

Cela peut signifier que :

  • le client a commencé le paiement mais ne l’a pas terminé
  • le paiement a échoué
  • le client a payé, mais la confirmation n’est pas parvenue à votre site

Le premier cas est normal : certains clients abandonnent leur achat. Une hausse soudaine des commandes en attente, ou des clients qui vous disent avoir payé, oriente vers le troisième cas.

WooCommerce peut annuler automatiquement les commandes en attente non payées après un délai défini dans les réglages de stock : des commandes en attente peuvent donc apparaître plus tard comme annulées.

Avant de marquer une commande en attente comme payée, vérifiez le paiement dans le tableau de bord de votre prestataire. N’expédiez jamais une commande sur la seule parole du client affirmant l’avoir payée.

D’abord, essayez de comprendre ce qui a changé

Pensez à ce qui s’est passé avant l’arrêt des paiements :

  • Le plugin de la passerelle, WooCommerce ou WordPress a-t-il été mis à jour ?
  • Quelqu’un a-t-il modifié les clés API ou reconnecté le compte ?
  • Le mode test a-t-il été activé à un moment donné ?
  • Le domaine a-t-il changé ou le site a-t-il été migré ?
  • Le certificat SSL a-t-il été renouvelé ou modifié ?
  • Un plugin de sécurité, un pare-feu ou un cache a-t-il été configuré différemment ?
  • Avez-vous changé la devise de la boutique ou les pays dans lesquels vous vendez ?
  • Votre prestataire de paiement vous a-t-il envoyé un e-mail ?

Vérifiez aussi quand le dernier paiement réussi a été enregistré dans WooCommerce et comparez avec le dernier paiement dans le tableau de bord de votre prestataire. S’ils diffèrent, l’étape de confirmation échoue probablement.

Que pouvez-vous vérifier sans risque ?

Consultez le tableau de bord du prestataire de paiement

Connectez-vous au tableau de bord de votre prestataire et vérifiez :

  • si les paiements récents apparaissent et avec quel statut
  • les avis concernant votre compte, sa vérification ou ses limites
  • si le compte est en mode réel ou en mode test
  • les réglages des webhooks ou des notifications, s’ils sont disponibles

La plupart des prestataires indiquent si les livraisons récentes de webhooks ont réussi ou échoué. L’emplacement exact dépend du prestataire.

Vérifiez les réglages de la passerelle dans WooCommerce

Allez dans WooCommerce > Settings > Payments (WooCommerce > Réglages > Paiements) et ouvrez les réglages de la passerelle concernée. Vérifiez que :

  • le moyen de paiement est activé
  • le mode test ou sandbox est désactivé sur la boutique en ligne
  • le compte est connecté ou les identifiants sont renseignés

Ne collez pas de nouvelles clés à moins d’être sûr qu’il s’agit des bonnes clés de production pour cette boutique.

Examinez les commandes en attente

Allez dans WooCommerce > Orders (WooCommerce > Commandes) et filtrez par « Pending payment » (Attente paiement). Regardez les dates. Si les commandes en attente ont commencé à s’accumuler à partir d’un certain jour, c’est un indice utile.

Testez un paiement

Si possible, passez une vraie commande de faible montant avec la passerelle en production et vérifiez le résultat à la fois dans WooCommerce et dans le tableau de bord du prestataire. Remboursez-la ensuite.

Contactez votre prestataire de paiement

Si vous voyez des avis sur votre compte, des paiements refusés sans raison claire ou des webhooks en échec, contactez le support de votre prestataire. Il peut voir des détails sur votre compte et sur sa partie de la connexion qui ne sont pas visibles depuis votre site.

Que faut-il éviter ?

Évitez de :

  • régénérer les clés API sans savoir où elles sont utilisées par ailleurs
  • activer le mode test sur une boutique en ligne pendant les heures d’ouverture
  • marquer des commandes en attente comme payées sans vérifier le tableau de bord du prestataire
  • supprimer et réinstaller le plugin de la passerelle sans sauvegarde
  • désactiver définitivement le pare-feu ou le plugin de sécurité
  • installer un second plugin de passerelle pour le même prestataire en plus du premier
  • partager des clés API ou des identifiants de compte par e-mail ou sur des forums publics

Changez une seule chose à la fois et testez après chaque modification.

Quand demander une assistance technique ?

Une assistance technique est recommandée lorsque :

  • les clients sont débités mais les commandes restent en attente
  • tous les paiements échouent alors que le prestataire assure que le compte est en ordre
  • les webhooks échouent et vous ne voyez pas pourquoi
  • le problème a commencé après une mise à jour ou une migration
  • vous vendez des abonnements ou des paiements récurrents
  • la boutique utilise du code personnalisé autour du checkout ou des paiements
  • vous n’êtes pas à l’aise pour modifier les réglages de la passerelle sur une boutique en ligne
  • le problème revient sans cesse

Vous n’avez pas besoin de connaître la cause avant de demander de l’aide. Une description de ce que voient les clients et de ce qu’affiche le tableau de bord de votre prestataire est un bon point de départ.

Quelles informations rassembler ?

Les informations utiles comprennent :

  • l’URL du site
  • le prestataire de paiement et le nom du plugin de la passerelle
  • la date et l’heure du dernier paiement réussi
  • des captures d’écran de toute erreur affichée aux clients
  • le nombre de commandes bloquées en « Pending payment » (Attente paiement)
  • les avis ou e-mails du prestataire de paiement
  • si les livraisons de webhooks échouent, si vous pouvez le voir
  • les mises à jour, migrations ou modifications de réglages récentes
  • le rapport d’état du système WooCommerce

N’envoyez pas de clés API, de mots de passe ou de données de carte 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 est de rétablir les paiements et de s’assurer que chaque commande payée est correctement enregistrée.

Selon le problème, D4Hub peut vous aider à :

  • vérifier la configuration et la connexion de la passerelle
  • examiner les logs de WooCommerce et de la passerelle
  • vérifier les réglages des webhooks et les échecs de livraison
  • trouver les règles de sécurité, de pare-feu ou de cache qui bloquent les notifications de paiement
  • résoudre les problèmes de SSL et de domaine qui affectent les paiements
  • identifier les conflits causés par des mises à jour de plugins, de WooCommerce ou de WordPress
  • rapprocher les commandes en attente des paiements visibles dans le tableau de bord de votre prestataire
  • vérifier les réglages de compatibilité de devise, de pays et de checkout
  • tester l’ensemble du parcours de paiement après la correction
  • recommander une supervision pour repérer plus tôt les problèmes de paiement

Vous pouvez demander de l’aide à n’importe quelle étape du processus.

Par exemple, D4Hub peut :

  • confirmer si une modification que vous voulez faire est sans risque
  • reprendre l’analyse après une tentative infructueuse
  • réaliser le diagnostic et la réparation complets
  • examiner le parcours de paiement après une correction temporaire
Ouvrir un ticket de support

Pour les utilisateurs techniques : vérifications techniques d’une passerelle de paiement

Les vérifications suivantes s’adressent aux utilisateurs à l’aise avec le tableau de bord WordPress, les logs serveur et le tableau de bord de leur prestataire de paiement.

Avant de modifier un réglage sur une boutique en ligne, faites une sauvegarde récente incluant la base de données. Changez une seule chose à la fois et testez avec un paiement après chaque modification. Ne collez jamais de clés API ou de secrets dans des logs, des tickets ou des espaces publics.

Lisez les logs de la passerelle dans WooCommerce

Allez dans WooCommerce > Status > Logs (WooCommerce > État > Journaux).

Selon votre version de WooCommerce, vous verrez une liste de fichiers de log ou une liste d’entrées filtrables par source. Cherchez la source qui porte le nom du plugin de votre passerelle, ainsi que fatal-errors.

Concentrez-vous sur les entrées enregistrées au moment d’un paiement échoué. Les indices utiles comprennent les erreurs d’authentification, les requêtes rejetées, les délais dépassés ou les messages concernant des identifiants invalides ou manquants.

Beaucoup de plugins de passerelle n’écrivent des logs détaillés que lorsqu’une option de journalisation ou de débogage est activée dans leurs réglages, sous WooCommerce > Settings > Payments (WooCommerce > Réglages > Paiements). Désactivez-la une fois terminé, car les logs peuvent contenir des données clients.

Vérifiez la livraison des webhooks chez le prestataire

Dans le tableau de bord de votre prestataire de paiement, trouvez la section des webhooks, notifications ou callbacks. Le nom varie selon le prestataire.

Vérifiez :

  • que l’adresse du webhook utilise votre domaine actuel et https://
  • qu’elle correspond à l’adresse attendue par le plugin de la passerelle, souvent affichée dans les réglages du plugin
  • si les livraisons récentes ont réussi ou échoué
  • le code de réponse renvoyé par votre site pour les livraisons échouées

Un 403 signifie souvent qu’un pare-feu ou une règle de sécurité a bloqué la requête. Un 404 suggère que l’adresse est erronée, par exemple après un changement de domaine. Un code 5xx indique une erreur sur votre serveur. Un délai dépassé peut signifier que le site est lent ou injoignable.

Beaucoup de prestataires permettent de renvoyer une notification échouée après avoir corrigé la cause.

Assurez-vous que les points de terminaison de paiement ne sont ni bloqués ni mis en cache

Les passerelles reçoivent les notifications à des adresses précises de votre site. Certaines utilisent le point de terminaison de l’API WooCommerce, qui ressemble à /?wc-api= suivi d’un nom, d’autres utilisent des adresses sous /wp-json/. La documentation ou les réglages du plugin indiquent généralement l’adresse exacte.

Vérifiez que ces adresses ne sont pas :

  • bloquées par un plugin de sécurité, un pare-feu de l’hébergement ou une règle de pare-feu du CDN
  • soumises à une protection anti-bot ou à un écran CAPTCHA
  • mises en cache par un plugin de cache, le cache de l’hébergement ou un CDN
  • redirigées, par exemple de http vers https ou entre www et non-www, d’une manière qui fait perdre la requête

Les logs du pare-feu et du CDN montrent souvent des requêtes bloquées provenant des serveurs du prestataire. Si vous ajoutez une exception, rendez-la aussi restreinte que possible, pour l’adresse précise uniquement, plutôt que de désactiver la protection pour tout le site.

Vérifiez le certificat SSL

Depuis un terminal, en remplaçant example.com par votre domaine :

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

La ligne notAfter indique la date d’expiration. Ouvrez aussi le site dans un navigateur et vérifiez qu’aucun avertissement de certificat ne s’affiche sur la page de checkout.

Vérifiez la version du plugin de la passerelle

Avec WP-CLI :

wp plugin list --status=active

Notez la version du plugin de la passerelle et celle de WooCommerce. Si le problème a commencé après une mise à jour, consultez le journal des modifications du plugin à la recherche de changements qui exigent de nouveaux réglages ou une reconnexion.

Examinez les commandes en attente

Allez dans WooCommerce > Orders (WooCommerce > Commandes) et filtrez par « Pending payment » (Attente paiement). Pour chaque commande en attente récente, recherchez le numéro de commande ou l’e-mail du client dans le tableau de bord de votre prestataire.

Si le paiement a abouti chez le prestataire, la commande doit être rapprochée. Certaines passerelles mettent à jour la commande automatiquement lorsqu’un webhook échoué est renvoyé. Sinon, ne mettez à jour la commande manuellement qu’après avoir confirmé le paiement, et ajoutez une note de commande expliquant ce que vous avez vérifié.

Le délai après lequel WooCommerce annule les commandes non payées est défini par l’option « Hold stock (minutes) » (Retenir le stock (minutes)) dans WooCommerce > Settings > Products > Inventory (WooCommerce > Réglages > Produits > Inventaire). Gardez-le à l’esprit en examinant des commandes qui semblent annulées.

D4Hub peut vous aider à lire les logs et les résultats des webhooks, et à décider de la prochaine étape sans risque.

Questions fréquentes

Mes clients ont-ils été débités deux fois ?

Cela peut arriver si un client réessaie après un échec apparent. Vérifiez dans le tableau de bord de votre prestataire s’il existe des paiements en double du même client et remboursez les doublons depuis cet endroit. Contacter rapidement les clients concernés aide à éviter toute confusion.

Pourquoi un moyen de paiement a-t-il disparu du checkout ?

Il a peut-être été désactivé, il ne prend peut-être pas en charge la devise, le pays ou le montant de commande actuels, ou le plugin n’est peut-être pas compatible avec votre type de checkout. Vérifiez d’abord les réglages de la passerelle, puis les logs.

Le prestataire dit que tout va bien de son côté. Et maintenant ?

Le problème se situe alors probablement sur votre site ou entre les deux : identifiants, webhooks, SSL, une règle de sécurité ou un conflit de plugins. Les logs WooCommerce et les résultats de livraison des webhooks sont les meilleurs points de départ.

Puis-je passer à une autre passerelle de paiement pour régler rapidement le problème ?

Cela peut fonctionner comme mesure temporaire, mais une nouvelle passerelle nécessite son propre compte, sa propre vérification et ses propres tests. Cela ne règle pas non plus le rapprochement des commandes déjà bloquées en attente. Considérez-la comme une option à court terme, pas comme une correction.

Est-il sûr de marquer des commandes en attente comme payées ?

Uniquement après avoir confirmé le paiement dans le tableau de bord de votre prestataire. Ajoutez à la commande une note expliquant comment vous l’avez vérifié.

D4Hub peut-il m’aider si j’ai déjà essayé de résoudre le problème ?

Oui. Expliquez ce que vous avez modifié et ce qui s’est passé après chaque modification. Cela aide à reconstituer les événements et à trouver la prochaine étape sans risque.

Ressources associées

Services et technologies associés