Bonjour,
Je suis en train de développer une procédure afin de générer le certificat HMAC qui me sert à vérifier l'intégrité des données envoyées au serveur de paiement Paybox. Je suis reparti du code d'exemple du manuel d'intégration via l'exemple écrit en PHP et j'essaie tant bien que mal à trouver un équivalent à la fonction pack sous Webdev.
Pour rappel, voici le code PHP que j'essaie de reproduire en WLangage :
Ce que j'ai réalisé à l'heure actuelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $binKey = pack("H*", $key); //ici $hmac = strtoupper(hash_hmac('sha512', $msg, $binKey));
J'arrive donc bien à retourner l'équivalent de ma chaîne en Hexadécimal, mais certaines spécifications de la fonction pack sous PHP m'échappent (comme la notion de répéteur par exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 FUNCTION StringToHexa(pString) DecValue is int HexValue is string nCount is int IF pString <> "" THEN sSBuffHexa is string = "0x" FOR nCount = 1 TO Length(pString) DecValue = Asc(pString[[nCount]]) HexValue = NoSpace(NumToString(ValD, "02X")) sSBuffHexa = sSBuffHexa + ValH END ELSE sSBuffHexa = "Null" END RESULT (sSBuffHexa)
Au final, la signature HMAC que je génère est fausse et le serveur Paybox me retourne une erreur "Problème d'identification du commerce. Accès refusé !".
Cordialement,
Maxime
Partager