Problema IPN paypal

newbie01

Nuovo Utente
14 Gen 2014
12
0
0
Ciao a tutti, utilizzo questo codice per l'ipn di paypal, ma a quanto pare non funziona visto che non mi riporta alcun dato nel db alla fine del processo di pagamento:

Codice:
<?php
    // intercetta le variabili IPN inviate da PayPal
    $req = 'cmd=_notify-validate';
     
    // legge l'intero contenuto dell'array POST
    foreach ($_POST as $key => $value) {
        $value = urlencode(stripslashes($value));
        $req .= "&$key=$value";
    }
 
    // intestazione, prepara le variabili PayPal per la validazione
    $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";
 
    // apre una connessione al socket PayPal 
    $fp = fsockopen ('http://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
 
    // converte le variabili inviate da IPN in variabili locali
    $txn_id = filter_var($_POST['txn_id'], FILTER_SANITIZE_STRING);
    $payment_status = filter_var($_POST['payment_status'], FILTER_SANITIZE_STRING);
    $receiver_email = filter_var($_POST['receiver_email'], FILTER_SANITIZE_EMAIL);
    $payer_email = filter_var($_POST['payer_email'], FILTER_SANITIZE_EMAIL);
    $first_name = filter_var($_POST['first_name'], FILTER_SANITIZE_STRING);
    $last_name = filter_var($_POST['last_name'], FILTER_SANITIZE_STRING);
    $address_street = filter_var($_POST['address_street'], FILTER_SANITIZE_STRING);
    $address_city = filter_var($_POST['address_city'], FILTER_SANITIZE_STRING);
    $address_state = filter_var($_POST['address_state'], FILTER_SANITIZE_STRING);
    $address_zip = filter_var($_POST['address_zip'], FILTER_SANITIZE_STRING);
 
    // verifica l'apertura della connessione al socket
    if (!$fp) {
 
        // se la connessione non avviene l'esecuzione dello script viene bloccata
        exit();
 
        // in alternativa è per esempio possibile inviare un'email al venditore
    } else {
 
        // elaborazione delle informazioni
        fputs ($fp, $header . $req);
        while (!feof($fp)) {
            $res = fgets ($fp, 1024);
 
            // azioni in caso di risposta positiva da parte di PayPal
            if (strcmp ($res, "VERIFIED") == 0) {
 
                // controllo sull'email del venditore
                if($receiver_email == "[email protected]"){
                     
            // connessione a MySQL tramite istanza
                    $mysqli = new mysqli("host", "user", "pass", "db");
                    $count = $mysqli->query("SELECT id_ordini FROM notifiche WHERE txn_id='$txn_id'");
 
                    // controllo sull'identificatore della transazione
                    if ($mysqli->affected_rows == 0){
                        // query per l'inserimento dei dati
                        $result = $mysqli->query("INSERT INTO notifiche (txn_id, payment_status, payer_email, first_name, last_name, address_street, address_city, address_state, address_zip) VALUES ('$txn_id', '$payment_status', '$payer_email', '$first_name', '$last_name', '$address_street', '$address_city', '$address_state', '$address_zip')");
                    }
 
                    // liberazione della memoria dal risultato della query
                    $count->close();
 
                    // chiusura della connessione
                    $mysqli->close();
                }
 
            }
 
            // azione in caso di risposta negativa da parte di PayPal else 
            if (strcmp ($res, "INVALID") == 0) {
                // è possibile eseguire qualsiasi operazione
        // per esempio compilare un log degli errori o inviare una mail al venditore
            }
 
        }
 
        // chiusura della sorgente di dati
        fclose($fp);
    }
 
    ?>

(i dati di connessione li ho inseriti tranquilli)
Potete aiutarmi?
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Ipn paypal problema nella risposta PHP 1
Pi3tro IPN paypal problema PHP 2
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 0
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 7
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 1
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
M Problema su query JOIN in tre tabelle PHP 0
S Problema esportazione tabelle Mysql in Excel PHP 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
M Problema su update di 3 tabelle PHP 1
T problema con select dinamica con jquery Javascript 0
A Problema checkout carrello php PHP 2

Discussioni simili