| |
Savez-vous bien utiliser les outils de mesure d'audience ? Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ? Savez-vous utiliser les bons outils pour booster votre taux de transformation ? La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions ! ===> Informations et inscriptions.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
sff WRInaute occasionnel

Inscrit le: 02 Fév 2005 Messages: 208
|
Posté le : Dim Jan 27, 2008 17:57 Sujet du message: NIP Paypal problème |
|
|
Bonjours, je suis en train de terminer un NIP par paypal, pour ceux qui connaissent ca doit vouloir dire quelque chose;)
Je vous montre le formulaire:
| Code: |
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="'.$premiumrow['receved_paypal'].'">
<input type="hidden" name="email" value="'.$userrow['email'].'">
<input type="hidden" name="amount" value="'.$premiumrow['price'].'">
<input type="hidden" name="item_name" value="Compte Premium">
<input type="hidden" name="no_shipping" value="0">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="lc" value="FR">
<input type="hidden" name="custom" value="'.$userrow['id'].'">
<input name="return" type="hidden" value="'.$controlrow['gamename'].'community.php?do=reg_premium_end">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="image" src="https://www.paypal.com/fr_FR/FR/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée">
<img alt="" border="0" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form> |
Le soucis c'est que je n'arrive pas à récupérer ce champ:
<input type="hidden" name="email" value="'.$userrow['email'].'">
Quand je met par la suite : $payer_email = $_POST['email'];
$payer_email ne me retourne rien, pourtant il est bien égal à une adresse email.
Je me demande ce qu'il faut que je fasse. Si quelqu'un à une idée, je suis preneur.
Merci |
|
| |
|
 |
jcaron WRInaute passionné

Inscrit le: 13 Fév 2004 Messages: 521 Localisation: Paris
|
Posté le : Lun Jan 28, 2008 0:02 Sujet du message: Re: NIP Paypal problème |
|
|
| sff a écrit: |
Bonjours, je suis en train de terminer un NIP par paypal, pour ceux qui connaissent ca doit vouloir dire quelque chose;)
Je vous montre le formulaire:
| Code: |
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="'.$premiumrow['receved_paypal'].'">
<input type="hidden" name="email" value="'.$userrow['email'].'">
<input type="hidden" name="amount" value="'.$premiumrow['price'].'">
<input type="hidden" name="item_name" value="Compte Premium">
<input type="hidden" name="no_shipping" value="0">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="lc" value="FR">
<input type="hidden" name="custom" value="'.$userrow['id'].'">
<input name="return" type="hidden" value="'.$controlrow['gamename'].'community.php?do=reg_premium_end">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="image" src="https://www.paypal.com/fr_FR/FR/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée">
<img alt="" border="0" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form> |
|
Ca c'est le formulaire qui permet de renvoyer vers le paiement Paypal.
| sff a écrit: |
Le soucis c'est que je n'arrive pas à récupérer ce champ:
<input type="hidden" name="email" value="'.$userrow['email'].'">
Quand je met par la suite : $payer_email = $_POST['email'];
$payer_email ne me retourne rien, pourtant il est bien égal à une adresse email. |
Le "POST" IPN est complètement indépendant de ton POST ci-dessus, et les noms des variables ne sont pas les mêmes. Ce que tu veux c'est probablement $_POST['payer_email'].
Pour que tu comprennes mieux:
- tu fais un post vers Paypal qui démarre le processus de paiement en passant certaines infos
- le paiement s'effectue sur le site Paypal
- une fois que le paiement est effectué, il y a un autre post complètement distinct vers ton serveur pour t'indiquer que le paiement a été effectué. Les noms des variables peuvent être complètement différents de ceux du premier post.
Voir:
https://www.paypal.com/IntegrationCenter/ic_ipn-pdt-variable-reference.html
pour le détail des variables. Note que si tu utilises l'email pour faire le lien entre le POST initial et l'IPN, c'est une mauvaise idée, l'utilisateur peut très bien utiliser un autre e-mail pour son compte Paypal, il vaut mieux utiliser custom pour retrouver ses petits.
Jacques. |
|
| |
|
 |
