Extension Magento SPPLUS : bug de calcul de clé HMAC

La solution e-commerce Magento permet d'intégrer de nombreuses interfaces de paiement via le système de module magento.

Parmi celles-ci, l'extension SPPLUS permet de mettre en place le module de paiement SP PLUS de la Caisse d'Épargne. Cette extension est disponible via Magento Connect.

Cependant, cette extension présente un bug fort contraignant. En effet toutes les commandes dont l'email du client contient le caractère _ ne sont pas traitées. Cela provient d'un mauvais calcul de la clé HMAC.

Pour info, la clé HMAC est un code d'authentification envoyée par SPPLUS. Pour calculer cette clé et ensuite pouvoir la comparer avec la clé reçue, on utilise la fonction nthmac présente dans la librairie spplus.so fournie par SP PLUS. Le calcul de cette clé se fait avec plusieurs paramêtres dont entre autre l'email du client. Cependant pour bien pouvoir utiliser cette fonction, il faut échapper les caractères spéciaux tels que _.

Pour corriger ce bug il faut donc modifier la méthode ipnPostSubmit du fichier app/code/community/Mage/Spplus/Model/Method/Spplus.php. Il faut remplacer les lignes :

$chaineParam = str_replace(":", ":", $chaineParam);
$chaineParam = str_replace("/", "/", $chaineParam);
$chaineParam = str_replace("_", "_", $chaineParam);
$chaineParam = str_replace("@", "@", $chaineParam);

Par

$chaineParam = str_replace(":", "%3A", $chaineParam);
$chaineParam = str_replace("/", "%2F", $chaineParam);
$chaineParam = str_replace("_", "%5F", $chaineParam);
$chaineParam = str_replace("@", "%40", $chaineParam);

Ce bug a été reporté sur le forum de l'extension et devrait très probablement corrigé dans sa version 1.1.5

2 comments on "Extension Magento SPPLUS : bug de calcul de clé HMAC"

Portrait de Shendy Pollok
Shendy Pollok (visiteur) - ven, 10/02/2012 - 15:24:

Zune and iPod: Most people compare the Zune to the Touch, but after seeing how slim and surprisingly small and light it is, I consider it to be a rather unique hybrid that combines qualities of both the Touch and the Nano. It's very colorful and lovely OLED screen is slightly smaller than the touch screen, but the player itself feels quite a bit smaller and lighter. It weighs about 2/3 as much, and is noticeably smaller in width and height, while being just a hair thicker. Limos Brisbane

Portrait de santa
santa (visiteur) - lun, 30/04/2012 - 14:13:

Magento's CEO and co founder Roy Rubin wrote on the Magento blog stating that Magento will continue to operate out of Los Angeles, with Yoav Kutner and me as its leaders. Thanks.
Regards,
cna certification

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Allowed HTML tags: <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plus d'informations sur les options de formatage