osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Atos ne fonctionne plus depuis passage à PHP 5.3
kakalimero
posté 12 Apr 2011, 20:10
Message #1


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 8
Inscrit : 12-April 11
Membre no 29680



Bonsoir,

j'ai un petit soucis depuis que je suis passé à PHP5.3, mon module de paiement Atos ne fonctionne plus.
Je suis sur une MS2.2 et j'ai pourtant modifié les fonctions PHP dépreciées.

En fait le proces de paiement fonctionne comme avant sauf qu'au moment du retour sur le site apres paiement, mon panier ne se vide pas et la commande ne s'enregistre plus dans la base.

Savez comment réparer cela ?

Merci
Go to the top of the page
 
okom3pom
posté 13 Apr 2011, 10:45
Message #2


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 58
Inscrit : 26-July 10
Membre no 27844



Bonjour,

Quel est la version de ton module atos ?

Surement une fonction dépréciée dans php 5.3

Colle nous ton includes/modules/payment/atos.php

3pom


--------------------
Autodidacte, aime apprendre et conseiller quand mes petites compétences le permettent.
Débute dans : Apache / Mysql / PHP / HTML / Jquery
Expert en : Barbecue / Bière / Apéro
Go to the top of the page
 
telede
posté 13 Apr 2011, 14:38
Message #3


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 183
Inscrit : 18-November 09
Membre no 26560



De mémoire il y a la fonction split utilisée dans le module ATOS.


--------------------
The value of a man resides in what he gives and not in what he is capable of receiving. - Albert Einstein
Go to the top of the page
 
kakalimero
posté 13 Apr 2011, 15:51
Message #4


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 8
Inscrit : 12-April 11
Membre no 29680



Voici le code de mon fichier atos.php



Code
code supprimé
Go to the top of the page
 
okom3pom
posté 14 Apr 2011, 08:23
Message #5


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 58
Inscrit : 26-July 10
Membre no 27844



Bonjour,

C'est bien ça il faut que tu remplaces la function split dans ton fichier.

Tu peux la remplacer par la function explode, ou preg_split.

Fais des essais si tu n'y arrives vraiment pas je regarderais plus en détails.

Cordialement


--------------------
Autodidacte, aime apprendre et conseiller quand mes petites compétences le permettent.
Débute dans : Apache / Mysql / PHP / HTML / Jquery
Expert en : Barbecue / Bière / Apéro
Go to the top of the page
 
kakalimero
posté 14 Apr 2011, 15:23
Message #6


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 8
Inscrit : 12-April 11
Membre no 29680



Je viens de tester et ça ne fonctionne toujours pas.

Go to the top of the page
 
EP Factory
posté 18 Apr 2011, 12:39
Message #7


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 4
Inscrit : 18-April 11
Membre no 29707



Bonjour,

ayant récemment migré plusieurs boutiques osCommerce 2.2 vers un serveur php 5.3, je suis confronté au même problème.
Lors du retour de la banque dans un paiement ATOS, je perd ma session. résultat le panier n'est pas vidé et la commande n'est pas validée...
j'ai poursuivi une petite piste, mais en vain : j'ai regardé du côté du fichier atos_response.php, qui charge checkout_success.php. mais dans ni l'un ni l'autre la session n'est correctement récupérée

je suis preneur pour une piste
je continue de travailler dessus et je vous tiens au courant si je trouve quelque chose

cdt
Go to the top of the page
 
EP Factory
posté 18 Apr 2011, 14:28
Message #8


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 4
Inscrit : 18-April 11
Membre no 29707



Re bonjour,

plus de détails sur ma configuration : lors du paiement, la banque redirige vers une url secure mutualisée entre différentes boutiques oscommerce similaires.
mon problème était que le COOKIE_DOMAIN était différent entre le secure et ma boutique oscommerce. ainsi impossible de récupérer la session car le domaine était différent...
plutôt stupide comme soucis je l'admet XD
je demande au client un certificat et je zap le secure ^^