Julia41 WRInaute impliqué

Inscrit le: 31 Aoû 2007 Messages: 434 Localisation: Oléron
|
Posté le : Lun Jan 28, 2008 3:25 Sujet du message: NIP Paypal problème |
|
|
Il te faut un script PHP pour récupérer l'info de Paypal qui te dit que tu as reçu le paiement, donc un fichier paypal.php (dans mon cas) qui récupère le paiement...
Voilà le contenu complet de ma page
| Code: |
<?
require "backend/functions.php";
dbconn(true);
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
// assign posted variables to local variables
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];
$clid = $_POST['custom'];
if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
if ($receiver_email == "mail@domaine.tlf"){
$query = "UPDATE users SET donated = donated + '$payment_amount' where id='$clid'";
$result = mysql_query($query);
$query = "UPDATE site_settings SET donations = donations + '$payment_amount' ";
$result = mysql_query($query);
}
header("Location: http://www.site.tld");
}
else if (strcmp ($res, "INVALID") == 0) {
}
}
fclose ($fp);
}
?>
|
Bonne chance c'est vraiment vraiment vraiment galère... |
|
| |
|
 |
sff WRInaute occasionnel

Inscrit le: 02 Fév 2005 Messages: 208
|
Posté le : Mar Jan 29, 2008 0:06 Sujet du message: suite |
|
|
Le problème c'est que justement le $_POST['email'] de
| Code: |
| <input type="hidden" name="email" value="'.$userrow['email'].'"> |
me retourne pas la meme valeur que $_POST['payer_email']
.
Sur mon site $userrow['email'] n'est pas forcement l'adresse paypal de celui qui paye. Dans mon cas c'est l'email avec lequel le membre s'est incrit sur mon site.
C'est pour cela que lors de la finalisation du paiement je voulais récupérer $_POST['email'] pour l'envoi d'un mail de confirmation. Mais visiblement c'est impossible. On peu uniquement récupérer l'adresse email (id paypal) du payeur avec $_POST['payer_email'].
Il y a pas possibilité de faire ce que je cherche? |
|
| |
|
 |
jcaron WRInaute passionné

Inscrit le: 13 Fév 2004 Messages: 521 Localisation: Paris
|
Posté le : Mar Jan 29, 2008 0:36 Sujet du message: Re: suite |
|
|
| sff a écrit: |
Le problème c'est que justement le $_POST['email'] de
| Code: |
| <input type="hidden" name="email" value="'.$userrow['email'].'"> |
me retourne pas la meme valeur que $_POST['payer_email'] |
Euh, tu veux dire que tu ne récupères pas forcément dans $_POST['payer_email'] la même valeur que tu as passé dans ton formulaire initial? Oui, c'est ce que je disais, c'est parfaitement normal.
| sff a écrit: |
Sur mon site $userrow['email'] n'est pas forcement l'adresse paypal de celui qui paye. Dans mon cas c'est l'email avec lequel le membre s'est incrit sur mon site.
C'est pour cela que lors de la finalisation du paiement je voulais récupérer $_POST['email'] pour l'envoi d'un mail de confirmation. Mais visiblement c'est impossible. On peu uniquement récupérer l'adresse email (id paypal) du payeur avec $_POST['payer_email'].
Il y a pas possibilité de faire ce que je cherche? |
Utiliser le champ custom, soit pour y stocker l'adresse e-mail du compte chez toi, ou son ID, ou l'ID d'une "transaction" qui ferait ensuite le lien avec ce compte...
Jacques. |
|
| |
|
 |
Julia41 WRInaute impliqué

Inscrit le: 31 Aoû 2007 Messages: 434 Localisation: Oléron
|
Posté le : Mar Jan 29, 2008 6:03 Sujet du message: NIP Paypal problème |
|
|
Comme l'a dit jcaron oui, moi je stocke de pseudo de l'utilisateur :
don de $nick
Et paypal me renvois ce $nick
Tu dois pouvoir faire la même chose avec un email...
paiement de $email << celui de ton membre
Et paypal te renverra ça... |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|