Jal-art Posted August 31, 2012 Share Posted August 31, 2012 Bonjour, J'ai un petit souci avec mon module Atos, les transactions passées et validées ne sont pas prise en compte par Google Analytics .En cherchant un peu sur internet, j'ai trouvé que les transactions n'étaient prise en compte du fait que le module ne rediriger par vers la bonne page de confirmation ou le code analytics est injecté. J'ai tenté de modifié la variable en ligne 17 $retour = 'history.php'; par $retour = 'order-confirmation'; mais cela ne fonctionne pas, en suivant le parcours via la fonction "Temps réel" d'Analytics, j'ai pu me rendre compte que les visiteurs étaient redirigés vers la page "order.php?step=3", qui apparait bien dans la page validation. J'ai en ligne 23 et 132 ces variables, mais je n'ose pas y toucher pour éviter de faire une bêtise. La discussion que j'avais trouvée. http://www.prestashop.com/forums/topic/67955-module-atos-non-compatible-avec-google-analyti Merci par avance pour votre aide <?php include(dirname(__FILE__).'/../../config/config.inc.php'); include(dirname(__FILE__).'/../../header.php'); $retour = 'index.php'; include(dirname(__FILE__).'/atos.php'); $atos = new ATOS(); if(!@empty($_POST)) { $atosConf = Configuration::getMultiple(array('ATOS_MERCHAND_ID','ATOS_BIN','ATOS_BANK')); $message = 'message='.$_POST[DATA]; $pathfile = 'pathfile='.dirname(__FILE__).'/param/pathfile'; $path_bin = $atosConf['ATOS_BIN'].'response'; $result = exec("$path_bin $pathfile $message"); $tableau = explode ('!', $result); $cart = new Cart(intval($tableau[22])); $Customer = new Customer(intval($cart->id_customer)); $retour = 'history.php'; $logfile = dirname(__FILE__).'/log/logs.txt'; $fp = fopen($logfile, 'a'); fwrite($fp,'Transaction '.$atosConf['ATOS_BANK'].' du : '.date('d/m/Y H:i:s',time())."\n"); if(($tableau[1]=="")&&($tableau[2]=="")){ $atos->UpdateTransactionIDFile($tableau[6],'fail'); $retour = 'order.php?step=3'; fwrite($fp,"erreur appel response\n"); fwrite($fp,"executable response non trouve $path_bin\n"); }elseif($tableau[1]!=0){ $atos->UpdateTransactionIDFile($tableau[6],'fail'); fwrite($fp," API call error.\n"); fwrite($fp,"Error message : $tableau[2]\n"); $atos->validateOrder($tableau[22],_PS_OS_ERROR_,0, $atos->displayName,'Transaction ATOS '.$tableau[2], "", "", false, $Customer->secure_key); }elseif(Validate::isLoadedObject($cart) && $cart->OrderExists() == 0 && $tableau[18]=='05') { $atos->UpdateTransactionIDFile($tableau[6],'fail'); $atos->validateOrder($tableau[22],_PS_OS_ERROR_,0, $atos->displayName,'Transaction ATOS '.$tableau[2], "", "", false, $Customer->secure_key); fwrite($fp,"Error message : $tableau[2]\n"); fwrite($fp,"merchant_id : $tableau[3]\n"); fwrite($fp,"merchant_country : $tableau[4]\n"); fwrite($fp,"amount : $tableau[5]\n"); fwrite($fp,"transaction_id : $tableau[6]\n"); fwrite($fp,"transmission_date: $tableau[8]\n"); fwrite($fp,"payment_means: $tableau[7]\n"); fwrite($fp,"payment_time : $tableau[9]\n"); fwrite($fp,"payment_date : $tableau[10]\n"); fwrite($fp,"response_code : $tableau[11]\n"); fwrite($fp,"payment_certificate : $tableau[12]\n"); fwrite($fp,"authorisation_id : $tableau[13]\n"); fwrite($fp,"currency_code : $tableau[14]\n"); fwrite($fp,"card_number : $tableau[15]\n"); fwrite($fp,"[spam-filter]_flag: $tableau[16]\n"); fwrite($fp,"[spam-filter]_response_code: $tableau[17]\n"); fwrite($fp,"bank_response_code: $tableau[18]\n"); fwrite($fp,"complementary_code: $tableau[19]\n"); fwrite($fp,"complementary_info: $tableau[20]\n"); fwrite($fp,"return_context: $tableau[21]\n"); fwrite($fp,"caddie : $tableau[22]\n"); fwrite($fp,"receipt_complement : $tableau[23]\n"); fwrite($fp,"merchant_language : $tableau[24]\n"); fwrite($fp,"language : $tableau[25]\n"); fwrite($fp,"customer_id : $tableau[26]\n"); fwrite($fp,"order_id : $tableau[27]\n"); fwrite($fp,"customer_email : $tableau[28]\n"); fwrite($fp,"customer_ip_address : $tableau[29]\n"); fwrite($fp,"capture_day : $tableau[30]\n"); fwrite($fp,"capture_mode : $tableau[31]\n"); fwrite($fp,"data : $tableau[32]\n"); fwrite($fp, "Resultat : Paiement refuse\n"); } elseif(Validate::isLoadedObject($cart) && $cart->OrderExists() == 0 && $tableau[18]=='00') { fwrite($fp,"merchant_id : $tableau[3]\n"); fwrite($fp,"merchant_country : $tableau[4]\n"); fwrite($fp,"amount : $tableau[5]\n"); fwrite($fp,"transaction_id : $tableau[6]\n"); fwrite($fp,"transmission_date: $tableau[8]\n"); fwrite($fp,"payment_means: $tableau[7]\n"); fwrite($fp,"payment_time : $tableau[9]\n"); fwrite($fp,"payment_date : $tableau[10]\n"); fwrite($fp,"response_code : $tableau[11]\n"); fwrite($fp,"payment_certificate : $tableau[12]\n"); fwrite($fp,"authorisation_id : $tableau[13]\n"); fwrite($fp,"currency_code : $tableau[14]\n"); fwrite($fp,"card_number : $tableau[15]\n"); fwrite($fp,"[spam-filter]_flag: $tableau[16]\n"); fwrite($fp,"[spam-filter]_response_code: $tableau[17]\n"); fwrite($fp,"bank_response_code: $tableau[18]\n"); fwrite($fp,"complementary_code: $tableau[19]\n"); fwrite($fp,"complementary_info: $tableau[20]\n"); fwrite($fp,"return_context: $tableau[21]\n"); fwrite($fp,"caddie : $tableau[22]\n"); fwrite($fp,"receipt_complement : $tableau[23]\n"); fwrite($fp,"merchant_language : $tableau[24]\n"); fwrite($fp,"language : $tableau[25]\n"); fwrite($fp,"customer_id : $tableau[26]\n"); fwrite($fp,"order_id : $tableau[27]\n"); fwrite($fp,"customer_email : $tableau[28]\n"); fwrite($fp,"customer_ip_address : $tableau[29]\n"); fwrite($fp,"capture_day : $tableau[30]\n"); fwrite($fp,"capture_mode : $tableau[31]\n"); fwrite($fp,"data : $tableau[32]\n"); $amount = number_format($cart->getOrderTotal(true, 3), 2, '.', ''); if(strpos($amount,'.')) $amount =$amount*100; $amount = str_replace('.','',$amount); if($tableau[3]==$atosConf['ATOS_MERCHAND_ID'] AND $tableau[5]==$amount) { $atos->UpdateTransactionIDFile($tableau[6],'ok'); $valide = "paiement valide"; $tableau[5] = number_format(intval($tableau[5])/100, 2, '.', ''); $currency_used = new Currency(Currency::getIdByIsoCode($tableau[14])); $Customer = new Customer($tableau[26]); $message = 'Transaction ATOS'; if($tableau[5]=='PAYMENT_N') { $data = explode(';',$tableau[32]); $mltp = array(); foreach($data as$elt) { $item = explode('=',$elt); $mltp[$item[0]] = $item[1]; } $message .= ' Paiement en '.$mltp['NB_PAYMENT'].' fois :<br/>'; preg_match_all ('#([0-9]+)/#',$mltp['PAYMENT_DUE_DATES'],$dates); foreach($dates[1] as $date) $message .= substr($date,6,2).'/'.substr($date,4,2).'/'.substr($date,0,4).'<br/>'; } $atos->validateOrder($tableau[22],_PS_OS_PAYMENT_,$tableau[5],$atos->displayName,$message,array(),$currency_used->id,false,$Customer->secure_key); }else{ $atos->UpdateTransactionIDFile($tableau[6],'fail'); $valide = "paiement invalide !"; $atos->validateOrder($tableau[22],_PS_OS_ERROR_,0, $atos->displayName,'Transaction ATOS '.$tableau[2], "", "", false, $Customer->secure_key); } fwrite($fp, "Resultat : ".$valide."\n"); }else{ $atos->UpdateTransactionIDFile($tableau[6],'fail'); $retour = 'order.php?step=3'; fwrite($fp,$_POST['PAIEMENT']."\n"); } fwrite($fp, "-------------------------------------------\n"); fclose($fp); } echo '<h4>'.$atos->getL('wait').'</h4>'; echo '<meta http-equiv="refresh" content="0; url=http://'.$_SERVER['HTTP_HOST'].__PS_BASE_URI__.$retour.'" />'; include(dirname(__FILE__).'/../../footer.php'); ?> Link to comment Share on other sites More sharing options...
Jal-art Posted August 31, 2012 Author Share Posted August 31, 2012 J'ai testé sur un autre serveur, il ne faut surtout pas remplacer les variables lignes 23 et 132, elles correspondent à un paiement refusé ou plusieurs tentative sur une carte. Je vais tenté de remplacer la varianle ligne 17 par : $retour = 'order-confirmation.php?id_cart='.intval($cart->id).'&id;_module='.$ATOS->id.'&id;_order='.intval($order->id).'&key;='.strval($order->secure_key); Link to comment Share on other sites More sharing options...
Jal-art Posted August 31, 2012 Author Share Posted August 31, 2012 personne pour m'aider ? Link to comment Share on other sites More sharing options...
Jal-art Posted September 4, 2012 Author Share Posted September 4, 2012 Up Link to comment Share on other sites More sharing options...
Steph-dez Posted November 13, 2012 Share Posted November 13, 2012 Avez-vous pu résoudre votre problème car j'ai le même ? Link to comment Share on other sites More sharing options...
Manuel Corbet Posted June 18, 2013 Share Posted June 18, 2013 Bonjour, Up même problème de mon côté ! Link to comment Share on other sites More sharing options...
Recommended Posts