j'espère que cette réponse pourra aider certains smile.gif

cdt
Go to the top of the page
 
kakalimero
posté 18 Apr 2011, 21:19
Message #9


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 8
Inscrit : 12-April 11
Membre no 29680



Citation (EP Factory @ 18 Apr 2011, 14:28) *
Re bonjour,

plus de détails sur ma configuration : lors du paiement, la banque redirige vers une url secure mutualisée entre différentes boutiques oscommerce similaires.
mon problème était que le COOKIE_DOMAIN était différent entre le secure et ma boutique oscommerce. ainsi impossible de récupérer la session car le domaine était différent...
plutôt stupide comme soucis je l'admet XD
je demande au client un certificat et je zap le secure ^^

j'espère que cette réponse pourra aider certains smile.gif

cdt

Merci pour ta réponse, mais j'avoue ne pas bien comprendre.
Qu'appelles tu le secure au juste ?
Go to the top of the page
 
EP Factory
posté 18 Apr 2011, 22:29
Message #10


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 4
Inscrit : 18-April 11
Membre no 29707



Bonsoir,

En fait je dois maintenir 2 boutiques oscommerce qui ne disposent pas de certificat. pour les retours de paiement atos, il faut une adresse sécurisée. pour cela, je dispose d'un seul site ayant un certificat : celui que j'appelle le "secure".
auparavant je redirigeais tous les paiements atos de ces boutiques oscommerce vers le secure (me demande pas pourquoi ça marchait avant et plus maintenant XD). depuis la migration vers un serveur en php 5.3, impossible de récupérer la session lors du retour atos sur le serveur secure (normal, pas le même nom de domaine...).

cdt
Go to the top of the page
 
dsaunier
posté 29 Apr 2011, 21:06
Message #11


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 29-June 05
Membre no 6361



Angoisse temporaire aussi car le site du client affichait le contenu du fichier PHP Atos au lieu de l'exécuter, plus aucun paiement possible !
La solution pour nous mais qui me semble globale est que ce fichier s'ouvrait de manière non conforme

<?


mais que le PHP plus ancien tolérait; et depuis la mise à jour en PHP 5.3 de ce serveur, obligation de commencer un fichier PHP par

<?php

donc corrigé très vite heureusement, mais je vais scanner les autres sites, pannes possibles.

Hope it helps wink.gif
Go to the top of the page
 
EP Factory
posté 30 Apr 2011, 06:58
Message #12


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 4
Inscrit : 18-April 11
Membre no 29707



Bonjour

n'oublies pas de rajouter les lignes suivantes dans ton htaccess pour que ton site tourne sous php 5.3 :
php_flag register_globals on
php_value register_globals 1
php_flag magic_quotes_gpc On
php_flag magic_quotes_runtime On
php_flag magic_quotes_sybase On

cela permettra l'utilisation des tags <? au lieu de <?php (ça t'évites surtout de repasser sur tout le projet)
Go to the top of the page
 
Natacha31
posté 24 May 2011, 09:57
Message #13


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 25
Inscrit : 7-April 06
Lieu : Toulouse et Marciac
Membre no 9831



Pour avoir eu le même problème de perte de session qui génère une erreur dans checkout_process au retour automatique d'atos sur plusieurs sites mais avec php 5.2.14
j'ai fait une bidouille pas très propre mais qui fonctionne

en premier remplacer tous les split (valable pour tout le site)

ligne 149 du module atos.php

Code
    function checkout_preprocess() {
      global $cart, $atos_cart, $_POST, $atos_context_key;

      // Restore cart content/context
      //
      /*
      if ( tep_not_null($_POST['DATA']) )
      {
         $response = $this->decodeResponse($_POST['DATA']);
         $cart = $atos_cart[$response['return_context']];
      }
      */
    }


function makeRequest

Code
      // Cart history
      //
