e-commerce

Réinstaller Magento

1

Une question simple mais parfois inconnue : comment réinstaller Magento avec l’interface web sans faire une suppression de tout votre dossier Magento ?

Pour cela vous n’avez à faire qu’une seule chose : supprimer le fichier local.xml de votre dossier app/etc. Cette action donne l’ordre à Magento de ré-executer l’installation du site. Vous ne perdrez aucunes données ! C’est la table core_config_data qui va être principalement modifiée.

Cette méthode peut être aussi valable lors de transfert d’un site Magento comme décrit dans cet article.

Pourquoi cette méthode ?

Si vous consulter le fichier app/Mage.php qui fait suite à la fonction Mage::run dans votre index.php vous constaterez que la fonction run fait appel à self::isInstalled() dont un extrait est ci-dessous. L’appel au fichier de config est volontairement en dur. Voilà pourquoi !

 

$localConfigFile = self::getRoot() . DS . $etcDir . DS . 'local.xml';
self::$_isInstalled = false;
if (is_readable($localConfigFile)) {
   $localConfig = simplexml_load_file($localConfigFile);
   date_default_timezone_set('UTC');
   if (($date = $localConfig->global->install->date) && strtotime($date)) {
     self::$_isInstalled = true;
   }
 }

Au passage dans le dossiet app/etc vous avez deux autres fichiers (local.template et local.additionnal) qu’il est inutile de supprimer. Ce ne sont que des modèles pour vos prochains développements ;)

Bonne réinstallation !

AppliBox-Magento-Regle-Panier

Magento – Règle de promotion en excluant des produits

5

L’objectif de ce tutoriel est de mettre en place sur ma boutique Magento un code promo pour offrir 10% de remise sur chaque produit de mon panier. Je souhaite néanmoins ne pas appliquer cette offre à certaines références.

Pré-requis

S’assurer que dans les jeux d’attributs (Admin > Catalogue > Attributs > Gérer les attributs ) , celui que vous souhaitez filtrer soit positionné à « Oui » pour « Utiliser pour les conditions de règles de promotions ». Dans mon exemple, je dois m’assurer que l’attribut (référence) est utilisable dans les conditions de promotions.

Créer le code promo

 

Créer ensuite la règle de panier ( Promotion > Règle de prix panier ) en lui donnant  :

  • Le nom, le groupe de clients (tous) ainsi que le code que l’internaute devra entrer lors de la validation de son panier
  • Sélectionner dans « Bon de réduction » :  » Bon de réduction spécifique » en spécifiant les conditions d’utilisation (nombre de coupons, nombres par utilisateur…)
  • Actif ou Inactif, n’oubliez pas ;)
Afin d’effectuer le filtrage des produits se rendre dans l’onglet « Action » de la même page et vérifier que :
  • « Appliquer » est positionné sur « Remise en pourcentage du prix produit » > La remise s’appliquera directement sur chaque produit
  • Donner le montant de votre remise en pourcentage 
  • Si vous avez d’autres conditions, remplissez les maintenant !

 

