PHP Quebec
http://www.confoo.ca/fr/
PHP.net
PHP Québec
Mission
L'équipe
Nos projets
Contact
Ressources
Forum
Recherche

Advanced Search
Qui est en ligne
12 user(s) are online (5 user(s) are browsing Forum)

Members: 0
Guests: 12

more...

Browsing this Thread:   1 Anonymous Users





Paypal IPN
Nouveau
Joined:
2006/5/1 15:55
Group:
Utilisateurs Enregistrés
Posts: 6
Level : 1; EXP : 47
HP : 0 / 11
MP : 2 / 146
Offline
Qqun aurait un script IPN pour paypal à partager ? j'en ai trouvé sur internet mais ne semble pas fonctionner correctement.



Merci

Posted on: 2006/5/1 16:19
Transfer the post to other applications Transfer


Re: Paypal IPN
Xoops accro
Joined:
2004/9/6 23:17
From Quebec
Group:
Utilisateurs Enregistrés
Posts: 352
Level : 17; EXP : 51
HP : 0 / 412
MP : 117 / 7114
Offline
Non je n'ai pas ça, mais dernièrement j'ai joué avec OsCOmmerce et la contribution de Paypal IPN et ca marche super bien ;)

A+

Posted on: 2006/5/2 11:26
Transfer the post to other applications Transfer


Re: Paypal IPN
Webmestre
Joined:
2004/1/27 21:46
Group:
Webmestres
Utilisateurs Enregistrés
Organisation
Posts: 490
Level : 20; EXP : 46
HP : 0 / 486
MP : 163 / 9255
Offline
Salut!

Voici un lien vers les différent SDK paypal en PHP.
https://www.paypal.com/IntegrationCenter/ic_sdk-resource.html

Ils sont fonctionnel, mais a mon souvenir ne support pas l'intégration des service web offert par l'API de PAYPAL.

Tien ca pourrait faire le sujet d'une rencotre mensuel sur les diverse solutions de commerce électronique et l'intégration à Paypal.

Posted on: 2006/5/2 11:34
Transfer the post to other applications Transfer


Re: Paypal IPN
Webmestre
Joined:
2006/4/2 13:41
From Vénus
Group:
Webmestres
Utilisateurs Enregistrés
Organisation
Posts: 108
Level : 9; EXP : 40
HP : 0 / 210
MP : 36 / 2660
Offline
Pour bien valider les transactions, il vous faut d'abord CURL. Ce code est testé et fonctionnel. Utilisez-le comme vous voulez:
<?
[
color=006600]//vérifier la validité de la transaction[/color]

[color=006600]//construire le POST[/color]
$req 'cmd=_notify-validate';
foreach (
$_POST as $key => $value) {
    
$value urlencode(stripslashes($value));
    
$req .= "&$key=$value";
}

[
color=006600]//POSTer Ã  PayPal pour valider[/color]
$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$errstr30);

[
color=006600]//optionel mais plus lisible[/color]
$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'];