/*
     $atos_context_key = md5(serialize($cart));

      $fixed_cart = $cart;
      $atos_cart[$atos_context_key] = $cart;
      $cart = new shoppingCart;
      $cart->unserialize($fixed_cart);

      if ( ! tep_session_is_registered('atos_cart') )
               tep_session_register('atos_cart') ;

      if ( ! tep_session_is_registered('atos_context_key') )
             tep_session_register('atos_context_key');
*/


la mise en commentaire de la sérialisation à résolu pour ma part mes problèmes de retour atos
étant en contact avec l'auteur (delete) de la maj de cette contrib il n'a pas pu me donner une réponse sur ce problème

bon courage car j'en ai ch... avant de résoudre temporairement ce problème qui est du à mon avis à php 5.xx

Go to the top of the page
 
ixess
posté 2 Aug 2011, 23:58
Message #14


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 31
Inscrit : 11-June 05
Membre no 6177



Pour ma part et sous PHP 5.3, outre le fait que je suis parti sur une base du module 2.7 en ayant enlevé les fonctions dépréciées pour les remplacer par les PCRE, j'ai trouvé ceci comme solution afin que la commande se crée et bien sûr, que le panier se vide (enfin!) :

J'ai du rajouté ces lignes dans application_top.php :

CODE
else if (isset($HTTP_GET_VARS[tep_session_name()])) {
tep_session_id($HTTP_GET_VARS[tep_session_name()]);
}


Juste après :

CODE
// set the session ID if it exists
if (isset($HTTP_POST_VARS[tep_session_name()])) {
tep_session_id($HTTP_POST_VARS[tep_session_name()]);
} elseif ( ($request_type == 'SSL') && isset($HTTP_GET_VARS[tep_session_name()]) ) {
tep_session_id($HTTP_GET_VARS[tep_session_name()]);
}


Il semblerait pour ma part que le $request_type envoyé à ATOS dans la fonction MakeRequest() ne soit pas SSL...

Je n'ai aucune idée des éventuelles conséquences, surtout en terme de sécurité, d'une telle modification.
Aussi si quelqu'un pouvait m'éclairer, quitte à surtout faire en sorte que le $request_type soit le bon dès la construction de la requête, je suis preneur !

Merci pour vos réponses.

MS2.2 / PHP 5.3 / ATOS 2.7
Go to the top of the page
 
brouillard
posté 3 Aug 2011, 14:08
Message #15


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 301
Inscrit : 9-December 09
Membre no 26687



peux-tu poster "quelque part sur le net" ton fichier atos.php pour voir les modifs et trouver ce qui ne va pas.

Ce message a été modifié par brouillard - 3 Aug 2011, 14:09.
Go to the top of the page
 
zevacu
posté 3 Aug 2011, 16:25
Message #16


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 77
Inscrit : 8-November 05
Lieu : zevaco
Membre no 7753



J'ai essayé le "bidouillage" de Ixess dans application_top.php, sans succès (mais j'ai le module atos 2.cool.gif
Je suis en php5 .3 .3, et j'ai toujours ce problème de panier qui ne se vide pas (et de compte client qui ne se met pas à jour).


--------------------
Zevacu

OSC 2.334, Ultimate SEO 5 Pro, Headers Tags SEO V.3.3.2 (1), Atos 3.2
Go to the top of the page
 
telede
posté 4 Aug 2011, 17:39
Message #17


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 183
Inscrit : 18-November 09
Membre no 26560



J'ai tendu une perche :

http://www.oscommerce-fr.info/forum/index....mp;#entry358086

Personne le la saisi :

je vous laisse à vos bricolages


--------------------
The value of a man resides in what he gives and not in what he is capable of receiving. - Albert Einstein
Go to the top of the page
 
riondu
posté 23 Sep 2011, 08:25
Message #18


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 2
Inscrit : 23-September 11
Membre no 30224



Bonjour,