Puis dans « Appliquer la règle seulement aux articles du panier qui remplissent les conditions suivantes (laisser vide pour appliquer à tous les produits »

  • Cliquer sur le « plus » en vert et sélectionner l’attribut référence
  • Cliquer sur « est égale à » et sélectionner « ne fait pas partie de »
  • Cliquer sur les « … » et insérer vos références séparées par des virgules. Vous pouvez aussi cliquer sur l’icone sélecteur qui affichera l’ensemble de vos produits.

 

Onglet Action pour le filtrage

 

Bonnes promotions !

Magento vs PrestaShop vs OsCommerce

2

Ces dernières années les solutions open-source dédiés au e-commerce se sont professionnalisées et ont beaucoup gagné en maturité. Le e-commerce est devenu un canal de distribution normal et efficace, les consommateurs ont pris confiance, et les prestataires web (agences web e-commerce) savent répondre précisément aux besoins des e-commerçants.
Pour autant, il n’y a pas pléthore d’applications open-source fiables et évolutives. Seules deux solutions se dégagent actuellement : Magento caractérisée par sa richesse fonctionnelle, mais aussi par sa complexité de mise en oeuvre, et Prestashop, d’origine française, qui tire son épingle du jeu grâce à sa plus grande simplicité. Nous avons choisi de vous présenter rapidement aussi OsCommerce, qui fait un peu figure de dinosaure, mais qui a encore une présence importante sur le marché des e-commerces existants.

Pour être complet à propos des solutions qui s’offrent au futur e-commerçant pour son projet de boutique en ligne , il convient de mentionner la possibilité de faire développer son site sur mesure, en spécifique. Cela ne veut pas forcément dire réinventer la roue, car on peut s’appuyer sur des frameworks de niveau industriels comme Zend Framework (base de Magento), ou Symfony (un framework très « agile », qui a largement fait ses preuves, en particulier dans des applications Yahoo!). Lorsque trop d’adaptations sont nécessaires pour utiliser des solutions standards, il est parfois préférable d’opter pour un développement spécifique qui permet d’obtenir une solution 100% personnalisée (à partir de briques open-source bien connues et éprouvées bien sûr).

Magento vs Prestashop

A tout seigneur tout honneur, nous commençons par le leader.

Ce projet publié en Mars 2008 à le vent en poupe ces derniers temps. Il permet la mise en place rapide d’une boutique en ligne avec des fonctionnalités poussées. A contrario,  plus les fonctionnalités sont poussées plus il est difficile de les adapter si vous désirez du spécifique.

Voici une liste non complète de ces possibilités :

  • Gestion de plusieurs sites et de plusieurs boutiques à partir d’une unique interface d’administration.
  • Support international (Gestion Multi-devise, multi-langue)
  • Gestion souple des taxes (TVA)
  • Gestion de différents types de produits (Produits téléchargeables, Produits configurables..)
  • Adapté à tous les moyens de paiement (Chèque, Mandat, Paypal, Google Checkout, Modules pour les banques françaises..)
  • Outils Marketing (Code de réduction, Livraison gratuite en option, vente croisée, vente incitative)
  • Optimisation pour les moteurs de recherche (Google Sitemap, réécriture des URLs..)
  • Statistiques (Module Google Analytics)
  • Les fonctionnalités sont encore très nombreuses, et la communauté ne cesse d’en développer de nouvelles.
  • Et puis dans les prochaines version, gestion d’une boutique pour Iphone avec l’application dédiée.

Site Officiel : http://www.magentocommerce.com/fr/
Démonstration (Anglais) :  http://demo.magentocommerce.com/
Un exemple parmi d’autres de Réalisation Applibox avec plusieurs développements spécifiques (interface d’import simplifiée, produits imprimables…) : http://www.geovie.eu

Prestashop vs Magento

En deuxième position, voici l’outsider.

La première version publique est apparue en aôut 2007. Cet outil est réputé être moins « lourd » que son concurrent Magento et plus facile à gérer peut être car il propose moins de fonctionnalités. C’est ce qui en fait son avantage dans des projets e-commerce simples. Il est aussi moins gourmand en ressources au niveau du serveur qui l’héberge.

Voici une liste non complète de ces possibilités :

  • Affichage des offres spéciales (bons de réduction, promotions) ou offre sur les frais de port
  • Mise en avant de produits sur la page d’accueil de type meilleures ventes, nouveautés…
  • Plusieurs moyens de paiement disponibles : carte bleu, paypal, virement bancaire, paiement à la livraison…
  • Un processus de commande qui prévoit la possibilité de générer des retours et avoirs, de demander un emballage cadeau pour une commande à offrir.
  • Gestion des devises et taxes par pays ou par zone et taux de change en temps réel
  • Transporteurs et destinations illimités, notification par e mail ou par sms des statuts de livraison
  • Importation de fichiers CSV, exportation des contacts newsletter
  • Statistiques

Site Officiel : http://www.prestashop.com
Démonstration : http://www.prestashop.com/fr/showcase_demo/

 

OsCommerce vs Magento vs Prestashop

Pour finir, voici l’ancêtre.

Apparu en mars 2000, ce logiciel offre une série de fonctionnalités de base qui répondent aux besoins principaux de la plupart des commerces en ligne. Le succès de OsCommerce assure la présence d’une importante communauté d’utilisateurs et de développeurs de plugins permettant une évolution constante de l’outil et l’ajout de nombreuses fonctionnalités dans le même esprit que Magento.

Son âge en fait un logiciel aux inconvénients que d’autres n’ont pas :

  • un code assez vieux et dispersé
  • un design en brut dans le code difficile à faire évoluer
  • des contributions qui remplacent certaines parties du code (donc à maintenir )

Voici une liste non complète de ces possibilités :

  • Contact avec les clients soit par mail soit newsletter
  • Statistiques par produits et clients
  • Administration multi langue
  • Supporte les multi devises
  • Affichage des critiques sur les produits
  • Accepte de nombreuses solutions de paiement hors ligne (chèque, contre remboursement ….)
  • Accepte de nombreuses solutions de paiement en ligne (2CheckOut, PayPal, Authorize.net, iPayment, ..)
  • Fonctionnement temps réel avec (UPS, USPS, FedEx, ..)
  • Implémentation de taxes flexible selon état, pays
  • Création de différentes taxes pour différents produits
  • taxe sur les frais d’expédition ou par type d’expédition

Site Officiel (Anglais) : http://www.oscommerce.com
Démonstration (Anglais) : http://www.oscommerce.com/shops/demonstration

 

Pour clôturer : le choix d’une solution plutôt qu’une autre dépend vraiment des besoins de l’utilisateur. Il faut réfléchir à tout ce que l’on veux et l’on va vouloir faire dans sa boutique en ligne. N’hésitez pas à nous consulter, nous serons là pour vous guider.

Quelques réalisations à retrouver sur AppliBox.com

  • Ami2CV – vendeur de pièces détachées pour 2CV et Méhari ( Magento depuis 2010 )
  • Geovie / Egcomm – distributeurs de solutions électroniques ( Magento depuis 2009 )
  • Leduc Pesage – installation et maintenance de tous produits de pesage ( Magento depuis 2009 )
  • Sans faute – accessoires pour équitation ( Prestashop 2012 )

 

 

Google Shopping et Magento

Google (Shopping) Merchant Center et Magento v1.5

2

Si vous avez mis votre e-commerce en ligne, vous souhaitez peut-être exporter vos produits sur des comparateurs en ligne comme Google Shopping ? Ceci permet de donner un coup de pouce à votre référencement car toutes les caractéristiques de votre produit sont envoyés au moteur de recherche. Voici les manipulations nécessaires à l’export vers Google Shopping.

Suite à cet article prévu pour les versions précédentes de Magento, voici les manipulations pour la version 1.5  et + (testé aussi sous 1.7 )

 

L’extension a été mise à jour et fonctionne plus simplement ! Vous pourrez la trouver de base avec la Magento 1.5 +. Que vous reste-t-il à faire ?

  1. Configurer votre administration
  2. Mapper les attributs
  3. Etre Whitelisté par Google
  4. Configurer vos frais de livraison

Configurer votre administration pour Google Shopping

 

Afin de configurer votre extension, rendez vous dans votre administration > Configuration > Api Google > onglet Google Shopping puis munissez vous de ces informations :

  • Identifiant de compte (présent dans votre page Google Merchant Center en haut à gauche)
  • Identifiant et mot de passe de votre compte Google Merchant Center
  • Type de compte, choisissez Google
  • Le pays, donc France dans notre cas
  • Mise à jour Google quand le produit est modifié : oui 
  • Débug : oui. Vous aurez accès aux logs dans var/log/googleshopping.log sur votre FTP
Vous pouvez laisser par défaut sur l’ensemble des liste déroulantes présentes en dessous de ces champs.

Mapper les attributs pour Google Shopping

Dans la version Magento 1.5, il n’y a que deux attributs obligatoires à mapper ( les autres le sont par défaut). Il s’agit de la description du produit (item) et le Title soit le nom du produit.

Néanmoins, si vous aller configurer vos frais de livraison en fonction du poids des produits, il sera nécessaire de transmettre aussi cette information. Le champ est Shipping Weight ;)

