En visitant ce site, vous acceptez l'utilisation de cookies afin de vous proposer les meilleurs services possibles.

    OVH environnement d'exécution stable - Mail erreur Paypal - statut "en attente"

    Plus d'informations
    il y a 10 ans 4 mois - il y a 10 ans 4 mois #1 par winandweb
    Bonjour,

    Joomla! 3.5.1
    VirtueMart 3.0.16

    Le problème :
    1/ Je reçois un mail d'OVH :

    PayPal et TLS 1.2
    Dès juin 2016, PayPal mettra à jour ces services afin d'exiger l'utilisation du protocole TLS 1.2.
    Il est donc important que vous mettiez à jour vos environnements d'exécution afin d'éviter toute intéruption de services.

    2/ Je passe donc mon environnement d'exécution OVH sur "Stable". Voir:
    www.ovh.com/fr/g2149.modifier_lenvironne..._mon_hebergement_web
    3/ Les commandes avec paiement paypal se passent toujours bien (paiements reçus) mais :
    a) Le statut commande reste "En attente" alors qu'avant il passait sur "Confirmée".
    b) Je reçois un email : "Une erreur avec la méthode de paiement paypal sur votre boutique xxx. Les détails sont enregistrés dans le fichier paypal.1.log.php
    c) Fichier paypal.1.log.php : "2016-05-26 17:15:16 ERROR validateIpnContent: Une erreur est survenue pendant la transaction : , 0"

    Que faut-il faire ?

    Merci d'avance
    Dernière édition: il y a 10 ans 4 mois par winandweb.

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #2 par alatak
    Bonjour

    C'est un problème OVH.
    Est ce que tu es en mode sandbox sur PayPal?
    J'ai eu le probleme en sandbox + ovh, qui disparaît lorsque PaypPal est en mode production.

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois - il y a 10 ans 4 mois #3 par winandweb
    Bonjour,

    Je suis en mode production.

    Si je localise bien, l'email d'erreur Paypal est émis par /plugins/vmpayment/paypal/paypal/helpers/paypal.php :
    $header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
    		$header .= "User-Agent: PHP/" . phpversion() . "\r\n";
    		$header .= "Referer: " . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . @$_SERVER['QUERY_STRING'] . "\r\n";
    		$header .= "Server: " . $_SERVER['SERVER_SOFTWARE'] . "\r\n";
    		$header .= "Host: " . $paypal_url_header . ":" . $port . "\r\n";
    		$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    		$header .= "Content-Length: " . strlen($post_msg) . "\r\n";
    		//$header .= "Accept: */*\r\n\r\n";
    		$header .= "Connection: close\r\n\r\n";
    
    		$fps = fsockopen($paypal_url, $port, $errno, $errstr, 30);
    		$valid_ipn = false;
    		if (!$fps) {
    			$this->debugLog(vmText::sprintf('VMPAYMENT_PAYPAL_ERROR_POSTING_IPN', $errstr, $errno), 'validateIpnContent', 'error', false);
    		} else {

    Email émis si la socket ne fonctionne pas. Je soupçonne un problème de protocole :
    1/ Quand je change l'environnement d'exécution OVH de "legacy" à "stable" (suivant leurs conseils pour Paypal), ce qui change est : Openssl 0.9.8o -> 1.0.1k (TLS1.2 compatible)
    2/ Voir site paypal sur la mise à niveau TLS 1.2 et HTTP/1.1 :
    www.paypal-knowledge.com/infocenter/inde...914&viewlocale=fr_FR

    Qu'en penses-tu ?

    Cordialement
    Dernière édition: il y a 10 ans 4 mois par winandweb.

    Connexion ou Créer un compte pour participer à la conversation.

    • studio42
    • Portrait de studio42
    • Hors Ligne
    • Modérateur
    • Modérateur
    • Dev Joomla & Virtuemart
    Plus d'informations
    il y a 10 ans 4 mois #4 par studio42
    Essayez de forcer l'adresse IPN si vous n'avez pas à résoudre le problème.
    Pour votre IPN voir www.paypal.com/cgi-bin/customerprofilewe...=_profile-ipn-notify

    www.st42.fr Truc et astuce Joomla et virtuemart
    shop.st42.fr téléchargement Joomla et extension pour virtuemart
    Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #5 par alatak
    Bonjour
    Personnellement je n'ai eu que le pb en mode sandbox.
    Sinon, oui tu as raison, le pb vient de la version OpenSLL, et la c'est un pb de ton hebergement.

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois - il y a 10 ans 4 mois #6 par winandweb
    Bonjour,

    J'ai fait des recherches/essais, il ressort que le problème disparaît :
    - si je reviens en Openssl 0.9.8o mais ce n'est pas une solution car Paypal ne l'acceptera bientôt plus.
    Ou
    - si je reviens en PHP 5.5 mais ce n'est pas une solution car il va disparaître. En PHP 5.6 fsockopen fait de nouvelles vérification SSL qui ne passent plus.
    Ou
    - en PHP 5.6 et Openssl 1.0.1k en remplaçant le fsockopen par :
    $context = stream_context_create();
    $result = stream_context_set_option($context, 'ssl', 'verify_peer', false);
    $fps = stream_socket_client('ssl://www.paypal.com:443', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
    -> Pas une solution non plus, c'est faire sauter la sécurité.
    Ou
    - en remplaçant le fsockopen par du curl -> ce que préconise maintenant Paypal github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php

    A terme je pense qu'il faudra plutôt réécrire la gestion IPN de virtuemart en curl, qu'en pensez-vous ?

    Cordialement
    Dernière édition: il y a 10 ans 4 mois par winandweb.

    Connexion ou Créer un compte pour participer à la conversation.

    • studio42
    • Portrait de studio42
    • Hors Ligne
    • Modérateur
    • Modérateur
    • Dev Joomla & Virtuemart
    Plus d'informations
    il y a 10 ans 4 mois #7 par studio42
    J'ai un peu regardé le code. Je pense qu'il n'y a que une fonction à modifier dans la dernière version de Virtuemart pour utiliser curl.
    Dans le plugin paypal PaypalHelperPaypal::validateIpnContent.
    Peut être que Valérie veut s'y coller ?

    www.st42.fr Truc et astuce Joomla et virtuemart
    shop.st42.fr téléchargement Joomla et extension pour virtuemart
    Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #8 par alatak
    Bonjour


    Pour le changement de fsockpen avec curl, tu as testé ? ca marche? Je n'ai plus de site en Openssl 0.9.8o pour pouvoir tester.

    Connexion ou Créer un compte pour participer à la conversation.

    • studio42
    • Portrait de studio42
    • Hors Ligne
    • Modérateur
    • Modérateur
    • Dev Joomla & Virtuemart
    Plus d'informations
    il y a 10 ans 4 mois #9 par studio42
    @Valerie :
    La source github plus haut est apparemment le code officiel de Paypal et en lisant le code, il semble faire la même chose mais en utilisant un autre protocole.Et en général curl est conseillé par rapport à fsockopen.
    Après vu que max me fais la gueule, je vais pas me prendre la tête.
    Je suis entrain de faire un composant avec des associés qui va utilisé paypal, si tu attends 2/3 mois, je te donne la réponse ;)
    Patrick

    www.st42.fr Truc et astuce Joomla et virtuemart
    shop.st42.fr téléchargement Joomla et extension pour virtuemart
    Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

    Connexion ou Créer un compte pour participer à la conversation.