Hier, tout marchait. Aujourd’hui, le paiement par carte renvoie une erreur, ou les étiquettes du transporteur ne se créent plus. Les commandes s’accumulent, ou ne passent plus du tout.
Ce cas arrive surtout après une mise à jour : de la boutique, du module, du serveur, ou côté banque et transporteur. Voici comment nous trouvons la cause et remettons la commande en route.
Pourquoi ça casse
- Le module a été mis à jour et n’est plus compatible avec votre version de PrestaShop ou de Magento, ou avec un autre module.
- Le serveur a changé de version de PHP, et un vieux module ne la supporte pas.
- La banque ou le transporteur a changé son interface : nouvelle adresse, nouvelle clé, nouvelle règle de sécurité. Le module n’a pas suivi.
- Une clé ou un certificat a expiré, sans que personne n’ait reçu l’alerte.
- Une surcharge du thème modifiait le module : après sa mise à jour, elle ne correspond plus.
Ce que nous regardons en premier
Les journaux d’erreurs de la boutique et du serveur. Ils disent presque toujours ce qui a échoué, et à quel moment.
Puis l’historique des changements : quelle mise à jour a eu lieu juste avant la panne. Retrouver le dernier changement règle la moitié des cas.
Enfin, un test de bout en bout en mode d’essai, avec l’environnement de test de la banque ou du transporteur, pour reproduire l’erreur sans toucher à vos vraies commandes.
Un exemple précis : ce que dit le journal
Après un passage du serveur à PHP 8, voici le type de ligne que nous trouvons dans le journal d’erreurs :
PHP Fatal error: Uncaught Error: Call to undefined function each()
in /modules/montransporteur/classes/Label.php:212
La fonction each() a été retirée de PHP 8. Le module, écrit il y a des années, s’arrête net à la ligne 212. Le diagnostic est fait : reste à mettre à jour ou corriger le module.
Remettre en route, puis réparer proprement
Si un retour arrière est possible, nous remettons d’abord la version qui marchait, pour que les commandes reprennent.
Ensuite, nous corrigeons à froid : mise à jour compatible, nouvelle configuration, ou réécriture de la surcharge. Le tout passe par un site de test avant d’arriver en production.
Ils nous ont confié leurs paiements et leurs livraisons
Chez CUBjeans, nous avons mis en place Apple Pay et PayPal express pour accélérer l’achat, ainsi que les transporteurs et les zones de livraison pour la vente à l’étranger. Voir l’étude de cas CUBjeans.
Chez Hanna Instruments, la boutique devait gérer la livraison en point relais et par Colissimo, et des taxes différentes selon la zone du client. Voir l’étude de cas Hanna Instruments.
Éviter que ça recommence
Les mises à jour de modules de paiement et de transport se testent avant d’être appliquées, jamais directement sur la boutique en ligne. Un suivi des dates d’expiration des clés évite aussi les mauvaises surprises.
Pour notre façon de construire et de suivre les boutiques, voyez notre page e-commerce B2B sur mesure.