WhileLister votre site

Afin que Google autorise les intéractions entre votre Magento et leurs serveurs, il est nécessaire de remplir ce formulaire : http://support.google.com/merchants/bin/request.py?contact_type=content_api
Donnez l’url et l’identifiant Merchant center. Nous avons reçu notre réponse sous trois jours.

Configurer vos frais de livraison

Il est maintenant requis d’indiquer comment vos livraisons sont effectuées. Soit vous transmettez à Google cette information, soit vous allez dans votre compte Merchant Center et vous indiquez vos grilles de tarifications. Si jamais vous oubliez cette étape, le log Google Shopping vous le rappelera :)

 

En cas de problème de validation de vos produits, voici le formulaire Google approprié : http://support.google.com/merchants/bin/request.py?hl=en-GB&contact_type=item_noshow

Bonne configuration de votre e-commerce !

AppliBoxement,


Magento facturer une commande annulée

3

Il arrive parfois suite à des des problèmes de liaison avec la banque ou à une erreur du commerçant d’annuler une commande avant même de l’avoir facturé.

Le problème est qu’il est impossible de facturer la commande une fois celle-ci annulée. On peut la renouveller, mais si le client a payé par carte bancaire, il ne sera pas possible de choisir ce même mode de paiement. Voici un bref tutorial pour pouvoir facturer une commande annulée dans Magento.

 

