Aide - Recherche - Membres - Calendrier
Version complète : PayBox : Appel aux experts !
Forum osCommerce-fr > Adapter OsCommerce MS2 > Modules de Paiement et de Livraison
cleo
Bonjour,
J'ai commencé un nouveu sujet parce que l'autre discussion PayBox est marqué résolu.

Question 1. Comment spécifier que le cgi de PayBox est dans un repertoire autre que cgi-bin (cgi dan mon exemple) ?

J'ai fait cette chose simple : j'ai cherché tout les occurences de cgi-bin dans les fichier php de la contrib paybox. Je n'ai trouvé qu'un seul. J'ai changé le chemin dans le code ci-dessous.
J'ai changé :
CODE

catalog/includes/modules/payment/paybox.php:      

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('CGI Path', 'MODULE_PAYMENT_PAYBOX_CGI', '/cgi-bin/pbx_module.cgi', 'Chemin de votre module CGI fournit par Paybox', '6', '5', now())");


à

CODE

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('CGI Path', 'MODULE_PAYMENT_PAYBOX_CGI', '/cgi/pbx_module.cgi', 'Chemin de votre module CGI fournit par Paybox', '6', '5', now())");


Ceci ne semble pas regler l'affaire.
Le chemin est-il stocké quelque part ? blink.gif
Pourquoi je m'embête ? L'hébergeur nuxit (en test) n'accept pas le repertoire cgi-bin.
Je test nexenservice aussi. La j'aurais une 2e question (cgi interdit). Je prendrai l'hébergeur qui me fait travailler le moins. smile.gif Il ne me reste que 2 jours pour tester.
Merci d'avance.
India
cleo
Question 2 : APPEL AUX EXPERTS PAYBOX
Demande d'un avis averti.
Ne pas utiliser le cgi fourni par PayBox et utiliser le php fourni par NexenServices sera (pour moi) :

- facile (changer quelques lignes de script bien evidentes)
- moyen (changer une petite poignée de lignes)
- impossible (re-écrire la contrib PayBox)

à mettre en place ?
Si c'est facile ou moyen, comment je procède ?

Voici l'exemple de nexenservice : (j'ai juste rendu le montant aléatoire pour que l'on pourrait le jouer plus qu'un fois). Tourner l'exemple

CODE

<?php



// Inclusion de la classe de paiement

include_once 'paybox.inc';



// Initialisation

$paybox = new PAYBOX;



// Voir page 37

$paybox->set_site('1999888');



// Important: Votre identifiant Paybox, si celui-ci vous a été fourni.

$paybox->set_identifiant('2');



// voir page 37

$paybox->set_rang('99'); // Le numéro peut être également à 3 chiffres



// Total de la commande, en centimes d'euros

$montant=rand(100,99999);



$paybox->set_total($montant);



// reference de commande

$paybox->set_cmd('commande_0001');





// email du client final (porteur de la carte)

$paybox->set_porteur('login@domaine.com');



// Url en cas de reussite

$paybox->set_effectue('http://starker.nexenservices.com/payboxtest/paiement_effectue.htm');

// Url en cas de refus du paiement

$paybox->set_refuse('http://www.domaine.com/paybox_refuse.php');

// Url en cas d'annulation du paiement de la part du client

$paybox->set_annule('http://www.domaine.com/paybox_annule.php');

// Url en cas de disfonctionnement de PayBox

$paybox->set_erreur('http://www.domaine.com/paybox_erreur.php');



// Langue de l'interface PayBox

$paybox->set_langue('FRA');



// Texte de la page

$paybox->set_txt('Ceci est le texte qui est present sur la page intermediaire.<br>Recapitulatif de la commande : ' . substr($paybox->get_total(),0,-2) . '.' . substr($paybox->get_total(),-2)  . ' &euro;');

// Delai d'attente avant la redirection

$paybox->set_wait(50000);

// Texte du bouton

$paybox->set_boutpi('Payer');

// Fond de page

$paybox->set_bkgd('#FAEBD7');

// On veut gerer l'affichage dans la page intermediaire

$paybox->set_output('B');



echo $paybox->paiement();



/**

 * Conseil design : Vous pouvez recuperer le retour de $paybox->paiement et le filtrer avec une expression regulière pour ne garder que le formulaire

 *                  Vous pourrez ainsi mettre la page intermediaire à vos couleurs.

 **/



?>






Il fait une chose mignon--après un délai, il va quand même chez paybox même si on a pas cliqué.

