Fiche incident
Paiement bloqué sur PrestaShop - Causes & solutions
Quand le paiement bloque sur PrestaShop, le tunnel d'achat se ferme exactement là où le client allait payer : chaque minute d'indisponibilité est du chiffre d'affaires qui part chez un concurrent, et pire encore, certains clients sont débités sans que la commande apparaisse en back-office. C'est l'incident le plus coûteux d'une boutique en production.
Avant de toucher quoi que ce soit, il faut comprendre une chose : un paiement bloqué peut venir de trois niveaux totalement différents, et le réflexe de tout rembourser ou de couper la passerelle est presque toujours une erreur. Niveau 1 : la configuration de la boutique (le moyen de paiement n'est tout simplement pas proposé). Niveau 2 : la passerelle ou la banque (la transaction part mais elle est refusée). Niveau 3 : le serveur (erreur technique, webhook qui ne répond pas, mémoire PHP). 90 % des cas se résolvent dès qu'on a identifié le bon niveau.
Ce guide te fait remonter du symptôme exact (le message affiché au client) jusqu'à la cause et au correctif, avec les chemins back-office FR, les fichiers, les commandes shell et les requêtes SQL à lancer. Pas de généralités : du diagnostic concret pour une boutique en panne.
Contexte technique
Sur PrestaShop, les incidents de paiement se concentrent sur trois points : la passerelle (module PayPal, Stripe, Payzen, Mercanet, Systempay) souvent incompatible avec la version en production, les webhooks de confirmation qui échouent silencieusement côté serveur, et le One Page Checkout des thèmes custom qui interfère avec le flux de validation. Une erreur récurrente : la commande est créée en base avec statut « En attente » alors que le client a été débité, ce qui crée un décalage entre passerelle et commandes visibles en back-office.
Cet incident peut impacter votre chiffre d’affaires.
Si ce problème touche le checkout, la disponibilité ou la performance, la perte de revenu peut être immédiate.
Note expert BugRescue
Priorité absolue : ne jamais rembourser aveuglément. Vérifier d'abord l'état réel en base (table ps_orders + ps_order_payment) et les logs passerelle. Une double facturation masquée vaut toujours mieux qu'un remboursement non justifié.
Prise en charge par des experts avec 15+ ans d’expérience e-commerce.
Équipe senior full-stack PrestaShop, WooCommerce, Magento, Shopify et WordPress. Intervention rapide sur incidents critiques et stabilisation durable — France, Maroc, Belgique et Suisse.