par
dogmongo » 03 mai 2007, 09:08
oui c'est exectement ca
$parm="merchant_id=";
$parm="$parm merchant_country=fr";
$parm="$parm amount=$amount";
$parm="$parm currency_code=978";
// Initialisation du chemin du fichier pathfile (à modifier)
// ex :
// -> Windows : $parm="$parm pathfile=c:\\repertoire\\pathfile";
// -> Unix : $parm="$parm pathfile=/home/repertoire/pathfile";
$parm="$parm pathfile=./pathfile";
// Si aucun transaction_id n'est affecté, request en génère
// un automatiquement à partir de heure/minutes/secondes
// Référez vous au Guide du Programmeur pour
// les réserves émises sur cette fonctionnalité
//
// $parm="$parm transaction_id=123456";
// Affectation dynamique des autres paramètres
// Les valeurs proposées ne sont que des exemples
// Les champs et leur utilisation sont expliqués dans le Dictionnaire des données
//
$parm="$parm normal_return_url=http://www.site.com/paiement/accept.php";//redif si accept
$parm="$parm cancel_return_url=http://www.site.com/paiement/refus.php";//redif page refus
$parm="$parm automatic_response_url=http://www.site.com/paiement/call_response.php";
$parm="$parm language=fr";
$parm="$parm payment_means=CB,2,VISA,2,MASTERCARD,2";
$parm="$parm header_flag=no";
$parm="$parm capture_day=";
$parm="$parm capture_mode=";
$parm="$parm bgcolor=";//couleur de font de la fenetre paiement
$parm="$parm block_align=center";
$parm="$parm block_order=";
$parm="$parm textcolor=";
$parm="$parm receipt_complement=";
$parm="$parm caddie=";//article achetés
$parm="$parm customer_id=$_SERVER[UNIQUE_ID]";
$parm="$parm customer_email=$_POST[mail]";
$parm="$parm customer_ip_address=$_SERVER[REMOTE_ADDR]";
$parm="$parm data=";
$parm="$parm return_context=";
$parm="$parm target=_blank";
$parm="$parm order_id=";
// Les valeurs suivantes ne sont utilisables qu'en pré-production
// Elles nécessitent l'installation de vos fichiers sur le serveur de paiement
//
$parm="$parm normal_return_logo=";
$parm="$parm cancel_return_logo=";
$parm="$parm submit_logo=";
$parm="$parm logo_id=";
$parm="$parm logo_id2=";
$parm="$parm advert=/logo-top.jpg";//logo en haut de la fenetre paiement
$parm="$parm background_id=";//image de font de la fenetre paiement
$parm="$parm templatefile=";
// insertion de la commande en base de données (optionnel)
// A développer en fonction de votre système d'information
// Initialisation du chemin de l'executable request (à modifier)
// ex :
// -> Windows : $path_bin = "c:\\repertoire\\bin\\request";
// -> Unix : $path_bin = "/home/repertoire/bin/request";
//
$path_bin = "./request";
// Appel du binaire request
$result=exec("$path_bin $parm");
// sortie de la fonction : $result=!code!error!buffer!
// - code=0 : la fonction génère une page html contenue dans la variable buffer
// - code=-1 : La fonction retourne un message d'erreur dans la variable error
//On separe les differents champs et on les met dans une variable tableau
$tableau = explode ("!", "$result");
// récupération des paramètres
$code = $tableau[1];
$error = $tableau[2];
$message = $tableau[3];
// analyse du code retour
if (( $code == "" ) && ( $error == "" ) )
{
print ("<BR><CENTER>erreur appel request</CENTER><BR>");
print ("executable request non trouve $path_bin");
}
// Erreur, affiche le message d'erreur
else if ($code != 0){
print ("<center><b><h2>Erreur appel API de paiement. </h2></center></b>");
print ("<br><br><br>");
print (" message erreur : $error <br>");
}
// OK, affiche le formulaire HTML
else {
print ("<br><br>");
# OK, affichage du mode DEBUG si activé
print (" $error <br>");
print (" $message <br>");
}
print ("</BODY></HTML>");
la variable caddie je peu mettre plus de 2000 caractère de tout type d'ou mon etonnement sur l'error ?
Enfin bref, déjà es-tu sûr du contenu de $_POST['caddie'] ? Ne faudrait-il pas sérializer, urlencoder, ou que sais-je encore ? As-tu lu la doc de webaffaires ? As-tu fais un “echo $parm” pour vérifier ?
oui je confirme impeccable je respect bien ce qu'il me disent , surtout que comme je te le precise plus haut ce champ n'est pas traité par la bank il est retourné tel que je le donne.
j'ai testé et je récupere très bien mes données avant traitement
Par contre une info qui peu peu être vous guider j'ai essayé de mettre des données numérique uniquement et la ca passe ??
[size=92]oui c'est exectement ca [/size]
[php]
$parm="merchant_id=";
$parm="$parm merchant_country=fr";
$parm="$parm amount=$amount";
$parm="$parm currency_code=978";
// Initialisation du chemin du fichier pathfile (à modifier)
// ex :
// -> Windows : $parm="$parm pathfile=c:\\repertoire\\pathfile";
// -> Unix : $parm="$parm pathfile=/home/repertoire/pathfile";
$parm="$parm pathfile=./pathfile";
// Si aucun transaction_id n'est affecté, request en génère
// un automatiquement à partir de heure/minutes/secondes
// Référez vous au Guide du Programmeur pour
// les réserves émises sur cette fonctionnalité
//
// $parm="$parm transaction_id=123456";
// Affectation dynamique des autres paramètres
// Les valeurs proposées ne sont que des exemples
// Les champs et leur utilisation sont expliqués dans le Dictionnaire des données
//
$parm="$parm normal_return_url=http://www.site.com/paiement/accept.php";//redif si accept
$parm="$parm cancel_return_url=http://www.site.com/paiement/refus.php";//redif page refus
$parm="$parm automatic_response_url=http://www.site.com/paiement/call_response.php";
$parm="$parm language=fr";
$parm="$parm payment_means=CB,2,VISA,2,MASTERCARD,2";
$parm="$parm header_flag=no";
$parm="$parm capture_day=";
$parm="$parm capture_mode=";
$parm="$parm bgcolor=";//couleur de font de la fenetre paiement
$parm="$parm block_align=center";
$parm="$parm block_order=";
$parm="$parm textcolor=";
$parm="$parm receipt_complement=";
$parm="$parm caddie=";//article achetés
$parm="$parm customer_id=$_SERVER[UNIQUE_ID]";
$parm="$parm customer_email=$_POST[mail]";
$parm="$parm customer_ip_address=$_SERVER[REMOTE_ADDR]";
$parm="$parm data=";
$parm="$parm return_context=";
$parm="$parm target=_blank";
$parm="$parm order_id=";
// Les valeurs suivantes ne sont utilisables qu'en pré-production
// Elles nécessitent l'installation de vos fichiers sur le serveur de paiement
//
$parm="$parm normal_return_logo=";
$parm="$parm cancel_return_logo=";
$parm="$parm submit_logo=";
$parm="$parm logo_id=";
$parm="$parm logo_id2=";
$parm="$parm advert=/logo-top.jpg";//logo en haut de la fenetre paiement
$parm="$parm background_id=";//image de font de la fenetre paiement
$parm="$parm templatefile=";
// insertion de la commande en base de données (optionnel)
// A développer en fonction de votre système d'information
// Initialisation du chemin de l'executable request (à modifier)
// ex :
// -> Windows : $path_bin = "c:\\repertoire\\bin\\request";
// -> Unix : $path_bin = "/home/repertoire/bin/request";
//
$path_bin = "./request";
// Appel du binaire request
$result=exec("$path_bin $parm");
// sortie de la fonction : $result=!code!error!buffer!
// - code=0 : la fonction génère une page html contenue dans la variable buffer
// - code=-1 : La fonction retourne un message d'erreur dans la variable error
//On separe les differents champs et on les met dans une variable tableau
$tableau = explode ("!", "$result");
// récupération des paramètres
$code = $tableau[1];
$error = $tableau[2];
$message = $tableau[3];
// analyse du code retour
if (( $code == "" ) && ( $error == "" ) )
{
print ("<BR><CENTER>erreur appel request</CENTER><BR>");
print ("executable request non trouve $path_bin");
}
// Erreur, affiche le message d'erreur
else if ($code != 0){
print ("<center><b><h2>Erreur appel API de paiement. </h2></center></b>");
print ("<br><br><br>");
print (" message erreur : $error <br>");
}
// OK, affiche le formulaire HTML
else {
print ("<br><br>");
# OK, affichage du mode DEBUG si activé
print (" $error <br>");
print (" $message <br>");
}
print ("</BODY></HTML>");
[/php]
[size=92]la variable caddie je peu mettre plus de 2000 caractère de tout type d'ou mon etonnement sur l'error ?[/size]
[quote="naholyr"]
Enfin bref, déjà es-tu sûr du contenu de $_POST['caddie'] ? Ne faudrait-il pas sérializer, urlencoder, ou que sais-je encore ? As-tu lu la doc de webaffaires ? As-tu fais un “echo $parm” pour vérifier ?[/quote]
[size=92]oui je confirme impeccable je respect bien ce qu'il me disent , surtout que comme je te le precise plus haut ce champ n'est pas traité par la bank il est retourné tel que je le donne.
j'ai testé et je récupere très bien mes données avant traitement
Par contre une info qui peu peu être vous guider j'ai essayé de mettre des données numérique uniquement et la ca passe ??
[/size]