Attention, testé sous V 1.4.1.1 (pour les autres versions le raisonnement est sans doute le même)

Premièrement, récupéré l’ID de la commande. Pour cela allez dans le backoffice, sur la commande en question et vérifier dans l’url de la page l’id ex :

http://www.monsite.com/index.php/admin/sales_order/view/order_id/6646/key/9f8445f7539e569d1a587c6944a27ebf/

L’id est représenté en gras.

 

Une fois l’id en main direction la base de données.

Trois tables sont à modifier :

  • sales_flat_order
  • sales_flat_order_grid
  • sales_flat_order_item

Dans la table sales_flat_order vérifier les champs suivants pour l’id de la commande :

  • state : le modifier en processing
  • status : le modifier en processing
  • %_canceled : Tous les champs en canceled doivent être passés à Null

Dans la table sales_flat_order_grid vérifier les champs suivants pour l’id de la commande :

  • status : le modifier en processing

Dans la table sales_flat_order_item vérifier les champs suivants pour l’id de la commande:

  • qty_canceled : le passer à Null
Une fois ces opérations réalisées en base, le bouton facturer doit être revenu, et le status de la commande, doit être « En cours de traitement ».
En espérant que ce tuto vous sera utile !

Import Magento en arrière plan

1

Parfois Magento peut être lent à s’éxécuter. C’est d’ailleurs le cas sur les profils avancés d’import , export…

Pour palier à cet obstacle voilà un petit script, pouvant être lancé sans être connecté pour lancer l’import/export indépendamment de l’application. Attention à la sécurité tout de même…

Pour lancer ce script :

http://monsite.fr/monscript.php/?file=NomDuFichier.csv

Vous devez avoir au préalable placer votre fichier d’import dans /var/import/ ou un chemin particulier en fonction de votre profil

