loadHTMLFile('https://'.$serveur.'/load.html'); $server_status = ""; $element = $doc->getElementById('server_status'); if($element){ $server_status = $element->textContent;} if($server_status == "OK"){ // Le serveur est prêt et les services opérationnels $serveurOK = $serveur; break;} // else : La machine est disponible mais les services ne le sont pas. } //curl_close($ch); <== voir paybox if(!$serveurOK){ die("Erreur : Aucun serveur n'a été trouvé");} // Activation de l'univers de préproduction //$serveurOK = 'preprod-tpeweb.paybox.com'; //Création de l'url cgi paybox $serveurOK = 'https://'.$serveurOK.'/cgi/MYchoix_pagepaiement.cgi'; // echo $serveurOK; */ // --------------- TRAITEMENT DES VARIABLES --------------- // On récupère la date au format ISO-8601 $dateTime = date("c"); $dateTime = "2016-07-26T15:38:11+02:00"; // 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=978". "&PBX_CMD=".$pbx_cmd. "&PBX_PORTEUR=".$pbx_porteur. // "&PBX_REPONDRE_A=".$pbx_repondre_a. "&PBX_RETOUR=".$pbx_retour. // "&PBX_EFFECTUE=".$pbx_effectue. // "&PBX_ANNULE=".$pbx_annule. // "&PBX_REFUSE=".$pbx_refuse. "&PBX_HASH=SHA512". "&PBX_TIME=".$dateTime; // echo $msg; // Si la clé est en ASCII, On la transforme en binaire $binKey = pack("H*", $keyTest); // On calcule l’empreinte (à renseigner dans le paramètre PBX_HMAC) grâce à la fonction hash_hmac et // // la clé binaire // On envoi 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()); echo $msg, "\n\n"; var_dump($binKey); $hmac = strtoupper(hash_hmac('sha512', $msg, $binKey)); // La chaîne sera envoyée en majuscule, d'où l'utilisation de strtoupper() // On crée le formulaire à envoyer // ATTENTION : l'ordre des champs est extrêmement important, il doit // correspondre exactement à l'ordre des champs dans la chaîne hachée ?>