Accueil > Python > HMAC Paybox en Python

HMAC Paybox en Python

Paybox est une solution de paiement électronique que nous avons utilisé plusieurs fois.

Pour se connecter avec le service Paybox (en version 5.08), il est nécessaire de produire une empreinte HMAC des données du serveur que le client va envoyer vers le serveur Paybox pour payer. L’objectif est d’empêcher toute falsification car elle serait détectée grâce à l’empreinte qui ne correspondrait plus.

La documentation fournit une implémentation d’exemple en PHP :

<?php
 $key = 
 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF";
 $msg = "FORMULAIRE";
 $binkey = pack("H*", $key);
 $hmac = strtoupper(hash_hmac('sha512', $msg, $binkey));
 ?>

Voici l’équivalent en Python :

import binascii
import hashlib
import hmac


PRIVATE_KEY = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
msg = "FORMULAIRE"
binary_key = binascii.unhexlify(PRIVATE_KEY)
hmac = hmac.new(binary_key, msg, hashlib.sha512).hexdigest().upper()

Les deux codes fournissent le même résultat pour des couples (clé privée, message) identiques. Charge à vous de mettre les bonnes valeurs. 😉

Catégories :Python Étiquettes :
  1. 3 décembre 2012 à 12:56

    Merci pour ce travail.
    Grâce à vous, nous allons pouvoir fournir un exemple en Python dans nos documents d’intégration. Nous ferons un petit lien vers cette page en référence 😉

  2. 17 août 2017 à 13:41

    Merci beaucoup !!!

    Mais ils ne sont même pas capable de mettre ce que tu a fais sur leur doc…

  1. No trackbacks yet.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

%d blogueurs aiment cette page :