Merci d'avance INFINIMENT pour le conseil
India
jahazzz
Salut IndiaStarker, quand on parle de paybox, j'me sens presque obligé de pointer mon nez !!! biggrin.gif

Bon, alors dans l'ordre :

Ton 1er problème est assez simple à résoudre, d'ailleurs tu as la solution sous ton nez !! rolleyes.gif (ça fait bcp de nez pour un seul post ...)

Ton idée est la bonne, en changeant '/cgi-bin/pbx_module.cgi' en '/ce_que_tu_veux/pbx_module.cgi', tu peux placer ton module dans n'importe quel dossier (chmod 755).

Mais apparemment, tu as changé le chemin dans le script du module alors que ce dernier est déjà installé. Cette partie du code est exécutée uniquement à l'installation, puis son résultat stocké dans la table configuration. Tu aurais pu t'en rendre compte en regardant de plus près ton message d'erreur : " The Requested URL /cgi-bin/pbx_module.cgi was not found on this server" ... ton module est encore cherché dans le dossier cgi-bin !!! wink.gif

Donc, soit tu désinstalles le module et tu relances l'install derrière, soit tu vas directement dans la table configuration pout modifier le CGI Path... Voilà!

2e problème : le cgi, tu ne peux pas utiliser le cgi ? alors mon conseil, change de formule de paiement ou d'hébergeur mais ne joue pas les apprentis sorciers! Même si ton script fonctionne, les informations de transaction ne sont pas du tout sécurisées. Le cgi est là pour protéger tes données (SSL 128 + MD5) et garantit une communication parfaite avec le serveur paybox.

En espérant que tout ça t'aidera

smile.gif
cleo
Bonjour jahazz et merci d'avoir répondu !
Problème 1: en effet j'avais la petite idée de regarder dans une table qui s'appele configuration et je regardais tous les champs...je ne trouve pas. Quel est le nom exacte du champs ? Je dois être fatiguée.

Problème 2: NexenServices et PayBox sont "cul et chemise" (c'est bien ça l'expression française ?) Je me sens 99,99% sûr qu'ils ne font pas de conneries. J'ai mis le lien vers leur exemple la haut--on bascule vers le paiement sécurisé comme toujours. C'est la mise en place que je ne saurais faire sans lire tout le code module-PayBox. Je ne me sens pas calée pour faire ça. Et je n'ai pas le temps non plus.

Merci pour ton nez !
India
jahazzz
dans phpMyAdmin, tu affiches la table configuration et tu cliques sur le titre de la colonne configuration_title pour la classer par ordre alpha (ça sera plus facile pour chercher) et tu recherches la valeur "CGI Path"

tu peux aussi le faire avec la valeur MODULE_PAYMENT_PAYBOX_CGI de la colonne configuration_key

Voilà, bonne recherche!

Quant à ton pb de cgi, si tu veux vraiment passer par le script php dont tu parlais, voilà une piste:
les variables du module paybox sont préparées dans la fonction process_button(), les champs du formulaire sont envoyés par
CODE
$this->form_action_url = MODULE_PAYMENT_PAYBOX_CGI;


Je pense qu'il faut donc faire coincider les variables de la fonction process_button du module paybox avec celles attendues par ton script lier le module à ton script par
CODE
$this->form_action_url = ton_script.php;


cleo
Impecc ! Merci pour le tutoriel phpMyAdmin--exactement ce qu'il me fallait biggrin.gif J'ai corrigé CGI Path. PayBox est maintenant fonctionnel sur nuxit.net.

Pour le deuxième hébergeur, il me faut le tutoriel "passer les variables en php". Je chercherais par moi-même si j'ai le courage. Mon livre "osCommerce Technical Manual" dit "NO PHP programming experience required". C'est ça, oui.

Merci encore pour les tuyaux que tu as fourni.
India
marcOSC

Salut IndiaStarker

j'ai lu tes post concernant nexenservices, je suis hébergé chez eux et j'ai bien sûr le même problème que toi avec leur CGI.
As-tu trouvé une solution ?

merci
cleo

Bonjour,
Je viens de lire ton post, désolée pour le délai. Finalement je n'ai pas retenu nexenservice (mais ils ont l'air competant). Il fallait décider.
Pour ton cas j'éspère que tu ne sois pas obligé écrire ta propre contrib...rensegne-toi auprès de paybox et nexenservice. Ils ont sans doute une solution ou savent le faire parce qu'il me semble qu'il travaillent ensemble.
-i.
marcOSC

merci pour ta réponse j'ai réussi a régler mon problème partiellement chez Nexen et je pense sérieuesement a reprogrammer le truc
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.