8797 sujets

Développement web côté serveur, CMS

Bonjour,

Problème simple, j'ai un petit module de paiement par Paypal, donc un petit form qui utilise un logo Payal comme bouton et renvoie des variables cachées vers un script Paypal distant que je ne peux pas modifier :

du genre :


<form name="paypal" id="paypal" method="post" action="http://...adresse du script paypal..." />
<input type="hidden" ...etc... />
<input type="hidden" ...etc... />
...etc...
<input type="image" ...etc... />
</form>


Je voudrais que le clic sur le bouton paypal appelle également un autre script, de façon par exemple à nettoyer le panier, mettre à jour la base des commandes, etc..., et je ne vois pas comment appeler ce deuxième script.

MERCI de me donner une piste, si vous savez.
Je suis PRESQUE SÛR que non.

J'essaye dès que j'ai 5 minutes, mais je n'y crois pas.

Merci de ta réponse.
Salut,

Voilà un exemple de ce que tu peux faire :

Le formulaire part vers le script paypal distant dans la fenêtre courante. Par contre, quand le formulaire est soumis, javascript se charge d'ouvrir un pop-up avec ton script qui va vider le panier par exemple.

Ce n'est peut-être pas la solution optimale, mais ça marche.
Ce qu'il te reste à faire, c'est dans la page qui est ouverte en pop-up, ordonner la fermeture du pop-up à la fin de éxécution du script.


<script language="javascript">
<!--
function ouvre()
{
window.open("autrescript.php", "Autrescript", "width=100, height=100");
}
//-->
</script>


<form name="paypal" id="paypal" method="post" action="http://...scriptpaypal" OnSubmit="ouvre()" />
<input type="hidden" ...etc... />
<input type="hidden" ...etc... />
...etc...
<input type="image" ...etc... />
</form>


Voilà, j'espère que ça va t'aider !

Bon courage
MERCI beaucoup,

D'accord, c'est facile à faire, mais problème, que se passe-t-il si l'utilisateur a désactivé javascript, il paraît que c'est fréquent.

Une autre piste, c'est de lancer mon script PHP qui fait d'abord ce qu'il doit faire et à la fin va envoyer les infos à Paypal.

Problème, Paypal veut du POST, et je ne sais pas si un script PHP peut transmettre des POST sans repasser par un formulaire...

Si tu connais la fonction adéquate, merci.
Pour le JS désactivé, c'est pas si fréquent que ça... mais c'est vrai que si on peut faire sans JS, il faut faire sans !

a écrit :
Une autre piste, c'est de lancer mon script PHP qui fait d'abord ce qu'il doit faire et à la fin va envoyer les infos à Paypal.


Avec des entêtes (headers), y'a moyen d'envoyer des valeurs en POST au script paypal. Mais j'ai pas plus d'infos que ça

Smiley confus
OUi, je ne suis pas sûr que ce soit si facile avec header(), je vais regarder la doc dès que j'ai le temps, je te tiens au courant.
D'après mes infos :

1) Payal donne son formulaire en POST, mais je l'ai essayé en GET et cela marche aussi. Donc, il me suffit de header (location: ...etc...) en fin de script PHP pour balancer ce qu'il faut à Paypal. Smiley ravi

2) La fonction header ne peut pas envoyer des variables en POST (d'après ce que j'ai compris...).

3) l'extension cURL avec CURLOPT_POST activée et la classe HTTP_Request de PEAR semblent pouvoir le permettre (d'après ce que j'ai compris...).
Avec Paypal, tu n'as pas vraiment de retour, il me semble.

Juste une redirection vers la page de ton choix, mais pas la moindre variable là-dedans.

Je vais me renseigner un peu plus, mais je ne pense pas me tromper.
je en crois pas que l'on puisse envoyer des POST avec header.

En revanche, on peut à coup sur avec fsockopen() inclu de base avec PHP

;)

-- Aenario --