Submitted by Olivier17 on
Je suis actuellement sur le module PayPal pour un site de vente en ligne.
Ce module a été développé pour PayPal US, et il n'est donc pas très bien adapté à une utilisation avec la plateforme française de Paypal.
Bref, bien que je rame en PHP, j'ai cru comprendre dans le code que le module initial passe les variables vers Paypal en GET, et moi, pour le site français, je dois les passer en POST.
J'ai donc essayé de transformé le "variable_get(...)" du module d'origine en "variable_post(...)" , mais là, on me dit :
"Fatal error: Call to undefined function variable_post()"
Comment faire ??
Variable_get a tout l'air
Permalien Soumis par tostinni le 6 Juin, 2007 - 17:23
Variable_get a tout l'air d'etre une fonction du module nan ? donc regarde ce qu'il y a dedans et au niveau des requetes HTTP pour changer le type...
Merci de ton aide
Permalien Soumis par Olivier17 le 6 Juin, 2007 - 17:46
Merci de ton aide Tostinni.
Justement, je n'ai pas trouvé cette fonction...
Bon, j'ai détourné le
Permalien Soumis par Olivier17 le 7 Juin, 2007 - 11:40
Bon, j'ai détourné le problème...
A titre indicatif, pour ceux qui seront confrontés à l'adaptation du module Paypal :
C'est un peu du bricolage, mais ça fonctionne bien !
A ce sujet, comment fait-on pour :
- Afficher le nom de l'utilisateur en ligne
- Envoyer un formulaire sans cliquer (le simple fait d'aller sur la page envoi le formulaire, et renvoie l'utilisateur sur une autre page)
Ouhlà, attention à ne pas
Permalien Soumis par drupalfrance le 7 Juin, 2007 - 14:45
Ouhlà, attention à ne pas tout mélanger. variable_get() est une fonction de l'API Drupal qui permet de récupérer la valeur d'une variable persistente (stockée en BDD). Ca n'a rien à voir avec le GET HTTP.
Quant à la question d'envoyer en POST au lieu de GET, peux-tu nous dire comment la requête initiale est fabriquée ? S'agit-il d'un formulaire sur lequel l'utilisateur clique un bouton "submit" ? Est-ce une requête CURL ? Selon les précisions, je pourrais ptêtre t'en dire plus.
Enfin, pour envoyer un formulaire sans cliquer, tu peux utiliser la fonction drupal_execute().
D'accord, tu m'apprends un
Permalien Soumis par Olivier17 le 7 Juin, 2007 - 15:13
D'accord, tu m'apprends un truc sur le variable_get() !
A propos de la requete initiale, le script php du module semble réunir toutes les variables relatives à la transaction commerciale, et envoi le tout à Paypal en méthode GET (via l'URL)...
Ce qui déclenche l'envoi, c'est le clic de l'utilisateur sur le bouton "Passer votre commande". Mais dans le code, je n'ai pas trouvé l'équivalent de "method=get", comme en HTML.
Pour la fonction drupal_execute() , ça semble pas mal à première vue... Puis-je l'inclure dans une node contenant du PHP, ou bien c'est à mettre dans un module ?
Il faut que je regarde le
Permalien Soumis par drupalfrance le 7 Juin, 2007 - 15:29
Il faut que je regarde le code pour comprendre, c'est dans le module paypal à télécharger sur drupal.org ?
Pour l'appel à la fonction, tu peux le mettre où tu veux tant que c'est du code PHP et que tu passes les bons paramètres. C'est plus propre dans un module, mais c'est plus pratique dans un node... à toi de voir.
C'est le module Paypal qui
Permalien Soumis par Olivier17 le 7 Juin, 2007 - 15:34
C'est le module Paypal qui figure dans l'ensemble "ecommerce".
http://drupal.org/project/ecommerce
Hm... et quelle est l'URL à
Permalien Soumis par drupalfrance le 7 Juin, 2007 - 18:33
Hm... et quelle est l'URL à laquelle ce formulaire apparaît ?
Je développe le site en
Permalien Soumis par Olivier17 le 8 Juin, 2007 - 09:31
Je développe le site en local pour l'instant...
Le formulaire apparait à cette URL :
http://localhost/?q=fr/cart/review