je rencontre le même pb que vous tous, à savoir un paiement CB débité, mais un retour sur le site sans vidage de panier, ni envoi de mail de confirmation, ni enregistrement de la commande dans la bdd.

Suite à un gros crash du disque dur serveur, on est donc passé en PHP 5.3.2...
1- Les fonctions dépréciées ont toutes été changées - vive les fichiers de log !
2- les options de configuration des session sont réglées comme indiquées ici http://www.oscommerce-fr.info/faq/qa_info.php?qID=108 (j'ai vérifié, l'id passe bien même après paiement par CB) et ici http://www.oscommerce-fr.info/faq/qa_info.php?qID=151
3- STORE_SESSION est sur 'mysql' dans mes 2 fichiers configure.php
4- manifestement pourtant aucune session n'est écrite dans ma bdd (66 enregistrements qui sont là depuis 2008)
5- depuis la Maj en PHP, j'ai constaté que certaines pages (donc checkout_confirmation.php) appellent désormais un template (sts_template.htm) alors que ce n'était pas le cas avant ( je m'en suis rendu compte car le js de contrôle d'acceptation des CGV n'était plus présent), mais, côté admin il n'est fait mention de ce module nul part !
6- Quand on passe par chèque ou virement, tout se passe nickel, panier vidé, table order etc incrémentée, mail envoyé !

N'ayant pas créé ce site, je ne sais pas trop quelles sont les contributions qui ont été installées malheureusement, et le choix avait été fait de rester sur cette version d'Osc car trop de modifications avaient été apportées par l'ancien webmestre.

Voilà mes différentes pistes et contrôles, j'espère que quelqu'un saura m'aider car cela fait 1 semaine maintenant que les paiements CB ne fonctionnent plus sur le site (qui est en prod bien sur, sinon c'est pas drôle).
Toutes pistes bienvenues !

Merci à tous smile.gif

PHP 5.3.2, OSC 2.2-MS2, Atos v1.25 (l'atos.php dans include /module)
Go to the top of the page
 
riondu
posté 27 Sep 2011, 08:52
Message #19


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 2
Inscrit : 23-September 11
Membre no 30224



Bon bon, pas de réponse.... dommage.
J'ai installé Atos 2.8 comme conseillé par Telede, et ça marche encore moins qu'avant smile.gif
J'obtiens une belle "erreur inattendue", et j'aurais bien été content de retrouver un mail (c'est mentionné dans le INSTALL.html, mais il n'est pas dit comment ni ou on le renseigne) ou d'avoir un mode debug, mais même en passant celui du Pathfile sur Yes, rien.
Ce n'est pas faute d'avoir suivi le dit fichier, mais la structure de mon site n'est manifestement pas la même et je ne m'y retrouve pas.
Si quelqu'un pouvait me renseigner, et me dire si vous mettez au même endroit le package Atos oscommerce et les fichiers fournis par la banque (Atos donc)...? parce que moi non, pour des histoires de sécurité il me semble, cela avait été scindé, et les fichiers bancaires avaient même été mis au dessus de ma racine.
Je passe en serveur de test, je serais plus tranquille pour mettre le souk là dedans...
Merci de votre aide !
Go to the top of the page
 
juju74
posté 26 Oct 2011, 13:05
Message #20


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 182
Inscrit : 12-October 06
Lieu : 74460
Membre no 12614



juste pour signaler qu'avec SPPLUS c'est le même souci!
j'ai PHP 5.2.17
Go to the top of the page
 
Amba
posté 16 Nov 2011, 11:20
Message #21


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 8
Inscrit : 24-October 05
Membre no 7599



bonjour je suis toujours bloqué avec le article dans le panier et les commandes qui ne se créé pas crontib atos 2.8 pourtant
avez vous trouvé la solution ?
Go to the top of the page
 
fredfredfred
posté 26 Mar 2013, 15:05
Message #22


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 9
Inscrit : 22-March 13
Membre no 32104



avez vous trouvé une solution ? même problème ici....
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 10:56
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)