| Current Path : /home/happyrenas/old/huissier-express.fr/ |
Linux webd005.cluster105.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 |
| Current File : /home/happyrenas/old/huissier-express.fr/paybox.php |
<?php
// clef secrète du commerçant
$secretKeyTest = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF";
// URL du serveur (ici la pre-production pour les tests)
$PAYBOX_DOMAIN_SERVER = "preprod-tpeweb.paybox.com";
// On récupère la date au format ISO-8601
$dateTime = date("c");
// On renseigne les différents paramètres de la requête de paiement
$PBX_SITE = "1999888";
$PBX_RANG = "32";
$PBX_IDENTIFIANT = "110647233";
$PBX_TOTAL = 2100;
$PBX_DEVISE = 978;
$PBX_CMD = "8";
$PBX_PORTEUR = "test@paybox.com";
//$PBX_RETOUR = "Mt:M;Ref:R;Auto:A;Erreur:E";
$PBX_RETOUR = "auto:A;amount:M;ident:R;trans:T;carte:C;tran:S;dat:D;erreur:E";
$PBX_HASH = "SHA512";
$PBX_TYPEPAIEMENT ="CARTE";
$PBX_TYPECARTE="CB";
$PBX_TIME = $dateTime;
$PBX_3DS = "N";
$PBX_REPONDRE_A="https://www.huissier-express.fr/saisir-huissier-pour-regler-un-impaye_auto.php";
$PBX_EFFECTUE ="https://www.huissier-express.fr/saisir-huissier-pour-regler-un-impaye_effectue.php";
$PBX_ANNULE ="https://www.huissier-express.fr/saisir-huissier-pour-regler-un-impaye_annule.php";
$PBX_REFUSE ="https://www.huissier-express.fr/saisir-huissier-pour-regler-un-impaye_refuse.php";
// On crée la chaîne à hacher sans URLencodage
$msg =
"PBX_SITE=$PBX_SITE".
"&PBX_RANG=$PBX_RANG".
"&PBX_IDENTIFIANT=$PBX_IDENTIFIANT".
"&PBX_TOTAL=$PBX_TOTAL".
"&PBX_DEVISE=$PBX_DEVISE".
"&PBX_CMD=$PBX_CMD".
"&PBX_PORTEUR=$PBX_PORTEUR".
"&PBX_RETOUR=$PBX_RETOUR".
"&PBX_HASH=$PBX_HASH".
"&PBX_TYPEPAIEMENT=$PBX_TYPEPAIEMENT".
"&PBX_TYPECARTE=$PBX_TYPECARTE".
"&PBX_3DS=$PBX_3DS".
"&PBX_REPONDRE_A=$PBX_REPONDRE_A".
"&PBX_EFFECTUE=$PBX_EFFECTUE".
"&PBX_ANNULE=$PBX_ANNULE".
"&PBX_REFUSE=$PBX_REFUSE".
"&PBX_TIME=$PBX_TIME";
// On récupère la clé secrète HMAC (stockée dans une base de données par exemple) et que l’on renseigne dans la variable $keyTest;
// Si la clé est en ASCII, On la transforme en binaire
$binKey = pack("H*", $secretKeyTest);
// On calcule l’empreinte (à renseigner dans le paramètre PBX_HMAC) grâce à la fonction hash_hmac et // la clé binaire
// On envoie via la variable PBX_HASH l'algorithme de hachage qui a été utilisé (SHA512 dans ce cas)
// Pour afficher la liste des algorithmes disponibles sur votre environnement, décommentez la ligne // suivante
//print_r(hash_algos());
$hmac = strtoupper(hash_hmac('sha512', $msg, $binKey));
// La chaîne sera envoyée en majuscules, d'où l'utilisation de strtoupper()
// On crée le formulaire à envoyer à Paybox System
// ATTENTION : l'ordre des champs est extrêmement important, il doit
// correspondre exactement à l'ordre des champs dans la chaîne hachée
?>
<form method="POST" action="https://<?php echo $PAYBOX_DOMAIN_SERVER; ?>/cgi/MYchoix_pagepaiement.cgi">
<input type="hidden" name="PBX_SITE" value="<?php echo $PBX_SITE; ?>">
<input type="hidden" name="PBX_RANG" value="<?php echo $PBX_RANG; ?>">
<input type="hidden" name="PBX_IDENTIFIANT" value="<?php echo $PBX_IDENTIFIANT; ?>">
<input type="hidden" name="PBX_TOTAL" value="<?php echo $PBX_TOTAL; ?>">
<input type="hidden" name="PBX_DEVISE" value="<?php echo $PBX_DEVISE; ?>">
<input type="hidden" name="PBX_CMD" value="<?php echo $PBX_CMD; ?>">
<input type="hidden" name="PBX_PORTEUR" value="<?php echo $PBX_PORTEUR; ?>">
<input type="hidden" name="PBX_RETOUR" value="<?php echo $PBX_RETOUR; ?>">
<input type="hidden" name="PBX_HASH" value="<?php echo $PBX_HASH; ?>">
<input type="hidden" name="PBX_TYPEPAIEMENT" value="<?php echo $PBX_TYPEPAIEMENT; ?>">
<input type="hidden" name="PBX_TYPECARTE" value="<?php echo $PBX_TYPECARTE; ?>">
<input type="hidden" name="PBX_3DS" value="<?php echo $PBX_3DS; ?>">
<input type="hidden" name="PBX_REPONDRE_A" value="<?php echo $PBX_REPONDRE_A; ?>">
<input type="hidden" name="PBX_EFFECTUE" value="<?php echo $PBX_EFFECTUE; ?>">
<input type="hidden" name="PBX_ANNULE" value="<?php echo $PBX_ANNULE; ?>">
<input type="hidden" name="PBX_REFUSE" value="<?php echo $PBX_REFUSE; ?>">
<input type="hidden" name="PBX_TIME" value="<?php echo $PBX_TIME; ?>">
<input type="hidden" name="PBX_HMAC" value="<?php echo $hmac; ?>">
<input type="submit" value="Payer">
</form>