Paiments Kickstart + Commerce Atos + API Banque françaises

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
ce post est destiné à faire un retour d'expérience.

J'ai installé Kickstart V2 pour créer une boutique.

Ma cliente est embarquée avec LCL, dont l'API de paiement se nomme Sherlocks. Mais c'est valable pour :
- Crédit Agricole (e-transactions)
- Banque Populaire (CyberPlus)
- BNP Paribas (Mercanet)
- La Poste (Scellius)
- LCL (Sherlocks)
- HSBC (Elysnet)
- Société Générale (Sogenactif)
- Crédit du Nord (Webaffaires)

Pour ce qui est du paramétrage de l'API de la banque, je vous renvoie à ce tutoriel : http://buzut.fr/2011/11/19/installation-de-l%E2%80%99api-php-615-atos-sogenactif/
A bien noter toutefois :
1 - Pour connaître la version de votre serveur (ne rigolez pas, ça m'a pris deux jours...), il faut pousser un fichier PHP (que j'ai nommé, pour ma part "info.php") contenant simplement le code suivant :

<?php
phpinfo
()
?>

Ben ouais, c'est pas évident pour tout le monde, notamment pour les graphistes qui ont dû se former tout seul au développement...
Ce fichier est à pousser sur votre hébergement (n'importe où, pourvu que vous connaissiez le chemin) et à appeler avec votre navigateur. Tout en haut de cette page il y a un titre, "System", qui vous indique la version de votre serveur.
2 - Le transfert des fichiers de la banque par votre FTP doit se faire en BINAIRE. C'est pas évident du tout dans la doc LCL (ne comptez pas trop sur le soutien du support technique de la société ATOS qui fabrique ces API).
3 - Créez un fichier PHP pour pister le chemin physique (/homez.xxx/monsite/...). Pour moi le code qui a fonctionné c'est :

<?php

print getcwd();

?>

.
Ce fichier est à placer dans tous les répertoires dont on vous demandera les chemins physiques, soit le répertoire "param" et le répertoire "bin" qui peut s'appeler "cgi-bin".
Ah oui : moi j'ai placé tout le bouzin de la banque dans "sites/all/payment".
4 - Les exécutables "request" et "response" qui ont fonctionné pour moi sont ceux du répertoire "static".
Ensuite, il faut faire les tests recommandés par la banque en appelant le fichier "call_request.php" avec votre navigateur.

Moi, ça m'a pris une semaine, tout ça pour réussir un test (la doc LCL Sherlocks est nulle).

Passons à Drupal :
le module qui supporte tout ces API's c'est Commerce Atos (https://drupal.org/project/commerce_atos) VERSION 1.X. Ben ouais, je m'ai gouré, faut dire que mon anglois n'est pas très performant. Bon faut faire aussi monter les modules requis, mais là dessus, Drupal est super performant.

Ne pas tenir compte de l'avertissement :
"Requirements :

The atos library, you can download it here :
http://www.e-transactions.credit-agricole.fr/formulaire_telechargement.htm".
Ça m'a enduit d'erreurs (et 2 jours de plus...)

Vous allez dans "Paramètres de la Boutique/Méthode de paiement" et vous repérez "Credit card Atos". Vous faites "Modifier" et à nouveau "Modifier" à l'onglet "Action.
Laissez tomber le "Generate automatically the pathfile", vous en avez déjà un de paramétré (normalement).
Un truc, pour les champs "Path to the binaries *" et "Path to config files (param folder) *", c'est qu'il ne faut pas de slashes A LA FIN (un bon quart d'heure de doutes). Les adresses sont physiques, au format "homez.xxx/maboutique/...". Mais normalement, vous le savez déjà, vous les avez paramétré dans vos fichiers "call_request.php", "call_response.php", "call_autoresponse.php".
Vous enregistrez et là, mauvaise surprise le bouzin proteste en vous demandant un fichier nommé "certif.fr.014295303911111". Or la banque vous a fourni un fichier PHP ("certif.fr.014295303911111.php").

Ben non, faut pas juste effacer l'extension... En fait, après trois jours de courrier affolés vers les grands maîtres du développement Nicolas MEYER, Julien DUBREUIL et finalement Jonathan SACKSICK (qui m'a déplanté, mais un immense merci avec éternelle reconnaissance à tous trois), Jonathan m'a envoyé vers cette page :
https://github.com/Johann-dotgee/dotspree/tree/master/lib/atos/sherlocks
Là vous copiez le contenu de "certif.fr.014295303911111", vous le collez dans un fichier SANS EXTENSION et vous le mettez dans le bon répertoire (moi c'est "param").
ATTENTION : ce certif n'est valable que pour le mode "Demonstration" du module (mais vous en êtes là, n'est-ce pas ?).
Normalement, tout fonctionne.

Bon voilà, en espérant avoir aidé.
Et encore merci aux trois colosses du développement cités plus haut !

Forum : 

Pour information le phpinfo() est faisable de nimporte où et de base il est accessible dans le tableau de bord de drupal (peut être même le getcwd().) Je ne comprend pas du tout le passage sur le getcwd, mis à part avoir une faille de sécurité dans tous tes repertoires.... Pour ma part à chaque intallations de atos, je récupère les bin (il faut juste faire attention à avoir les versions 32 bits ou 64 bits selon les serveurs) bien renseigner les paths dans la conf du module, mettre le bon certificat & tt roule...