Bonjour,
Je détère ce topic car on a profité du passage en version 3.4 qui a apporté des modificatoins au plugin atos/sips (BNP/Mercanet) pour débugger le problème récurrent que l'on a avec la Société Générale.
Nous sommes tombé sur la bonne personne de leur support qui a tout de suite diagnostiqué le problème. Cela vient du fait que le paramètre "transactionReference" contient une valeur alors que la passerelle attend qu'il soit vide.
Voici la très simple correction faite au fichier atossips.php :
$bank = $this->payment_params->bank;
$environnement = ($this->payment_params->testmode == 0)? 'prod': 'test';
$url = @$this->bank_request[$bank.'_'.$environnement];
$vars0 = array(
"currencyCode" => @$this->sync_currencies[$this->currency->currency_code],
"merchantId" => trim($this->payment_params->merchantID),
"normalReturnUrl" => $userPostUrl,
"amount" => str_replace(array('.',','),'',round($order->cart->full_total->prices[0]->price_value_with_tax,2)*100),
/* "transactionReference" => $order->order_id, */
"transactionReference" => '',
"keyVersion" => trim ($this->payment_params->keyVersion),
"automaticResponseUrl" => $PostUrl,
"orderId" => $order->order_id,
"statementReference" => $order->order_number //add the order number in the merchant bank account:
);
$this->payment_params->url = $url;
Avec cette simple modification, les paiements passent "comme une lettre à la poste" sur SocGen (cf. copie d'écran). Sinon "gros message rouge" indiquant une erreur.
Etant donné que l'order_id est déjà fourni dans le paramètre "orderId" en plus du "order_number" dans le "statementReference", il me semble que l'on pourrait laisser ce champ à vide dans le plugin.
Ou alors, créer un nouveau paramètre (ou une nouvelle banque : "SocGen") qui permettent d'avoir par défaut le champ rempli pour la compatibilité ascendante de vos mises à jour mais que l'on puisse décider qu'il soit laissé vide.
Cela nous éviterait d'avoir à modifier le plugin à chaque mise à jour d'Hika !
Et quelque chose me dit qu'on ne doit pas être les seuls à utiliser cette passerelle et avoir ce problème.....
Merci.
Laurent