if (
$fp) {
    [
color=006600]//envoyer les variables[/color]
    
fputs ($fp$header $req);
    [
color=006600]//recevoir la réponse[/color]
    
while (!feof($fp)) {
        
$res fgets ($fp1024);
        [
color=006600]//si la réponse est VERIFIED, la transaction est authentique[/color]
        
if (strcmp ($res"VERIFIED") == 0) {
            [
color=006600]//vérifier si complétée[/color]
            
if ($payment_status == "Completed") {
                [
color=006600]//vérifier transaction dupliqueés[/color]
                
$query "SELECT id FROM `mytable` WHERE (pp_txn_id = {$txn_id})";
                
$result mysql_query($query);
                if (
mysql_num_rows($result) == 0) {
                    [
color=006600]//vérifier si le paiement est envoyé au bon compte PayPal[/color]
                    
if ($receiver_email == "name@domain.com") {
                        [
color=006600]//vérifier si on n'a pas modifié le prix[/color]
                        
$price 54.99 [color=006600]//ça viendra normalement de la BD[/color]

                        
[color=006600]//vérifier si on n'a pas modifié la devise...[/color]
                        
if ($payment_amount == $price && $payment_currency == "CAD") {
                        [
color=006600]//le client ne triche pas, on peut enregistrer[/color]
                        
$order_id $_POST['custom'];

                        [
color=006600]//DB[/color]
                        
$query "INSERT INTO `mytable` (order_id, total, time)
                        VALUES ({$order_id}, {$price},
                        "
.strtotime($_POST['payment_date']).")";
                        
mysql_query($query);
                        }
                        else {
                            [
color=006600]//mauvais prix ou devise[/color]
                        
}
                    }
                    else {
                        [
color=006600]//mauvais compte PayPal[/color]
                    
}
                }
                else {
                    [
color=006600]//transaction déjà existante[/color]
                
}
            }
            else {
                [
color=006600]//paiement non complété[/color]
            
}
        }
        else if (
strcmp ($res"INVALID") == 0) {
            [
color=006600]//transaction invalide[/color]
        
}
    }
    
fclose ($fp);
}
else {
    [
color=006600]//peut pas envoyer les vars Ã  PayPal[/color]
}
?>

Posted on: 2006/5/3 9:59
Transfer the post to other applications Transfer


Re: Paypal IPN
Nouveau
Joined:
2006/5/1 15:55
Group:
Utilisateurs Enregistrés
Posts: 6
Level : 1; EXP : 47
HP : 0 / 11
MP : 2 / 146
Offline
Merci Anna pour ce code,

mais sincèrement je suis un peu perdu! :(


dans le panneau de config de Paypal je dois mettre un fichier pour faire du IPN. Vers quel fichier je retourne ca ? Vers ce bout de code dans le fichier CURL.php par exemple ?


merci de préciser

Posted on: 2006/5/8 15:25
Transfer the post to other applications Transfer


Re: Paypal IPN
Webmestre
Joined:
2006/4/2 13:41
From Vénus
Group:
Webmestres
Utilisateurs Enregistrés
Organisation
Posts: 108
Level : 9; EXP : 40
HP : 0 / 210
MP : 36 / 2660
Offline
c4l3m, c'est exactement comme tu as deviné

Posted on: 2006/5/9 18:35
Transfer the post to other applications Transfer


Re: Paypal IPN
Nouveau
Joined:
2006/12/23 16:05
Group:
Utilisateurs Enregistrés
Posts: 1
Level : 1; EXP : 0
HP : 0 / 0
MP : 0 / 0
Offline
Bonjour , j'aurai besoin d'aide , je réusi a communiquer avec paypal pour l ipn , par contre il est incapable de rentrer dans mes bases mysql

voila le script que j ai mis :

if ($payment_status == "Completed") {
                
$query 'SELECT '.$order_id.' FROM information WHERE email='.$payer_email.'';
                
$result mysql_query($query);
                
$compte mysql_num_rows($result);
                if (
$compte==0) {
                    
$sql 'SELECT email'.$order_id.' FROM lesemail WHERE lesite='.$_SERVER['HTTP_HOST'].''
                    
$req mysql_query($sql);
                    
$data mysql_fetch_assoc($req); 
                    if (
$receiver_email == $data[$info]){


Si quelqu un pourais me dire pkoi je suis incapable de me connecter a ma base de donnée ???

Posted on: 2006/12/23 16:11
Transfer the post to other applications Transfer


Re: Paypal IPN
Webmestre
Joined:
2006/4/2 13:41
From Vénus
Group:
Webmestres
Utilisateurs Enregistrés
Organisation
Posts: 108
Level : 9; EXP : 40
HP : 0 / 210
MP : 36 / 2660
Offline
Comme toute l'execution se fait dans le background, il est moins évident de débogguer ton code.

Essaye de dumper l'info dans un fichier avec chaque IF. Comme ça, après l'execution, tu sauras si ton execution se rend dans le bloc de code contenant ta requête. Ce qui arrive souvent, c'est que ton payment_status n'est pas Completed. Si tel est ton cas, lis la doc de PayPal pour voir les causes possibles.

Posted on: 2006/12/23 20:16
Transfer the post to other applications Transfer


Re: Paypal IPN
Nouveau
Joined:
2007/4/7 3:24
Group:
Utilisateurs Enregistrés
Posts: 2
Level : 1; EXP : 2
HP : 0 / 0
MP : 0 / 6
Offline
salut à tous,

je cherche l'équivalent du code d'anna mais en version pdt (payment data transfer).

wip

Posted on: 2007/4/7 3:29
Transfer the post to other applications Transfer






You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Evènements à venir
Connexion
Username:

Password:


Lost Password?

Register now!
Canal IRC
Venez nous voir sur notre canal IRC avec votre client favori :

irc.phpquebec.org
canal : #phpquebec
Membre de
Hébergé par
Nexen Services