[RESOLU] générer le sceau (pour cybermut)

gabriel-dots
Invité n'ayant pas de compte PHPfrance

18 sept. 2011, 03:17

Bonjour,

je suis entrain d'installer un paiement cybermut sur un site web
et je sèche sur la variable MAC à déclarer dans le formulaire d'envoi des informations au système.

dans leur documentation ils disent :

"Le sceau (à mettre dans le champ MAC) est calculé à l’aide d’une fonction de
hachage cryptographique en combinaison avec une clé secrète respectant les
spécifications de la RFC 2104.
Cette fonction générera le sceau à partir de données à certifier et de la clé de
sécurité commerçant sous sa forme opérationnelle.

Les données à certifier seront présentées sous la forme d’une concaténation dans un
ordre précis des informations du formulaire : <TPE>*<date>*<montant>*<reference>*<texte-libre>*
<version>*<lgue>*<societe>*<mail>**<nbrech>*<dateech1>*<montantech1>*<dateech2>*<montantech2>*<dateech3>*<montantech3>*<dateech4>*<montantech4>*<options>

"
alors j'ai cette clé secrète : C90B545B5FDC60E611126088561188BCA6BA409E
et les données à certifier concaténées : 1234567*05/12/2006:11:55:23*62.73EUR*ABERTYP00145*Exemple
TexteLibre*3.0*FR*monSite1*[email protected]**********

comment générer ce fameux sceau ensuite?

merci.

ViPHP
xTG
ViPHP | 7331 Messages

18 sept. 2011, 10:07

La fonction doit être fournie dans l'API, tu as normalement juste à lui passer ces deux informations.

gabriel-dots
Invité n'ayant pas de compte PHPfrance

18 sept. 2011, 14:00

merci pour ta réponse.
mais comment passer ces deux données.

dans leur exemple (documentation technique) ils disent :

<input type="hidden" name="MAC" value="78bc376c5b192f1c48844794cbdb0050f156b9a2">

ViPHP
xTG
ViPHP | 7331 Messages

18 sept. 2011, 19:23

S'ils ne fournissent aucun outil c'est donc à toi de coder cette fonction.
La lecture de la RFC correspondante te donnera des pistes et même un exemple en langage C : http://www.ietf.org/rfc/rfc2104.txt ;)

Mammouth du PHP | 19672 Messages

18 sept. 2011, 22:13

Ça ne devrait pas poser autant de problèmes. J'ai déjà implémenté le paiement en ligne CyberMut il y a pas mal de temps, je n'ai pas le code sous la main, mais de mémoire, la documentation était très complète et il y avais des exemples de code. Tu as donc du louper un élément quelque part. À l'époque, j'étais encore relativement junior en développement PHP et j'ai mis ce truc en place en très peu de temps. Vérifie en détail la documentation fournie, et surtout les exemples de code, les exemples sont fournis dans divers langages, le PHP est là aussi.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

gabriel-dots
Invité n'ayant pas de compte PHPfrance

20 sept. 2011, 22:53

oui merci à tous.

je me suis pris la tête pour rien.
il y a bien une API founie!
y'a pas plus simple.

comme quoi des fois on se prend la tête alors que c'est simple
et par moment on ne se la prend pas alors que c'est compliqué....

inuits44
Invité n'ayant pas de compte PHPfrance

23 févr. 2012, 17:28

Bonjour
Je pense etre sur la meme site bancaire mais je ne comprends pas où et comment installée ma clé.
J'ai bien télécharger une appli en .key
mais comment générer le MAC
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 févr. 2012, 17:50

Modération :
inuits44, si tu as une question, merci d'ouvrir un nouveau sujet, quitte à faire un lien vers celui là ;)
Merci d'avance
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer