Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

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

  • Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

    Bonjour,

    J'essais d'installer SIPS d'atos sur mon site avec virtuemart et je dois dire que je suis bien coincée, et ce pour plusieurs raisons.
    J'ai correctement installé SIPS d'alatak et j'ai aussi installé le kit que j'ai reçu de la banque. Mais le kit d'alatak ne me correspond pas vraiment car j'ai un kit d'abonnement. J'ai donc mis les mains dans le code afin de l'adapter. et la le cauchemar commence.

    *J'ai changé les champs à mettre dans la base de données, j'ai également changé le paramètre à envoyer .....
    Jusque là ça va. Dans l'url de la réponse automatique, pour sips abonnement c'est

    $parm .=" sub_automatic_response_url=" . JURI::base() . "index.php?option=com_virtuemart&view=pluginrespon se&task=pluginnotification&tmpl=component&pm=" . $order['details']['BT']->virtuemart_paymentmethod_id;


    Le gros souci c'est ça. La réponse automatique ne marche pas, j'ai une page blanche. De plus les champs ne s'enregistrent pas dans la base de données.

    J'ai trouvé une parade à ça néanmoins comme c'est tordu j'ai vraiment envie de faire "du code propre".

    Dans le kit d'alatak, dans la fonction qui récupère les données, j'ai ajouté du code afin de qu'en plus, les données soient stockés dans la base avec cette methode: même si le client ne clique pas sur le bouton "retour à la boutique", les données sont tout de même stockés dans la base.


    Ma question est : y'a t'il quelquechose à activer pour le "pluginnotification" fonctionne?

    et y'a t'il quelqu'un qui a mis en place l'abonnement d'atos ?

    Merci d'avance pour votre aide.

  • #2
    Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

    j'ai virtuemart 2.0.6 et Joomla 2.5.5 et je mon hébergeur c'est OVH

    Commentaire


    • #3
      Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

      regarde le tutoriel que j'ai rédigé sur atos: http://www.blog.manit4c.com/2009/12/...emiere-partie/

      et la faq aussi: http://www.blog.manit4c.com/2011/04/...ent-atos-sips/

      pour ton problème, je te conseil déjà de faire marcher la réponse manuelle. Si tu y arrive et que malgré tout tu n'arrive pas a faire marcher la réponse auto, la petite astuce est d'utiliser le fichier de la réponse auto en manuel, tu pourra checker les erreurs. une fois debugguer tu le repasse en auto.

      fait également un echo de $parm pour vérifier que tout est correcte et qu'il n'y a pas d'espace dedans.
      Dernière édition par maniT4c à 29/06/2012, 08h07
      Je suis webmaster indépendant et j'ai un petit blog perso qui traite de joomla et de programmation en général. Vous pouvez suivre mon actu sur mon twitter.

      Commentaire


      • #4
        Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

        Envoyé par maniT4c Voir le message
        regarde le tutoriel que j'ai rédigé sur atos: http://www.blog.manit4c.com/2009/12/...emiere-partie/

        et la faq aussi: http://www.blog.manit4c.com/2011/04/...ent-atos-sips/

        pour ton problème, je te conseil déjà de faire marcher la réponse manuelle. Si tu y arrive et que malgré tout tu n'arrive pas a faire marcher la réponse auto, la petite astuce est d'utiliser le fichier de la réponse auto en manuel, tu pourra checker les erreurs. une fois debugguer tu le repasse en auto.

        fait également un echo de $parm pour vérifier que tout est correcte et qu'il n'y a pas d'espace dedans.

        Salut!
        J'ai déjà fais tout cela et j'ai regardé ton tutoriel(bien expliqué d'ailleurs ).

        La réponse manuelle marche très bien. En fait, dans la nouvelle version de virtuemart, il n'y a pas de fichiers differents selon le type de réponse, je m'explique:

        Dans l'ancienne version (1.*), il y a avait des fichiers tels que autoreponse.php (ou quellequechose comme ça). Dans la nouvelle, se sont des fonctions. et la fonction qui s'occupe de la réponse automatique est celle ci:


        /*
        * plgVmOnPaymentOfflineNotification() - This event is fired after Offline Payment. It can be used to validate the payment data as entered by the user.
        * Return:
        * Plugins that were not selected must return null, otherwise True of False must be returned indicating Success or Failure.
        * Parameters:
        * None
        * @author Valerie Isaksen
        */

        function plgVmOnPaymentNotification() {
        if (!class_exists('VirtueMartModelOrders'))
        require( JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'orders.php' );
        $virtuemart_paymentmethod_id = JRequest::getInt('pm', 0);

        $this->_debug=true;
        if (!($method = $this->getVmPluginMethod($virtuemart_paymentmethod_id) )) {
        return null; // Another method was selected, do nothing
        }
        //TEST!
        foreach ($method as $key=>$value) {
        echo "$key============>$value<br/>";
        }
        //FIN TEST
        if (!$this->selectedThisElement($method->payment_element)) {
        return false;
        }

        if (!($sips_response = $this->_getPaymentSipsResponse($method))) {
        return null;
        }
        //Test
        print_r($sips_response);
        //
        if ($sips_response['code'] != 0) {
        $this->logInfo('plgVmOnPaymentNotification code' . $sips_response['code'], 'message');
        return false;
        }
        $vendorId = 1;
        $this->_debug = $method->debug;
        $this->logInfo('plgVmOnPaymentNotification order_number' . $sips_response['order_id'], 'message');

        // get all know columns of the table
        $db = JFactory::getDBO();
        $query = 'SHOW COLUMNS FROM `' . $this->_tablename . '` ';
        $db->setQuery($query);
        $columns = $db->loadResultArray(0);

        $virtuemart_order_id = VirtueMartModelOrders::getOrderIdByOrderNumber($si ps_response['order_id']);

        if (!class_exists('VirtueMartModelOrders'))
        require( JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'orders.php' );

        foreach ($sips_response as $key => $value) {
        $post_msg .= $key . "=" . $value . "<br />";
        $table_key = 'sips_payment_' . $key;
        if (in_array($table_key, $columns)) {
        $response_fields[$table_key] = $value;
        $this->logInfo('Notification, sentOrderConfirmedEmail $sips_response' . $table_key . ' ' . $value, 'message');
        }
        }
        $response_fields['payment_name'] = $this->renderPluginName($method);
        $response_fields['sipsresponse_raw'] = JRequest::getVar('DATA', '', 'post');
        $return_context = $sips_response['return_context'];
        $response_fields['order_number'] = $order_number;
        $response_fields['virtuemart_order_id'] = $virtuemart_order_id;

        $this->storePSPluginInternalData($response_fields, 'virtuemart_order_id', true);
        $order = array();
        $modelOrder = VmModel::getModel('orders');
        if ($sips_response['response_code'] == 0) {
        $new_status = $method->payment_confirmed_order_state;
        $order['order_status'] = $new_status;
        $order['customer_notified'] = 1;
        $order['comments'] = JText::sprintf('VMPAYMENT_ALATAK_SIPS_PAYMENT_STAT US_CONFIRMED', $order_number);
        $modelOrder->updateStatusForOneOrder($virtuemart_order_id, $order, true);
        $this->emptyCart($return_context);
        } else {
        $this->handlePaymentUserCancel($virtuemart_order_id);
        }


        $this->logInfo('Notification, sentOrderConfirmedEmail on=' . $order_number . ' new status' . $new_status . ' rrc=' . $return_context, 'message');



        die();
        }


        le code qui est entre "//TEST" et "//FIN TEST" c'est moi qui les a ajouté pour tester.

        lorsque j'appelle cette fonction en réponse manuelle elle marche. Mais en réponse automatique j'ai rien. c'est pour ça que je me suis demandé est ce que dans cette nouvelle version il ne faut pas "l'activer" (d'après ce que j'ai compris du commentaire d'alatak à ce sujet) .

        honnetement j'ai tout essayé et je n'ai plus d'idées

        Commentaire


        • #5
          Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

          Ah lala... virtuemart je trouve le code vraiment ... bof. Ca fait longtemps que j'ai pas bosser avec et je sais pourquoi
          Bon il faut que tu arrive à isoler le problème.
          Tu devrais te créer un fichier de log que tu nomme comme tu veux "debug.txt" par exemple.
          Et à chaque étape de ton code tu écrit "etape1, etape2, etc.." dans ton fichier.
          Déjà dans un premier temps lance la fonction avec l'appel manuel et tu devrais avoir dans ton fichier log toute les étapes.
          Ensuite tu lance la fonction en auto et tu vois à qu'elle étape sa plante.
          Je te conseille d'écrire une première étape en tout premier dans ton fonction pour déjà voir si en auto ta fonction est belle et bien appelée.

          Dans ton fichier debug.txt tu peux aussi faire un print_r du POST qui est envoyé
          Je suis webmaster indépendant et j'ai un petit blog perso qui traite de joomla et de programmation en général. Vous pouvez suivre mon actu sur mon twitter.

          Commentaire


          • #6
            Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

            Envoyé par maniT4c Voir le message
            Ah lala... virtuemart je trouve le code vraiment ... bof. Ca fait longtemps que j'ai pas bosser avec et je sais pourquoi
            Bon il faut que tu arrive à isoler le problème.
            Tu devrais te créer un fichier de log que tu nomme comme tu veux "debug.txt" par exemple.
            Et à chaque étape de ton code tu écrit "etape1, etape2, etc.." dans ton fichier.
            Déjà dans un premier temps lance la fonction avec l'appel manuel et tu devrais avoir dans ton fichier log toute les étapes.
            Ensuite tu lance la fonction en auto et tu vois à qu'elle étape sa plante.
            Je te conseille d'écrire une première étape en tout premier dans ton fonction pour déjà voir si en auto ta fonction est belle et bien appelée.

            Dans ton fichier debug.txt tu peux aussi faire un print_r du POST qui est envoyé
            J'ai fais ça. J'ai lancé la fonction avec l'appel manuel et j'ai mis les infos dans un fichier log. La fonction de déroule normalement et tout est exécuté. Donc je ne pense pas que le probleme vient du script de la fonction.

            Soit il vient de chez atos, soit le plugin ne s'active pas. J'avoue que je suis perdu.

            Commentaire


            • #7
              Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

              Oui mais si tu lance en auto est ce que tu retrouve tout ce que tu attends dans ton fichier log ?
              Je suis webmaster indépendant et j'ai un petit blog perso qui traite de joomla et de programmation en général. Vous pouvez suivre mon actu sur mon twitter.

              Commentaire


              • #8
                Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

                Envoyé par maniT4c Voir le message
                Oui mais si tu lance en auto est ce que tu retrouve tout ce que tu attends dans ton fichier log ?

                En testant avec l'url du retour manuelle, je retrouve tout. j'ai fais un affichage de toute les données reçu et je reçois tout.
                Parcoontre l'url de la réponse automatique n'est même pas appelée.

                Voici comment j'ai renseignée les url dans les paramètres a envoyer dans la requête:

                $parm .=" sub_normal_return_url=" . JURI::base() . "index.php?option=com_virtuemart&view=pluginrespon se&task=pluginresponsereceived&pm=" . $order['details']['BT']->virtuemart_paymentmethod_id . '&on=' . $order['details']['BT']->order_number;


                $parm .=" sub_cancel_return_url=" . JURI::base() . "index.php?option=com_virtuemart&view=pluginrespon se&task=pluginUserPaymentCancel&pm=" . $order['details']['BT']->virtuemart_paymentmethod_id . '&on=' . $order['details']['BT']->order_number;

                $parm .=" sub_automatic_response_url=" . JURI::base() . "index.php?option=com_virtuemart&view=pluginrespon se&task=pluginnotification&tmpl=component&pm=" . $order['details']['BT']->virtuemart_paymentmethod_id;


                sub_automatic_response_url n'est jamais appelée c'est sub_normal_return_url qui appelée.

                Commentaire


                • #9
                  Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

                  Après de nombreuses tentatives, la réponse automatique a fini par marcher
                  Merci maniT4c pour ton ide et tes conseils

                  Commentaire


                  • #10
                    Re : Problème installation SIPS d'atos: réponse automatique ne fonctionne pas

                    Envoyé par roseOops Voir le message
                    Après de nombreuses tentatives, la réponse automatique a fini par marcher
                    Merci maniT4c pour ton ide et tes conseils
                    Serait il possible de savoir comment tu as réussit à résoudre ton problème ?
                    LeBoiiT
                    Portfolio http://www.axycom.fr

                    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