Bonjour,

j'ai installé ce script qui après modifications fonctionne très bien dans mon site mais j'aimerai avoir une page IPN que je n'ai pas l'impression qui apparait dans ce script que j'ai récupéré.

https://github.com/sanwebe/PHP-Shopp...press-Checkout

quelq'un pourrait il me conseiller pour l'installation d'une page ipn avec ce script.

voici une page ipn que j'avais est-ce qu'elle pourrait s'adpater et elle assez sécurisé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
<?php
 
// prépare la requête de vérification
$req = "cmd=_notify-validate";
 
// ajoute le message IPN au format NVP à la requête de vérification
foreach ($_POST as $key => $value) {
  $value = urlencode(stripslashes($value));
  $req .= '&$key=$value';
}
 
 
// définition des headers pour la requête de vérification
$header  = "POST /cgi-bin/webscr HTTP/1.0rn";
 
// test 
//$header .= "Host: www.sandbox.paypal.com:443rn";
 
// production
$header .= "Host: ipnpb.paypal.com:443rn";      
 
$header .= "Content-Type: application/x-www-form-urlencodedrn";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
 
 
// Ouverture du socket
 
// test
//$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
 
// production
$fp = fsockopen ('ssl://ipnpb.paypal.com', 443, $errno, $errstr, 30);
 
// s'il y a une erreur lors de l'ouverture du socket
if (!$fp) {
  // on s'envoie un mail pour être informé de l'erreur
  $msg = 'Erreur de socket, l\'url n\'a pas pu être ouverte';
  mail('payments@monmail.fr', 'erreur socket', $msg);
}
 
else {
  // on post la requête de vérification
  fputs ($fp, $header . $req);
 
  // créé une boucle tant qu'on est pas arrivé à la fin du fichier
  while (!feof($fp)) {
    // lit la réponse de paypal
    $res = fgets ($fp, 1024);
 
    // si paypal répond VERIFIED, 
    // tout s'est bien déroulé et on peut procéder à nos traitements
    if (strcmp ($res, 'VERIFIED') == 0) {
      // type de transaction
      // $_POST['txn_type'] 
 
      // mail du compte paypal à qui est destiné le paiement
      // $_POST['receiver_email']
 
      // montant
      // $_POST['mc_gross']
 
      // id de la transaction
      // $_POST['txn_id']
 
      // champ personnalisé
      // $_POST['custom']
    }
 
    // si la transaction est invalide
    else if (strcmp ($res, 'INVALID') == 0) {
      // on s'envoie un mail pour être informé de l'erreur
      $msg = 'Message de l\'IPN : '.$res;
      mail('payments@monmail.fr', 'erreur IPN', $msg);
    }
  }  
 
  fclose ($fp);
}
Merci.