Submitted by selinav on
Bonjour,
J'utilise ubercart et j'ai installé le module paybox pour gérer mon paiement en ligne.
J'ai réussi à le paramétrer mais au moment de m'envoyer sur la page de paybox il me renvoie sur le panier avec un message d'erreur.
Après avoir examiné ce qui retourne ce message d'erreur, je me suis rendue compte que la fonction shell_exec posait problème (pour info le safe mode est désactivé chez mon hébergeur mutualisé OVH).
En gros dans la fonction qui appelle la page de paiement j'ai ceci
<?php
$path_bin = variable_get('uc_paybox_cgi_path', '');
$chaine = implode($chaine); // j'ai des var récupéré au dessus dans un tableau de type $chaine['retour'], $chaine['langue']...
$output=$path_bin.$chaine;
$output=trim($output);
$output = shell_exec(trim($path_bin.$chaine));
$output = ereg_replace("Content-type: text/html\nCache-Control: no-cache, no-store\nPragma: no-cache", '', $output);
if ($output) {
return $output;
}
else {
drupal_set_message(t('An error has occured during payment, please contact us : @output.', array('@output' => $output)), 'error');
//...
}
?>
Dans mon message de statut j'affiche $output.
Si je commente les 2 dernières
$output = shell_exec(trim($path_bin.$chaine));
$output = ereg_replace("Content-type: text/html\nCache-Control: no-cache, no-store\nPragma: no-cache", '', $output);
il me retourne le bon contenu
quelque chose comme
/my_path_to/cgi-bin/modulev3.cgi PBX_MODE=4 PBX_SITE=11111111 PBX_RANG=01 PBX_IDENTIFIANT=11111111 PBX_TOTAL=1300 PBX_CMD=40 PBX_PORTEUR=myemail@domaine.com PBX_DEVISE=978 PBX_RETOUR='montant:M;orderid:R;erreur:E;uniqueid:S;sign:K;' PBX_LANGUE=FRA PBX_EFFECTUE=http://www.mysite.com/cart/paybox/effectue PBX_REFUSE=http://www.mysite.com/cart/paybox/refuse PBX_ANNULE=http://www.mysite.com/cart/paybox/annule
j'ai essayé de simplifier en mettant
<?php
$output=$path_bin.$chaine;
$output=trim($output);
$output=shell_exec($output);
?>
mais ça bloque toujours sur shell_exec qui me retourne un $output vide et me redirige sur mon panier, sinon j'arrive bien sur la page /cart/paybox/checkout
J'ai vu qu'en mode manuel il mettait
<?php
echo shell_exec($MOD.$PBX);
?>
(http://www.denisbillo.com/fr/paybox/installation-paybox.php)
Dans mon cas ça m'affiche bien la page /cart/paybox/checkout mais ça s'arrête là, toujours pas de page de paiement car il peut pas faire
<?php
$output = ereg_replace("Content-type: text/html\nCache-Control: no-cache, no-store\nPragma: no-cache", '', $output);
?>
Auriez-vous une idée?
Un doute si cette fonction
Permalien Soumis par tostinni le 7 Janvier, 2010 - 20:23
Un doute si cette fonction pose probleme, pourquoi tu l'enleves pas tout simplement ?
Parce que de ce que je vois elle fait un bete trim qui est fait juste avant en php donc je veux bien que le trim du shell soit superieur a celui de php mais ca parait un peu faire double emploi, nan ?
en fait, j'ai fait
Permalien Soumis par selinav le 7 Janvier, 2010 - 21:20
en fait, j'ai fait différents tests, c'est pour ça que j'ai du m'emmêler dans mes explications.
A la base j'ai juste
et non pas
D'après la doc php la fonction shell_exec permet de lancer des commandes.
Etant donné que j'utilises windows (bouhhh certains diront) je suis nulle en ligne de commande.
Donc je ne comprends pas ce que peut retourner le code suivant en ligne de commande
/my_path_to/cgi-bin/modulev3.cgi PBX_MODE=4 PBX_SITE=11111111 PBX_RANG=01 PBX_IDENTIFIANT=11111111 PBX_TOTAL=1300 PBX_CMD=40 PBX_PORTEUR=myemail@domaine.com PBX_DEVISE=978 PBX_RETOUR='montant:M;orderid:R;erreur:E;uniqueid:S;sign:K;' PBX_LANGUE=FRA PBX_EFFECTUE=http://www.mysite.com/cart/paybox/effectue PBX_REFUSE=http://www.mysite.com/cart/paybox/refuse PBX_ANNULE=http://www.mysite.com/cart/paybox/annule
Et surtout ce que cela peut retourner.
A priori ça devrait me retourner quelque chose contenant ça "Content-type: text/html\nCache-Control: no-cache, no-store\nPragma: no-cache" et d'autres choses mais moi rien.
Est ce que cela peut venir du module cgi?
J'ai bien suivi l'installation de paybox, mais j'ai hésité pour le téléchargement du module CGI, je suis sur un hébergement 240 plan d'OVH et j'ai choisi plateforme DEBIAN noyau 2.6.18 - libc 2.3.6 (d'après ce que j'ai pu voir sur différents forums) sur http://www1.paybox.com/telechargement_focus.aspx?cat=3
Ok bon moi aussi je me suis
Permalien Soumis par tostinni le 7 Janvier, 2010 - 21:53
Ok bon moi aussi je me suis emmele :D
Donc en fait ton shell_Exec permet de lancer un appel au module cgi de paybox.
Par contre le "/my_path_to/" il sort ainsi ? Parce que ca ca veut dire qu'il faut le configurer vers le chemin ou tu as installe le module cgi nan ?
Je pense que le pb est le chemin du module cgi qui n'est pas correct d'ou l'erreur que te renvoies shell_Exec
Sinon tu peux debugguer shell_Exec et etre sur que ca marche via un ti script php genre
J'ai trouve ca mais je suppose que tu l'as deja lu
http://www.denisbillo.com/fr/paybox/installation-paybox.php
Donc a priori ca devrait marcher sur OVH
non je n'ai pas le chemin
Permalien Soumis par selinav le 8 Janvier, 2010 - 08:50
non je n'ai pas le chemin mypath mais bien celui ce mon serveur ovh vers mon cgi bin je l'ai changé par soucis de confidentialité.
Que fait la commande 'ls -lart' ?
Je vais essayer le débug et je vous tiens au courant.
bon la fonction me retourne
Permalien Soumis par selinav le 8 Janvier, 2010 - 08:54
bon la fonction me retourne ceci, ça veut dire quoi?
total 223
-rw-r--r--+ 1 vitrines users 107 Sep 23 14:25 index.html
drwxr-xr-x+ 3 vitrines users 6 Sep 23 14:25 memo
drwx---r-x+ 2 vitrines users 35 Sep 24 09:24 includes
drwx---r-x+ 3 vitrines users 54 Sep 24 09:25 misc
drwx---r-x+ 35 vitrines users 36 Sep 24 09:28 modules
drwx---r-x+ 3 vitrines users 3 Sep 24 09:28 profiles
drwx---r-x+ 2 vitrines users 7 Sep 24 09:28 scripts
drwx---r-x+ 7 vitrines users 8 Sep 24 09:49 themes
-rw----r--+ 1 vitrines users 43058 Sep 24 09:49 CHANGELOG.txt
-rw----r--+ 1 vitrines users 222 Sep 24 09:49 CONTRIBUTORS.fr.txt
-rw----r--+ 1 vitrines users 988 Sep 24 09:49 COPYRIGHT.txt
-rw----r--+ 1 vitrines users 262 Sep 24 09:49 cron.php
-rw----r--+ 1 vitrines users 980 Sep 24 09:49 index.php
-rw----r--+ 1 vitrines users 1308 Sep 24 09:49 INSTALL.mysql.txt
-rw----r--+ 1 vitrines users 1075 Sep 24 09:49 INSTALL.pgsql.txt
-rw----r--+ 1 vitrines users 46926 Sep 24 09:49 install.php
-rw----r--+ 1 vitrines users 15646 Sep 24 09:49 INSTALL.txt
-rw----r--+ 1 vitrines users 14940 Sep 24 09:49 LICENSE.fr.txt
-rw----r--+ 1 vitrines users 18048 Sep 24 09:49 LICENSE.txt
-rw----r--+ 1 vitrines users 1924 Sep 24 09:49 MAINTAINERS.txt
-rw----r--+ 1 vitrines users 673 Sep 24 09:49 README.fr.txt
-rw----r--+ 1 vitrines users 1590 Sep 24 09:49 robots.txt
-rw----r--+ 1 vitrines users 0 Sep 24 09:49 STATUS.fr.txt
-rw----r--+ 1 vitrines users 25457 Sep 24 09:49 update.php
-rw----r--+ 1 vitrines users 5002 Sep 24 09:49 UPGRADE.txt
-rw----r--+ 1 vitrines users 352 Sep 24 09:49 xmlrpc.php
-rw-r--r--+ 1 vitrines users 4020 Sep 25 10:36 .htaccess
-rw----r--+ 1 vitrines users 5917 Oct 13 10:28 dewplayer.swf
-rw----r--+ 1 vitrines users 328 Nov 5 14:15 phpinfo.php
drwx---r-x+ 4 vitrines users 4 Nov 5 14:20 sites
-rw----r--+ 1 vitrines users 1635 Dec 1 16:18 essai.php
drwxrwxrwx 8 vitrines users 15 Dec 1 16:24 atos
drwx---r-x+ 12 vitrines users 35 Jan 7 11:40 .
drwxr-xr-x+ 2 vitrines users 3 Jan 7 11:45 cgi-bin
drwx---r-x+ 6 vitrines users 11 Jan 7 12:13 ..
Ca veut dire que shell_exec
Permalien Soumis par tostinni le 8 Janvier, 2010 - 15:35
Ca veut dire que shell_exec fonctionne ;)
Du coup pour le reste je vois vraiment pas comment t'aider plus, apparement y a un truc qui va pas soit avec paybox soit avec ubercart :(
Bonsoir Selinav, C'est peut
Permalien Soumis par Benj le 8 Janvier, 2010 - 20:45
Bonsoir Selinav,
C'est peut être une question bête de ma part mais as tu vu qu'il existait un module Drupal exprès pour ca, en plus du module CGI fournit par Paybox?
http://drupal.org/project/uc_paybox
Je sors d'une installation Drupal-Ubercart-Paybox sur laquelle j'ai un peu galèré mais qui tourne au poil maintenant et grâce à la dernière maj de ce module.
bonjour, merci pour vos
Permalien Soumis par selinav le 18 Janvier, 2010 - 08:59
bonjour,
merci pour vos réponses, j'ai bien utilisé le module uc_paybox qui fonctionne à merveille.
Mon problème venait du module cgi qui me retournait une page blanche.