VirtueMart : l'envoi de la clef de téléchargement ne se fait pas

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • VirtueMart : l'envoi de la clef de téléchargement ne se fait pas

    Bonjour tout le monde !

    J'ai ce problème depuis des mois avec le retour Paypal IPN : avant c'était avec PhpShop, aujourd'hui c'est avec VirtueMart...
    Les paiements se font bien, le client est bien renvoyé sur le site mais, même quand les factures basculent de "En attente" à "Confirmée" (ce qui n'est pas systématique), le mail avec la clef de téléchargement n'est jamais envoyé. Je le fais donc manuellement ce qui n'est pas trop gênant tant que je n'ai pas beaucoup de commandes.
    Je précise que j'ai bien indiqué à VirtueMart que c'est le mode "Confirmé" qui doit déclencher l'envoi du mail libérant les téléchargements.
    Mais j'espère bien que les commandes vont augmenter et si quelqu'un a déjà résolu le problème, je suis preneur !

    J'ai reçu ce mail du site de débuggage www.eliteweaver.co.uk :

    « Hello,

    An Invalid PayPal Transaction requires your attention.
    -----------------------------------------------------------
    REMOTE IP ADDRESS: 216.113.188.202
    REMOTE HOST NAME:
    Order ID: 43
    User ID: 63
    Response from www.eliteweaver.co.uk: HTTP/1.1 200 OK
    Date: Fri, 17 Feb 2006 15:38:21 GMT
    Server: Apache/1.3.33 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.2 FrontPage/5.0.2.2635 mod_ssl/2.8.22 OpenSSL/0.9.6b
    X-Powered-By: PHP/4.4.2
    Expires: Tue, 01 Jan 1985 07:15:30 GMT
    Cache-Control: no-cache, must-revalidate
    Pragma: no-cache
    Connection: close
    Content-Type: text/html

    INVALID »


    Cela inspire-t-il quelqu'un ?

    Jusqu'à présent, je n'ai pas trouvé de solution miracle, y compris sur le site de Soeren (mais mon anglais est limité et ça n'aide pas !).
    Dernière édition par izirezo à 13/03/2006, 09h57
    sigpic IziRezo
    http://www.guitare-et-couleurs.com
    http://www.jeveuxdoncjepeux.com

  • #2
    VirtueMart - Envoi automatique de la clé de téléchargement

    Merci à toi, ô bazzanella-le-sauveur, de m'avoir expliqué comment régler ce satané problème de clé de téléchargement qui refusait obstinément de partir toute seule chez son destinataire !

    Voici ce qui soulagera tous ceux qui se sont arrachés des cheveux sur le sujet...

    1/ Il faut bien vérifier d'avoir couper le rewriting sur http://.............../administrator...art/notify.php
    A vrai dire, je ne me suis pas occupé de ce point là, et ça a fonctionné quand même... Mais je vous l'indique quand même, puisque bazzanella l'a dit

    2/ Sur votre compte Paypal :

    a) Dans Moncompte/Profil/Préférences de Notification instantanée de paiement, vérifiez :
    - que l'option est activée : indispensable
    - qu'elle pointe sur :
    http://.............../administrator...art/notify.php
    Cette deuxième condition est facultative et concerne la vente à partir d'un seul site.
    On doit absolument la laisser l'adresse vide quand plusieurs sites pointent sur le même compte Paypal, comme dans mon cas ; sinon, Paypal renverrait toujours vers le même site, même si ce n'est pas sur celui-là qu'a eu lieu la vente. C'est le script de VirtueMart qui se charge de donner la bonne adresse pour notify.php.
    Astuce : si vous la laissez vide après avoir activé la NIP, Paypal refusera de valider cette activation. Solution : vous mettez une URL et vous validez. Ensuite, vous revenez dans Moncompte/Profil/Préférences de Notification instantanée de paiement et vous enlevez l'URL. Là, Paypal accepte.

    b) Dans Moncompte/Profil/Préférences de réception de paiements, sélectionnez la case " Non, les accepter et les convertir en Euros".

    3/ Dans l'administration de joomla, ouvrez le composant virtuemart.

    Dans : Boutique/Methodes paiement
    Choisir Paypal (code PP)

    a) Onglet général :
    Actif coché
    Nom de la méthode : Paypal
    Code : PP
    Activer type de paiement : Paypal (or related)
    Groupe : default

    b) Onglet Configuration :
    Mode test : Non
    email paypal : votre compte email production
    Transaction acceptée : Confirmed
    Pending Payment : Pending
    Transaction refusée : Cancelled

    Toujours dans Configuration, copier/coller dans "payment extra info" ce qui suit en lieu et place de l'existant :

    <?php
    $url = "https://www.paypal.com/cgi-bin/webscr";
    $tax_total = $db->f("order_tax") + $db->f("order_shipping_tax");
    $post_variables = Array(
    "cmd" => "_xclick",
    "business" => PAYPAL_EMAIL,
    "receiver_email" => PAYPAL_EMAIL,
    "item_name" => $VM_LANG->_PHPSHOP_ORDER_PRINT_PO_NUMBER.": ". $db->f("order_id"),
    "order_id" => $db->f("order_id"),
    "invoice" => $db->f("order_number"),
    "amount" => round( $db->f("order_subtotal")+$tax_total, 2),
    "shipping" => sprintf("%.2f", $db->f("order_shipping")),
    "currency_code" => $_SESSION['vendor_currency'],
    "image_url" => $vendor_image_url,
    "return" => SECUREURL ."index.php?option=com_virtuemart&page=checkout.re sult&order_id=".$db->f("order_id"),
    "notify_url" => SECUREURL ."administrator/components/com_virtuemart/notify.php",
    "cancel_return" => SECUREURL ."index.php",
    "undefined_quantity" => "0",
    "test_ipn" => PAYPAL_DEBUG,
    "pal" => "NRUBJXESJTY24",
    "no_shipping" => "1",
    "no_note" => "1"
    );
    if( $page == "checkout.thankyou" ) {
    $query_string = "?";
    foreach( $post_variables as $name => $value ) {
    $query_string .= $name. "=" . urlencode($value) ."&";
    }
    mosRedirect( $url . $query_string );
    }
    else {

    echo '<form action="'.$url.'" method="post" target="_blank">';
    echo '<input type="image" name="submit" src="http://images.paypal.com/images/x-click-but6.gif" border="0" alt="Make payments with PayPal, it is fast, free, and secure!">';

    foreach( $post_variables as $name => $value ) {
    echo '<input type="hidden" name="'.$name.'" value="'.$value.'" />';
    }

    echo '</form>';

    }
    ?>

    4/ Ensuite pour virtuemart 1.0.2, il faut aller modifier une ligne dans le
    fichier :
    /administrator/components/com_virtuemart/classes/ps_order.php

    Ligne (qui apparaît deux fois dans le fichier) :
    $result = vmMail( $dbv->f("contact_email"), $dbv->f("vendor_name"), $db->f("user_email"), $mail_Subject, $mail_Body, '' );

    à remplacer par ceci (pour les deux exemplaires) :
    $result = mail($db->f("user_email"),$mail_Subject,$mail_Body,"From: ".$dbv->f("vendor_name")." <".$dbv->f("contact_email").">");

    Et voilà, ça fonctionne au poil

    Personnellement, j'ai testé directement en réel avec deux "vrais" comptes Paypal.

    Mais selon bazzanella, vous pouvez aussi tester ça en vous inscrivant sur https://developer.paypal.com/ : vous créez 2 comptes, un le vendeur, l'autre l'acheteur. Pour chaque compte vous créez une carte virtuelle de paiement. Vous transformez l'état de chaque compte de non vérifié à vérifié gratuitement, sans rien payer.

    Vous utilisez la carte virtuelle de paiement de l'acheteur pour effectuer vos tests sur votre site. Cela vous permet de faire les tests (vous payez en ligne avec votre carte virtuelle) sans rien débourser.

    Pour les tests, 3 modifications à faire dans l'administration de la boutique :

    1/ Boutique méthode de paiement. On selectionne la méthode que l'on a choisi au début (haut de page)

    2/ Email paypal : email du vendeur virtuel

    Mode test : On ne touche pas. On laisse à Non

    3/ Payment Extra Info : On remplace $url = "https://www.paypal.com/cgi-bin/webscr"; par $url = "https://www.sandbox.paypal.com/cgi-bin/webscr";

    On sauve, et c'est fini. On est en mode test. Les paiements sont simulés
    avec le compte virtuel acheteur.

    Je vous souhaite de nombreux téléchargements automatiques, pendant que vous ferez une sieste bien méritée

    Merci encore à bazzanella et aussi à soeren, qui a vraiment réalisé une merveille avec virtuemart.
    Dernière édition par izirezo à 03/05/2006, 08h53
    sigpic IziRezo
    http://www.guitare-et-couleurs.com
    http://www.jeveuxdoncjepeux.com

    Commentaire


    • #3
      Salut Izirezo,

      J'ai un petit souci...je pense avoir suivi tout ce que tu indiques (merci pour la pédagogie) et j'ai créée 2 comptes Paypal de test dans leur SandBox...
      malgré tout, j'obtiens dans ma messagerie de vendeur le message suivant :

      "The right order_id wasn't found during a PayPal transaction on your website.

      The Order ID received was: 857796ea479691057976d48fdf15ee08"
      mais l'acheteru reçoit bien un avis de vente...
      Quelqu'un a une idée ?

      Merci d'avance
      http://performinvest.free.fr
      le site dédié à la performance !!

      Commentaire


      • #4
        Plutôt que de relancer un topic, je voudrais remonter celui ci car j'ai le même soucis :
        Impossible de recevoir le clé après une commande

        J'ai suivi les instruction donnés sur ce topic, et sur un autre qui aborde le même sujet.
        Pour info, mon site est en joomla 1.0.15 et virtuemart 1.1.2
        J'ai bien coché les différents boutons pour le téléchargement dans l'admin de virtuemart.
        J'ai installé un répertoire à la racine de mon site pour mes fichiers, et modifier l'adresse d'accès dans l'admin
        J'ai modifié les données de paypal.
        J'ai aussi modifié la partie php de la méthode paiement paypal dans l'admin.

        Et au final lorsque j'essaie de commander (avec un produit gratuit à télécharger) la commande se fait bien, je reçois un mail récapitulatif ou c'est indiqué que la commande est confirmée, mais je ne reçois jamais la clé.

        J'ai eu beau chercher sur le forum, ainsi que sur le livre pour virtuemart, rien ne marche.

        Si quelqu'un avait une solution même si je dois activer la commande à la main.

        Un GROS Merci d'avance.

        Commentaire


        • #5
          Je ne pense pas être le seul à avoir ce soucis. Je pense que ça pourrait aider pas mal de monde.
          Je connais quelqu'un qui a le même soucis avec l'envoi de ces coupons de réductions.

          Commentaire


          • #6
            Pour ma part je reçois bien la clef de dl mais le téléchargement plante en plein milieu et ce à chque fois arf étrange

            Commentaire


            • #7
              J'ai trouvé la solution (tout seul comme un grand) c'est un soucis de chemin pour le fichier à dl.
              En fait la version française du 1.1.2 a un soucis de traduction, du coup le bouton produit téléchargeable (à vendre) n'apparait pas.

              Commentaire


              • #8
                produits téléchargeables

                Bonjour

                Comment as tu fait apparaitre produits téléchargeable qui n'apparait pas chez moi bien sur et qui devrait être dans poids dimensions ?
                Merci pour ta réponse je galère depuis 8 jours

                Cordialement

                Don roan

                Commentaire

                Annonce

                Réduire
                1 sur 2 < >

                C'est [Réglé] et on n'en parle plus ?

                A quoi ça sert ?
                La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                Comment ajouter la mention [Réglé] à votre discussion ?
                1 - Aller sur votre discussion et éditer votre premier message :


                2 - Cliquer sur la liste déroulante Préfixe.

                3 - Choisir le préfixe [Réglé].


                4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                2 sur 2 < >

                Assistance au forum - Outil de publication d'infos de votre site

                Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                UTILISER À VOS PROPRES RISQUES :
                L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                Problèmes connus :
                FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                Installation :

                1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                Archive zip : https://github.com/AFUJ/FPA/zipball/master

                2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                et remplacer www. votresite .com par votre nom de domaine


                Exemples:
                Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/
                Pour executer le script: http://www..com/fpa-fr.php

                Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/cms/
                Pour executer le script: http://www..com/cms/fpa-fr.php

                En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                Voir plus
                Voir moins
                Travaille ...
                X