Bonjour tout le monde,
Après moults galères pour l'intégration de Cybermut à OSC je vais tenter de faire un récapitulatif des infos récoltées dans le forum afin de parvenir à un tuto plus ou moins performant !
Source principale : http://www.oscommerce-fr.info/forum/index.php?showtopic=5860&hl=cybermut
Pré-requis
CODE |
define('STORE_SESSIONS', 'mysql'); // leave empty '' for default handler or set to 'mysql' |
CODE |
$pass = "" |
CODE |
$k1 = $pass; |
CODE |
$k1 = pack("H*",sha1($pass)); |
CODE |
function checkMAC($bnkquery) { define("CMCIC_PHP2_FIELDS", "%s%s+%s+%s+%s+%s+%s+%s+"); // procede au controle d'integrité des données renvoyées par le serveur $databank = sprintf(CMCIC_PHP2_FIELDS, $bnkquery['retourPLUS'], MODULE_PAYMENT_CMCIC_TPE, $bnkquery["date"], $bnkquery['montant'], $bnkquery['reference'], $bnkquery['texte-libre'], MODULE_PAYMENT_CMCIC_VERSION, $bnkquery['code-retour']); $hmacbank = strtolower($bnkquery['MAC']); // on verifie que le mac envoyé par la banque correspond bien aux données recu if ($this->hmac_CMCIC($this->cle, $databank) == $hmacbank) { return true; } else { return false; } // ---------------------------------------------------------------------------------------------- } |
CODE |
// include server parameters require('includes/configure.php'); |
CODE |
require(DIR_WS_INCLUDES . 'add_ccgvdc_application_top.php'); |
CODE |
<?php if (ACCOUNT_CONDITIONS_REQUIRED == 'true') { ?> <TR> <TD width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></TD> <TD class="main" colspan="2"><?php echo CONDITION_AGREEMENT; ?> <INPUT type="checkbox" value="0" name="agree"></TD> <TD width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></TD> </TR> <TR> <TD width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></TD> <? if (isset($$payment->form_submit)) { $form_submit = $$payment->form_submit; } else { $form_submit = tep_template_image_submit('button_confirm_order_beige.gif', IMAGE_BUTTON_CONFIRM_ORDER); Echo(" <TD class=\"main\"><B>". TITLE_CONTINUE_CHECKOUT_PROCEDURE . "</b><br>" . TEXT_CONTINUE_CHECKOUT_PROCEDURE. "</TD>\n"); } } ?> |
CODE |
<?php if (ACCOUNT_CONDITIONS_REQUIRED == 'true') { ?> <TR> <TD width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></TD> <TD class="main" colspan="2"><?php echo CONDITION_AGREEMENT; ?> <INPUT type="checkbox" value="0" name="agree"></TD> <TD width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></TD> </TR> <TR> <TD width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></TD> <? } if (isset($$payment->form_submit)) { $form_submit = $$payment->form_submit; } else { $form_submit = tep_template_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER); Echo(" <TD class=\"main\"><B>". TITLE_CONTINUE_CHECKOUT_PROCEDURE . "</b><br>" . TEXT_CONTINUE_CHECKOUT_PROCEDURE. "</TD>\n"); } ?> |
CODE |
$this->form_action_url = 'https://www.creditmutuel.fr/telepaiement/test/paiement.cgi'; |
CODE |
$this->form_action_url = 'https://www.creditmutuel.fr/telepaiement/paiement.cgi'; |
QUOTE |
il faut préciser bien préciser que lorsqu'on a la key fournit par CM. il faut copier seulement les deux premieres ligne de la key dans le kit fournit par la banque. sinon on a un message à la validation de la commande. |
Je crée ce post it suite à une mise en place de la solution P@iement CIC .
Je remercie aussi ceux qui ont apporté sur le forum,
Tout les exemples ci dessous sont fictifs.
Pour tous les pbs, RDV sur ce http://www.oscommerce-fr.info/forum/index.php?act=ST&f=16&t=12565
Instructions d'installation
**************************
Télécharger l'open-Kit CM/CIC 1.03h sur le site http://commerce.e-i.com/news/
Installé P@iement CIC.
Suivre toutes les instruction à la lettre et ne rien faire d'autre.
La banque CIC va vous envoyer plusieurs Mails
-----------------------------------------------------------------------------------------------
1/
Le premier concernera un fichier appellé *** downloadkey6297911.html ***
Les 6297911 correspondent à votre TPE.
En cliquant sur ce fichier, vous accéder à un espace ou
1a/
vous aller télécharger un fichier
(après avoir mis un mot de passe et un pseudo donné par la banque) .key
6297911.key
Ce fichier contiendra ces lignes pour exemples
VERSION 1 1A01689474AB0BB6572D01C853091F3446795CM1
HMAC-SHA1
#
5a9847f9f3a92a95f6dde89474fd94111389412d
-----------------------------------------------------------------------------------------------
2/
Soit par mail soit via un lien, vous devrez télécharger ce ficher CM_CIC_Paiement-1.03h.zip
2a/
décompresser le fichier CM_CIC_Paiement-1.03h.zip
2b/
Aller dans le répertoire CM_CIC_Paiement-1.03h/tools/HMAC-SHA1
et lancer le ficher extract2HmacSha1.html
-----------------------------------------------------------------------------------------------
3/
3a/
Copier les trois lignes contenues dans le fichier .key fourni par la banque
VERSION 1 1A01689474AB0BB6572D01C853091F3446795CM1
HMAC-SHA1
#
5a9847f9f3a92a95f6dde89474fd94111389412d
3b/
Cliquer sur Generate a PassPhrase to split above key
Une clef apparait du type : ApO946IGehtpZkqdVu6D
3c/
Au niveau Enter your 7 digits TPE (merchant id) :
changer : 0000001
par votre TPE (7 chiffres): 6297911
3d/
Cliquer sur Compute HMAC Control Value
Une fenêtre apparait alors à l'écran => cliquer sur ok
3c/
Ignorer les saisies de société, kit, banque, ils n'ont pas (pas encore) de kit OsCommerce
Vous saisirez ces informations directement dans l'interface d'admin OSC.
!!!!!!! ne pas fermer le fichier extract2HmacSha1.html !!!!!!!!!
-----------------------------------------------------------------------
4/
copier la valeur du champs select first part ok key (=passphrase)
ex : Ape946IGiktpZkfdVu6D
4a/
ouvrir le fichier catalog/includes/modules/paiement/cmcic.php
4b/
vers la ligne 231
changer
$pass = "votrepassphrase";
par
$pass = "Ape946IGiktpZkfdVu6D";
4c/ Enregistrer le fichier et fermer le fichier
-----------------------------------------------------------------------
5/
Aller dans le fichier extract2HmacSha1.html
Copier la valeur du champ Select 2nd part of key
ex : 0x8343cc4efc47c5455524a2d79983fa4e84ca0701
5a/
Dans le répertoire /catalog/cmcic/
Editer le fichier 6297911.cle.2nde ou votretrpe.cle.2nde
5b/
Remplacer la valeur
0x937964ab85eca9e0c2f556b8b834d6f450db5e67
par
0x8343cc4efc47c5455524a2d79983fa4e84ca0701
Prendre garde à ne rajouter aucun espace ou saut de ligne,
le fichier .cle.2nde ne doit contenir QUE les caractères de la clef,
ici ca commence à 0x et ca finit à 65
A noter que pour la phase de test "prospect" il suffit de générer une clef fictive en cochant "dummy key"
5c/
Enregistrer et fermer le fichier
5d/
Fermer le fichier extract2HmacSha1.html
--------------------------------------------------------------------
6/ Aller dans phpmyadmin
6a/
Exécuter les requête sql
cmcic_reference.sql et cmcic_response.sql
--------------------------------------------------------------------
7/ tranférer sur votre serveur les fichiers du répertoire catalog
7a/ Dans l'admin, valider le module Cyberpaiement.
Partie administration du site
Modules/Paiement
Cliquer sur Cyberpaiement et installer.
Editer le fichier et remplacer les éléements suivant
Remplir les champs :
-Activer Module Cybermut
True
-Sort order of display.
0
-Numero TPE
<votre n°TPE> ========> 6297911
-Version du Kit
1.2open
-Societe
<votre code société> =========> donner par la banque lors d'un mail
-Bouton
Paiement CB
7b/ essayer de passer une commande pour voir si le module bancaire réagit correctement (si vous avez une erreur c'est normal
mais vous devriez voir les champs d'insertion de la carte bancaire).
7c/ Dévalider le module cyberpaiement si votre boutique est en prodcution
------------------------------------------------------------------
8/ téléphoner ou envoyer un mail
P@iement CIC
Euro Information
Commerce électronique
36 rue de Messines
BP 206
F-59832 VERLINGHEM CEDEX
Tel : +33 (0)3.20.12.63.50
Fax : +33 (0)3.20.12.63.54
mailto:centrecom@e-i.com
8a/ Préciser que vous avez mis en test la contribution oscommerce cyberpaiement CIC.
8b/
Donner le lien de la home page de votre catalog :
http://www.monssite.com si catalog dans la racine
http://www.monsiete.com/catalog/ si page index.php est dans catalog
8c/ Préciser le n° de votre TPE : 6297911
8d/
Préciser l'adresse de retour cmcic_response.php
http://www.monssite.com/cmcic_response.php si cmcic_response.php dans la racine
http://www.monsiete.com/catalog/cmcic_response.php si page cmcic_response.php est dans catalog
8e/ Vous devriez recevoir un mail de centrecom vous spécifiant que la mise à jour a été effectuée.
8f/ Réaliser un test sur votre site.
-------------------------------------------------------------------------
9/ Pour passer en production
9a/ Editer le fichier catalog/includes/modules/paiement/cmcic.php
9b/ Vers la ligne 53 : passage en serveur test ou prod
9c/
Supprimer les // de la ligne 57 (seveur en production)
// $this->form_action_url = html_encode('https://ssl.paiement.cic-banques.fr/paiement.cgi');
9d/
Mettre les // de la ligne (serveur test)
$this->form_action_url = html_encode('https://ssl.paiement.cic-banques.fr/test/paiement.cgi');
9e/ Enregistrer et fermer
9f/ Télécharger le fichier sur votre serveur dans le répertoire catalog/includes/modules/paiement/
9g/ Dans la partie admin de votre site
Supprimer le module Cyberpaiement
Installer le module cyberpaiement
==> ceci afin de réinitialiser les variable.
!!!!!!!!!!! N'oublier pas d'y rajouter votre code société et TPE. !!!!!!!!!!!!
9g/ Envoyer un fax ou une lettre à
P@iement CIC
Euro Information
Commerce électronique
36 rue de Messines
BP 206
F-59832 VERLINGHEM CEDEX
Tel : +33 (0)3.20.12.63.50
Fax : +33 (0)3.20.12.63.54
mailto:centrecom@e-i.com
et préciser les points suivant :
- Serveur mis en production
- N° TPE : 6297911
- Nom entreprise : monentreprise
- Mon site : http://www.monsite.cpm
=> L'idéal c'est de les appeller.
9h/
la banque vous confirmera la mise en production, alors vous pouvez mettre le module en production
----------------------------------------------------------------------------
La contribution est désormais fonctionnelle (en théorie !)
-faire une commande test pour s'en assurer
-----------------------------------------------------------------------------------------------
En cas de problème consulter le forum d'Oscommerce !
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)