require_once 'app/Mage.php';
umask(0);
Mage::app();
$profileId = 17; //Insérer ici le profil d'import /export ( Système > Importer/Exporter > Colonne Id )
$filename = Mage::app()->getRequest()->getParam('files'); // set the filename that is to be imported - file needs to be present in var/import directory
if (!isset($filename))  {
die("No file has been set!");
}
$logFileName= $filename.'.log';
$recordCount = 0;
Mage::log("Import Started",null,$logFileName);
$profile = Mage::getModel('dataflow/profile');
$userModel = Mage::getModel('admin/user');
$userModel->setUserId(0);
Mage::getSingleton('admin/session')->setUser($userModel);
if ($profileId) {
$profile->load($profileId);
if (!$profile->getId()) {
Mage::getSingleton('adminhtml/session')->addError('The profile you are trying to save no longer exists');
}
}
Mage::register('current_convert_profile', $profile);
$profile->run();
$batchModel = Mage::getSingleton('dataflow/batch');
if ($batchModel->getId()) {
if ($batchModel->getAdapter()) {
$batchId = $batchModel->getId();
$batchImportModel = $batchModel->getBatchImportModel();
$importIds = $batchImportModel->getIdCollection();
$batchModel = Mage::getModel('dataflow/batch')->load($batchId);
$adapter = Mage::getModel($batchModel->getAdapter());
foreach ($importIds as $importId) {
$recordCount++;
try{
$batchImportModel->load($importId);
if (!$batchImportModel->getId()) {
$errors[] = Mage::helper('dataflow')->__('Skip undefined row');
continue;
}
$importData = $batchImportModel->getBatchData();
try {
$adapter->saveRow($importData);
} catch (Exception $e) {
Mage::log($e->getMessage(),null,$logFileName);
continue;
}
if ($recordCount%20 == 0) {
Mage::log($recordCount . ' - Completed!!',null,$logFileName);
}
} catch(Exception $ex) {
Mage::log('Record# ' . $recordCount . ' - SKU = ' . $importData['sku']. ' - Error - ' . $ex->getMessage(),null,$logFileName);
}
}
foreach ($profile->getExceptions() as $e) {
Mage::log($e->getMessage(),null,$logFileName);
}
}
}

Voilà pour votre prochain import ;) Enjoy !

Liens en rapport avec Magento

http://www.creation-site-lyon.com/tag/magento/

Besoin d’un site magento ?

http://www.applibox.com

Import groupé d’abonnés à la newsletter

0

Suite au transfert de certaines de nos boutiques Ebox (notre CMS maison) vers Magento, nous avons eu besoin d’effectuer un import groupé d’abonnés aux newsletters, voici la marche à suivre :

  • tout d’abord, copiez le fichier /app/code/core/Mage/Newsletter/Model/Subscriber.php dans le dossier /app/code/local/Mage/Newsletter/Model (que vous aurez précédemment créé).
  • ouvrez ensuite ce fichier et modifiez la fonction subscribe() de la manière suivante :
    • ajoutez un paramètre à la fonction : public function subscribe($email) devient public function subscribe($email,$sendConfirm=true)
    • et remplacez les lignes suivantes :
      if ($isConfirmNeed) {
      $this->sendConfirmationRequestEmail();
      } else {
      $this->sendConfirmationSuccessEmail();
      }

      par les lignes suivantes :
      if ($isConfirmNeed) {
      if ($sendConfirm) {
      $this->sendConfirmationRequestEmail();
      }
      } else {
      if ($sendConfirm) {
      $this->sendConfirmationSuccessEmail();
      }
      }
    • Sauvegardez le fichier et envoyez le sur votre serveur.
  • Ensuite, il vous faut disposer d’un fichier CSV contenant toutes les adresses mail à insérer (chaque ligne du fichier doit correspondre à une et une seule adresse).
  • Uploadez ce fichier CSV sur votre serveur dans /var/import par exemple.
  • Créez ensuite un fichier import_newsletter.php que vous placerez à la racine de votre site et ajoutez-y le code suivant (en prenant soin de remplacer le chemin et le nom de votre fichier)  :
    <?php
    require_once "app/Mage.php";
    Mage::app();
    $csvfile = "var/import/exportNewsletterRecipient.csv";
    $handle = fopen($csvfile,"r");
    if($handle == FALSE){
    throw new Exception("Unable to open ".$csvfile);
    }
    while (($subscribers = fgetcsv($handle)) !== FALSE) {
    Mage::getModel('newsletter/subscriber')->subscribe($subscribers[0], false);
    }
    fclose($handle);
    ?>

  • Ainsi ce petit script va importer tous les emails contenus dans votre CSV mais grâce à la petite modification en début de cet article, aucun mail d’inscription ne sera envoyé .

