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 ??
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

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…
tostinni
1268
Merci de ton aide Tostinni.
Justement, je n’ai pas trouvé cette fonction…
Olivier17
60
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)
Olivier17
60
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().
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
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 ?
Olivier17
60
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.
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
C’est le module Paypal qui figure dans l’ensemble «ecommerce».
http://drupal.org/project/ecommerce
Olivier17
60
Hm… et quelle est l’URL à laquelle ce formulaire apparaît ?
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
Je développe le site en local pour l’instant…
Le formulaire apparait à cette URL :
http://localhost/ ?q=fr/cart/review
Olivier17
60