[RESOLU] Paybox input et variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Paybox input et variable

Re: Paybox input et variable

par jcm38 » 18 oct. 2012, 10:19

Re !

C'est résolu ! Cela venait bien de l'extension de mon fichier !
Tellement évident…

Merci moogli pour tes conseils qui m'ont permis de débuguer

JC

Re: Paybox input et variable

par jcm38 » 18 oct. 2012, 09:27

J'ai progressé grâce à Moogli :

J'obtiens une réponse correcte maintenant pour PBX_TIME et PBX_HMAC:
array(11) { ["PBX_SITE"]=> string(7) "1999888" ["PBX_RANG"]=> string(2) "32" ["PBX_IDENTIFIANT"]=> string(9) "110647233" ["PBX_TOTAL"]=> string(4) "1000" ["PBX_DEVISE"]=> string(3) "978" ["PBX_CMD"]=> string(5) "TEST3" ["PBX_PORTEUR"]=> string(12) "[email protected]" ["PBX_RETOUR"]=> string(26) "Mt:M;Ref:R;Auto:A;Erreur:E" ["PBX_HASH"]=> string(6) "SHA512" ["PBX_TIME"]=> string(25) "2012-10-18T09:15:08+02:00" ["PBX_HMAC"]=> string(128) "ED435BD3CA16B7E5698C6A8C79A12C465736A822C4CDE56F32A14D20F748D94832612DFA2241926977AE28EA318D26E6BDC8830A555ACBDD00DEFC5E403E520C" }
Cause : extension de fichier en .html et non pas en .php !! Hum ! Cela ne permettais donc à priori pas de retourner les variables via echo

MAIS toujours une erreur du serveur…
Je poursuis …
Merci

Re: Paybox input et variable

par jcm38 » 18 oct. 2012, 08:54

Bonjour Moogli

Génial ! Grand merci pour ta réponse qui fait avancer mon pb.

Voilà le contenu du fichier :
array(11) { ["PBX_SITE"]=> string(7) "1999888" ["PBX_RANG"]=> string(2) "32" ["PBX_IDENTIFIANT"]=> string(9) "110647233" ["PBX_TOTAL"]=> string(4) "1000" ["PBX_DEVISE"]=> string(3) "978" ["PBX_CMD"]=> string(5) "TEST3" ["PBX_PORTEUR"]=> string(12) "[email protected]" ["PBX_RETOUR"]=> string(26) "Mt:M;Ref:R;Auto:A;Erreur:E" ["PBX_HASH"]=> string(6) "SHA512" ["PBX_TIME"]=> string(24) "" ["PBX_HMAC"]=> string(20) "" }
En effet, PBX_TIME et PBX_HMAC semblent vides "", c'est cela ??

Re: Paybox input et variable

par moogli » 17 oct. 2012, 22:40

salut,

change la cible du formulaire pour un fichier à toi, dans lequel tu met juste
<?php
var_dump($_POST);
?>
tu auras ce que le formulaire envoie


@+

Paybox input et variable

par jcm38 » 17 oct. 2012, 20:25

Bonjour,

J'essais de mettre en place une solution de paiement en ligne Paybox.
Je fais donc d'abord quelques tests.

Voici le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<title>Page de test Paybox - AI</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
	<body>
		<h2>Page de test Paybox - AI</h2>
<?php
$dateTime= date("c");
$msg="PBX_SITE=1999888".
"&PBX_RANG=32".
"&PBX_IDENTIFIANT=110647233".
"&PBX_TOTAL=1000".
"&PBX_DEVISE=978".
"&PBX_CMD=TEST".
"&[email protected]".
"&PBX_RETOUR=Mt:M;Ref:R;Auto:A;Erreur:E".
"&PBX_HASH=SHA512".
"&PBX_TIME=$dateTime";
$keyTest="0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF";
$binKey = pack("H*", $keyTest);
$hmac= strtoupper(hash_hmac('sha512', $msg, $binKey));
?>
		<form method="POST" action="https://preprod-tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi">
			<input type="hidden" name="PBX_SITE" value="1999888" />
			<input type="hidden" name="PBX_RANG" value="32" />
			<input type="hidden" name="PBX_IDENTIFIANT" value="110647233" />
			<input type="hidden" name="PBX_TOTAL" value="1000" />
			<input type="hidden" name="PBX_DEVISE" value="978" />
			<input type="hidden" name="PBX_CMD" value="TEST" />
			<input type="hidden" name="PBX_PORTEUR" value="[email protected]" />
			<input type="hidden" name="PBX_RETOUR" value="Mt:M;Ref:R;Auto:A;Erreur:E" />
			<input type="hidden" name="PBX_HASH" value="SHA512" />
			<input type="hidden" name="PBX_TIME" value="<?php echo $dateTime; ?>" />
			<input type="hidden" name="PBX_HMAC" value="<?php echo $hmac; ?>" />
			<input type="submit" value="Envoyer" />
		</form>
	</body>
</html>
En retour le serveur m'envoi un message d'erreur.
Le support Paybox m'a informé succinctement que l'erreur vient de la valeur de PBX_HMAC qui serait <?php echo $hmac; ?> ???
Pour info, si je remplace, en dur, les value de PBX_TIME et de PBX_HMAC le serveur répond, après avoir décomposé la partie php pour recupérer les bonnes valeur de $msg, $dateTime et $hmac. Ce qui valide mon serveur (et celui de paybox)
Paybox m'a confirmé la bonne syntaxe de la page.
J'ai installé la page sur 2 serveurs différents, idem.

Mes questions sont, s'il vous plaît :
- y-a-t'il un moyen de récupérer ce qui est envoyé au serveur, ce qui est généré par le POST, pour l'analyser ?
- est-il possible d'écrire tout cela autrement ?
- vos autres suggestions… ?
- une piste…

3 jours que je suis dessus et des dizaines de tests plus loin, là maintenant, je ne sais vraiment plus quoi essayer…
Help !!

Merci
JC