En espérant que ce petit tutoriel vous aura servi, passez une bonne journée.

Mise en ligne de nouveaux sites Magento

0

Nous avons mis en ligne récemment deux nouveaux sites Magento utilisant la fonctionnalité multisite du CMS :

De plus, une autre boutique e-commerce Magento a été mise en ligne :

N’hésitez pas à nous faire vos retours sur ces sites, donnez vos impressions, etc…

Magento Importer les clients avec mots de passe déjà cryptés en MD5

3

Vous voulez migrer votre site ecommerce vers une plateforme Magento ? Et vous vous demandez comment importer vos clients ?

L’idéal est de pouvoir utiliser l’assistant Import / Export customers déjà prévu dans Magento. Nous avions vu comment créer votre fichier CSV prêt à l’import via une requête SQL.

Cependant cette méthode ne permettait pas de récupérer des mots de passe déjà cryptés en MD5.

Nous avons finalement trouvé une solution toute simple permettant de garder vos mots de passe MD5 et évitant donc de réinitialiser tous les mots de passe !

Voici la solution, il suffit d’ajouter « : » après votre MD5.

Si l’on reprend notre exemple de requête SQL voici ce qu’il faut ajouter :

SELECT
"base" AS website,
old_table_user.user_email AS email,
"Client" AS group_id,
old_table_user.first_name AS firstname,
old_table_user.last_name AS lastname,
CONCAT_WS(':',old_table_user.password,'')AS password_hash,
// aura pour effet d'ajouter ':' à votre md5 (ex : 1f3870be274f6c49b3e31a0c6728957f:)
old_table_user.first_name AS billing_firstname,
old_table_user.last_name AS billing_lastname,
old_table_user.address_1 AS billing_street_full,
old_table_user.city AS billing_city,
"FR" AS billing_country,
old_table_user.zip AS billing_postcode,
CONCAT_WS(' ',old_table_user.phone_1,old_table_user.phone_2) AS billing_telephone,
old_table_user.company AS billing_company,
old_table_user.fax AS billing_fax,
old_table_user.first_name AS shipping_firstname,
old_table_user.last_name AS shipping_lastname,
old_table_user.address_1 AS shipping_street_full,
old_table_user.city AS shipping_city,
"FR" AS shipping_country,
old_table_user.zip AS shipping_postcode,
CONCAT_WS(' ',old_table_user.phone_1,old_table_user.phone_2) AS shipping_telephone,
old_table_user.company AS shipping_company,4ème étape : Import le fichier CSV dans Magento
old_table_user.fax AS shipping_fax,
"default" AS "created_in",
"Client" AS "group",
old_table_user.newsletter AS "is_subscribed"
FROM old_table_user

Reprennez ensuite la fin du tutoriel présent à cette adresse : http://www.creation-site-lyon.com/2010/06/16/import-des-clients-dune-plateforme-ecommerce-vers-une-plateforme-magento/

En espérant que celà pourra vous être utile !

Installation, configuration et tests du module Atos sous Magento

43

Nous venons d’installer ce module sur une de nos boutiques Magento et nous nous sommes rapidement rendus compte qu’il s’agit là d’un des modules bancaires les plus compliqués à installer et à tester, c’est pourquoi un petit tutoriel explicatif sera le bienvenue pour tous.

N.B. : la mise en place de ce module a été effectuée sur une boutique Magento 1.4.0.1, il existe peut-être d’autres erreurs sur d’autres versions et inversement, nous avons peut-être rencontrés des erreurs inexistantes sur d’autres versions.

Installation de l’extension

Première partie, la plus simple, il s’agit de l’installation du module. Rendez vous sur http://www.nom_de_votre_site.com/downloader. Collez la clé suivante : magento-community/Mage_Atos puis cliquez sur « Install ». L’installation doit normalement se dérouler sans embuches.

Récupération des fichiers de banque

