Jump to content

Recommended Posts

Bonjour,

 

J'ai un problème sur ma boutique (1.6.0.14) :

J'ai des commandes qui sont doublées, la 1er a lieu à 09h39:08 et la 2eme à 09h38:36, elle n'ont pas la même référence mais concerne clairement le même client, le(s) même(s) produit(s) et la même somme. Elles ont été réglés par CB (via le module tggatos) mais je ne sais pas si le soucis provient de là car j'ai aussi des commandes payées avec ce module et qui ne sont pas dupliquées ... bref rien n'est systématique, ,ce qui n'aide pas pour trouver le souci.

Sur le backoffice de Sogenactif, l'heure de la transaction est 09h36:30 et il n'y a bien qu'un paiement enregistré.

On dirait que prestashop a enregistré par erreur la 1ere commande puis la 2eme s'est déroulée correctement.

 

Une idée ?

 

Merci d'avance.

Link to comment
Share on other sites

Salut,

 

J'ai exactement le même problème, avec Sogenactif et le module tggatos, sur 2 boutiques différentes (sites, version PS, et serveurs différents), 5 fois sur 15 commandes sur l'une et seulement 2 sur 15 sur l'autre site.

 

Pour l'instant je penche sur un problème venant du service de paiement (Société Générale, sogenactif pour les 2), puisque jusqu'à maintenant et depuis plusieurs années, j'utilise ce module (tggatos) sans aucun problème, et aucune modification récentes sur ces 2 shop.

 

Si une idée je suis preneur aussi.

Edited by Blyy (see edit history)
Link to comment
Share on other sites

Non c'est impossible car les créations de commande se font à 2 secondes d'intervalle, j'ai un début de réponse à vous apporter.

 

J'ai contacter directement Mercanet et le développeur du module que j'utilise, il se trouve qu'avant quand mercanet retournai l'information du paiement il le faisait à un certain moment depuis peut le retour de l'information se fait un peut plus tot dans le processus ce qui d'après moi génère le problème quand on utilise le retour automatique à la boutique car il envoi une seconde fois cette information. La solution désactiver le retour automatique à la boutique et utiliser dans le paramétrage du module le mode de réponse transaction_id plutôt que autorisation_id. 

 

Cordialement

Link to comment
Share on other sites

  • 3 weeks later...
  • 5 months later...
  • 2 months later...

bonjour moi je c est pas si c est le meme souci mes voici se qui se passe quand les client passe commande aider moi svp

 

 

[Enter code here]<?php

$commercant_login = "" ;
$commercant_apikey = "" ;

if(empty($roopath)){
    $rootpath=$_SERVER['DOCUMENT_ROOT'];
}
require_once($rootpath."include/mysqli.php");
$DB_site=new DB_Sql;
$DB_site->appname='admin BCI';
$DB_site->appshortname='bci';
$DB_site->database=$DBname;
$DB_site->server=$db_server;
$DB_site->user=$DBusername;
$DB_site->password=$DBpassword;
$DB_site->connect();
$DB_site->password="";

    
$tabCommandes = array();
$data_to_post = array();

$commande[orderid] = "489657"
$commande[datecommande] = date("2015-10-20 12:56:32");
$commande[montant] = "18.35";
$commande[moyen_paiement] = "CB";
$commande[moyen_livraison] = "socolissimodomsign";
$commande[montant_tva] = "3.06";

//info acheteur
//facturation
$commande[Fprenom] = "Nicolas";
$commande[Fnom] = "Dupraz";
$commande[Fadresse] = "18 chemin des Sables";
$commande[Fville] = "Virignon";
$commande[Fcodepostal] = "18650";
$commande[Fpays] = "FRA";
$commande[Ftelephone1] = "0123456789";
$commande[Ftelephone2] = "0623456789";
$commande[Fmail] = "[email protected]";
$commande[Fsociete] = "La maison de Nicolas";

//livraison
$commande[Lprenom] = "Nicolas";
$commande[Lnom] = "Dupraz";
$commande[Ladresse] = "18 chemin des Sables";
$commande[Lville] = "Virignon";
$commande[Lcodepostal] = "18650";
$commande[Lpays] = "FRA";
$commande[Ltelephone1] = "0123456789";
$commande[Ltelephone2] = "0623456789";
$commande[Lmail] = "[email protected]";
$commande[Lsociete] = "La maison de Nicolas";
$commande[commentaire] = "2ème étage";
$commande[montant_port] = "5.99";


$data_to_post[ref] = $commande[orderid];
$adresse = array(
    "civ" => "M",
    "nom" => $commande[Lnom],
    "prenom" => $commande[Lprenom],
    "soc" => $commande[Lsociete],
    "tel" => ($commande[Ltelephone1] != "")?$commande[Ltelephone1]:$commande[Ltelephone2],
    "email" => $commande[Lmail],
    "adr" => $commande[Ladresse],
    "adrcomp" => $commande[Ladresse],
    "cp" => $commande[Lcodepostal],
    "ville" => $commande[Lville],
    "pays" => $commande[Lpays]
);

$livraison = array(
    "mode" => $commande[moyen_livraison],
    "adresse" => $adresse
);
$data_to_post[livraison] = $livraison;


// produits
$items = array();
$produit1 = array(
    "id" => 18523,
    "reference" => 45633,
    "quantite" => 1
);
$items[] = $produit1;

$produit2 = array(
    "id" => 18513,
    "reference" => 98652,
    "quantite" => 2
);
$items[] = $produit2;

$data_to_post[items] = $items;



// appel WebService
if($commande[moyen_livraison] != "" && $adresse[tel] != ""){
    $data_to_post = array("commande" => $data_to_post);
    $data_to_post = json_encode($data_to_post);
    $url = 'http://www.vegaoopro.com/dropshipping/commande?username='.$commercant_login.'&apikey='.$commercant_apikey.'';
    // url-ify the data for the POST
    foreach($data_to_post as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string, '&');
    // open connection
    $ch = curl_init();
    // set the url, number of POST vars, POST data
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_POST, 1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch,CURLOPT_POSTFIELDS, $data_to_post);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-type => application/json',
    'Content-length => ' . strlen($data_to_post)
    ]);                
    // execute post
    $result = curl_exec($ch);
    $reponse = json_decode($result) ;
    $DB_site->query("UPDATE commande SET historique = CONCAT(historique, '".date('d/m/Y H:i:s')." ".$reponse->code." ".addslashes(utf8_decode($reponse->message))."\n') WHERE commandeid = '$commandeid'");
    curl_close($ch);
}fg.txt

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour

Nous avons un souci similaire avec le CMCIC

Les paiements sont enregistrés 2 fois dans prestashop à quelques secondes (en moyenne 30secondes) d'écart.

 

L'incident a été maintes fois remonté à PrestShop (contrat de maintenance) qui  nous disait que tout était 

Pendant 2 mois environ pas de souci, nous sommes passés en1.1.9 et cela revient (lié ou pas ???)

 

Le CMCI nous dit erreur CURL28  et met cela sur le dos du serveur. En, matière de serveur nous avons un VPS performant (Planet hoster)

 

Mis sur surveillance lors de tests l hebergeur n'a rien trouvé en matière de délai de réponse lors de paiement

 

Bref rien n'avance depuis des mois

 

ras le bol....

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...