Introduction

Cette semaine, le message "Erreur inattendue de communication avec Stripe" s'est soudainement affiché sur le site web d'un de mes clients. Si ce problème persiste, faites-le nous savoir à support@strip.com (Erreur réseau errno 2: poignée confortable déjà utilisée dans la poignée multiple). Il s'agissait d'une erreur inhabituelle car le code d'erreur était différent de certains codes d'erreur que nous utilisons pour voir. De plus, nous n'avons pas pu déterminer rapidement la source de l'erreur. Après plus de deux jours de recherche, nous avons pu trouver un correctif que nous voulons partager avec vous. Au cas où vous auriez soudainement une telle erreur sur votre site Magento Checkout, ce petit article peut vous aider à corriger le problème.

En savoir plus sur les problèmes et la technologie à l'origine de l'erreur réseau errno 2

D'après nos conclusions, nous avons compris que le problème n'est pas explicitement lié à Magento 2, mais à la version CURL. Par exemple, de nombreuses personnes ont rapporté sur Github et StackOverflow comment leur Stripe a soudainement cessé de fonctionner. Ou bien leur système de messagerie électronique ne pouvait pas fonctionner et affichait l'erreur Network [errno 2]. Une discussion sur Github montre que le problème est toujours en cours d'investigation. Si vous utilisez une technologie différente de celle de Magento, vous pouvez consulter ce lien pour comprendre comment résoudre le problème sur votre site. Network error [errno 2]

Comment corriger l'erreur réseau errno 2 sur Magento 2 pour Stripe ?

Si vous rencontrez une erreur de réseau [errno 2] sur votre site web Magento 2, qui empêche votre bande ou votre méthode de paiement de fonctionner, vous pouvez procéder comme suit.
  • Accédez à votre dossier d'installation de Magento 2
  • Vérifiez le fichier "vendor/stripe/stripe-php/lib/HttpClient/CurlClient.php".
  • Et modifiez ensuite :
protected $enablePersistentConnections = true;
pour
protected $enablePersistentConnections = false;
  • Enfin, sauvegardez et essayez de passer à la caisse.
Si vous suivez les étapes ci-dessus, vous constaterez que votre commande fonctionnera correctement.

Autres solutions pour résoudre le problème

D'après la discussion sur Internet, certaines personnes ont pu résoudre le problème en utilisant l'une ou l'autre de ces méthodes :
  • Mise à jour de la version de leur serveur,
  • Rétrograder leur version de curl ou
  • Mise à jour de leur site web.

Conclusion et remarque finale

Il est possible que le problème se produise sur d'autres modules de votre site web. Mais d'après ce que j'ai compris, en réglant la connexion persistante/HTTP keep-alive sur faux, vous aurez une correction temporaire. Comme l'a mentionné un membre de l'équipe de support Stripe, l'approche suggérée ci-dessus est une correction temporaire. Des enquêtes internes sont encore en cours. J'énonce ici un commentaire de Github. "Notez cependant que ce n'est qu'une solution de contournement, pas un correctif approprié, et qu'il est sous-optimal car il désactive les connexions persistantes (ce qui signifie que chaque requête à l'API de Stripe créera une nouvelle connexion, entraînant une latence supplémentaire)". Merci pour votre lecture. J'espère que cet article vous aidera à gagner quelques heures. Si vous avez besoin d'aide pour l'un de vos projets Magento, vous pouvez nous contacter.