Ca se complique. Ici, deux choix s’offrent à vous :

  • soit vous utilisez les fichiers de tests.
  • soit vous utilisez les fichiers fournis par votre banque.

Voici notre conseil : en sachant que lors de la création de votre contrat de vente à distance (VAD), votre interface de paiement est en pré-production, aucun paiement ne sera débité, il est judicieux de commencer à travailler directement avec les fichiers fournis par votre banque afin de ne pas avoir à résoudre deux fois les mêmes problèmes (même si nous espérons que tous vos problèmes se résoudront en lisant ce post). Tant que votre interface de paiement est en pré-production, vous pourrez travailler comme si vous utilisiez les fichiers de test sauf que pour passer en production vous n’aurez presque rien à faire.

Dans les deux cas, il vous faut télécharger le kit bancaire. Dans notre cas, il s’agissait d’un contrat avec Sogenactif, le kit correspondant est disponible ici.

Pour les autres (Mercanet,FIA-NET,Sherlocks), la banque envoie au client directement le kit d’installation.

Dans le kit, vous trouverez :

  • un dossier bin contenant 6 fichiers binaires
  • un dossier logo rempli d’images
  • un dossier param avec les fameux fichiers de tests
  • un dossier sample avec des fichiers PHP et Perl
  • une note de version

De plus, la banque vous envoie normalement une clé de décryptage ainsi qu’un logiciel permettant de générer votre certificat bancaire de production (équivalent au fichier de test certif.fr.014213245611111) .

Attention, le premier problème que nous avons rencontré a été la récupération de ce logiciel. En effet, il s’agit d’un fichier en .exe et la plupart des systèmes de messagerie interdise totalement l’envoi et la réception de ce type de fichier (car 80% des .exe circulant par mails sont des virus). Il vous faut donc fournir à la banque une adresse mail Free, Yahoo ou Hotmail car ce sont les seuls qui permettent encore la réception de ce type de fichier.

Une fois votre fichier certif généré grâce au logiciel et à la clé de décryptage, renommez le en certif.fr.votre_ID_bancaire (identifiant que vous avez du recevoir avec votre clé de décryptage).

Vous avez maintenant tout ce qu’il vous faut pour commencer la configuration de votre interface bancaire.

Transfert des fichiers

Renommez le fichier parmcom.XXXXXXXXX (situé dans le dossier param du kit) en parmcom.votre_ID_bancaire (comme pour le certif.fr) puis éditez-le.

  • Après AUTO_RESPONSE_URL!, rentrez la chaine suivante : http://www.nom_de_votre_site.com/atos/standard/automatic/!
  • Après CANCEL_URL!, rentrez la chaine suivante : http://www.nom_de_votre_site.com/atos/standard/cancel/!
  • Et enfin après RETURN_URL!, rentrez : http://www.nom_de_votre_site.com/atos/standard/normal/!
  • Vous pouvez également remplacer merchant.gif (juste après LOGO!) par l’adresse du logo de votre site qui s’affichera sur l’interface de paiement.

Sauvegardez le tout.

Connectez vous maintenant en FTP à votre site et créez un dossier /lib/atos.

Uploadez maintenant votre fichier certif.fr.votre_ID_bancaire (généré à partir du logiciel et de la clé), votre fichier parmcom.votre_ID_bancaire (que vous venez d’éditer) ainsi que le fichier parmcom.sogenactif (ou parmcom.votre_banque) contenu dans le dossier param du kit de test.

Uploadez ensuite les fichiers request et response contenus dans le dossier bin du kit de test mais attention, étant donné qu’il s’agit de fichiers binaires, il vous faut les transférer en binaire. Exemple : dans FileZilla, cliquez sur Transfert > Type de transfert et choisissez Binaire. N’oubliez pas de remettre la configuration par défaut une fois le transfert terminé.

Configuration

Dans le Back Office de votre boutique, rendez vous dans Système > Configuration > Ventes > Modes de paiement > Atos / Sips.

Activer le mode de paiement, votre identifiant de marchand doit se trouver dans la liste déroulante ID Marchand.

Pour le champ « Binaire pour construire la requête » rentrez le chemin vers le fichier binaire request. Attention il s’agit là du chemin à partir de la racine du serveur, ex : path/lib/atos/request. Si vous ne le connaissez pas, contactez l’administrateur de votre serveur. Faîtes de même pour le fichier response avec le champ suivant.

Laissez vide le champ « Fichier pathfile ». Laissez la configuration normale pour le reste sauf si vous souhaitez changer les état de commandes etc…

Sauvegardez la configuration et normalement votre boutique doit être configurée et prête à accepter des paiements.

Problèmes rencontrés et solutions

Malheureusement après les étapes précédentes, il est très probable que, comme beaucoup d’utilisateurs, vous rencontriez une pléthore d’erreurs.

Voici la liste des principales erreurs et comment les résoudre :

Impossible to execute binary file – Set correct chmod

Vos fichiers binaires request et response n’ont pas les droits suffisants pour être exécutés.

Connectez vous en SSH à votre site, rendez vous dans votre dossier /lib/atos et effectuez les commandes suivantes :

chmod 755 request
chmod 755 response

Boucle infinie sur la page /atos/standard/redirect/

4 possibilités :

  • votre serveur est en 64 bits et il faut qu’il puisse lire les fichiers binaires qui sont 32 bits, il vous faut vous connecter en SSH et exécuter la commande suivante :
    aptitude install ia32-libs
  • vous êtes sous OVH, il vous faut télécharger les fichiers binaires spécial OVH disponibles ici
  • la version de vos fichiers binaires ne correspond pas à votre noyau. Connectez vous en SSH et exécuter la commande :
    uname -r

    Cette commande vous donne la version de votre noyau, il faut ensuite uploadez les fichiers binaires correspondant à cette version (ex: la commande vous donne 2.6.XX, uploadez les fichiers binaires request_2.6.XX et response_2.6.XX) avant des les renommer en response et request.

  • votre serveur n’est pas en 64 bits, vos fichiers binaires correspondent à votre kernel et vous n’êtez pas chez OVH : vérifiez les droits d’exécution qu’ont les utilisateurs de votre serveur et quel utilisateur est propriétaire des fichiers binaires. En effet, nous avons rencontré ce problème et l’utilisateur propriétaire des fichiers binaires n’avait pas les droits d’exécution de fichiers binaires.

Vous n’arrivez pas à accéder au serveur de la banque

L’extension génère normalement un fichier pathfile.votre_identifiant_banquaire dans /lib/atos.

Editez-le et en dessous de « Fichiers des paramètres communs », remplacez le chemin après F_DEFAULT! (ex : /var/www/…) par :

lib/atos/parmcom.sogenactif! (remplacez sogenactif par le nom de votre banque)

Error reading certificate file lors du retour de la banque

L’extension génère un second fichier nommé pathfile.parmcom.votre_identifiant_banquaire dans /lib/atos.

Editez-le et, de la même manière que pour le fichier pathfile.votre_ID, remplacez le chemin après F_DEFAULT! par :

 lib/atos/parmcom.sogenactif!

Ecran jaune « Transaction invalide »

Si vous obtenez cette page, il est fort possible que l’URL se termine en /demo/callpayment. Cela signifie que vous utilisez les fichiers de test et pas les fichiers de production, rendez-vous à la partie « Récupération des fichiers » en haut de ce post pour résoudre le problème.

Les notifications de la banque n’arrivent pas

Plusieurs solutions :

  • soit les URL indiquées dans le fichier parmcom.votre_ID sont incorrectes.
  • soit un .htaccess empêche la banque d’accéder à votre boutique.

Conclusion

Normalement, vous devriez maintenant pouvoir effectuer des paiements de test avec vos certificats de production en utilisant le module Atos.

Une fois vos tests terminés, il vous suffit d’envoyer votre PV de recette à votre banque afin qu’il passe votre interface de paiement en production.

En espérant que cet article vous aidera dans la mise en place du module Atos sous Magento.

Haut de page