IPN PayPal

Mr. PHP

Utente Attivo
31 Gen 2013
141
0
0
Salve ragazzi, qualcuno sa come gestire le info inviate da paypal ??? potreste mostrarmi degli esempi ? In giro su internet ho trovato questo.
PHP:
// intercetta le variabili IPN inviate da PayPal   
$req = 'cmd=_notify-validate';
 
 
// legge l'intero contenuto dell'array POST e replica una nuova variabile
foreach ($_POST as $key => $value){
    $value = urlencode(stripslashes($value));
    	$req .= '&'.$key.'='.$value;
}
//Generazione degli header secondo il nuovo standard PayPal
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Host: www.paypal.com\r\n";  // www.paypal.com for a live site
$header .= "Content-Length: " . strlen($req) . "\r\n";
$header .= "Connection: close\r\n\r\n";
 
// apre una connessione al socket PayPal 
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
 
 
// converte le variabili inviate da IPN in variabili locali
$custom             = filter_var($_POST['custom']           , FILTER_SANITIZE_STRING);
$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);
 
if( ! $fp ){
        exit();
    } else {     
 
        fputs ($fp, $header . $req);
 
        while (!feof($fp)) {
           $res = fgets ($fp, 1024);
           if (stripos($res, "VERIFIED") !== false)  {
                if($receiver_email == "[email protected]"){
                         
                }
           }
 
 
            if (strcmp ($res, "INVALID") == 0) {
 
 
            } 
        }//while   
    }//else
Vorrei approfondire la cosa...
 

Mr. PHP

Utente Attivo
31 Gen 2013
141
0
0
Ho creato una pagina transition.php ed ho inserito questo codice. Che ne di te ??? Cmq mi servirebbe l id della transazione qualcuno sa dirmi quale ? magari spiegarmi meglio tutti i campi...
PHP:
<?php

! isset( $_POST ) && exit;

$paypal = array (
				  'residence_country',
				  'invoice',
				  'address_city',
				  'first_name',
				  'payer_id',
				  'shipping',
				  'mc_fee',
				  'txn_id',
				  'receiver_email',
				  'quantity',
				  'custom',
				  'reason_code',
				  'payment_date',
				  'for_auction',
				  'address_country_code',
				  'address_zip',
				  'item_name1',
				  'mc_handling',
				  'mc_handling1',
				  'tax',
				  'item_name',
				  'address_name',
				  'auction_buyer_id',
				  'last_name',
				  'receipt_ID',
				  'receiver_id',
				  'item_number',
				  'verify_sign',
				  'address_country',
				  'payment_status',
				  'address_status',
				  'business',
				  'payer_email',
				  'notify_version',
				  'txn_type',
				  'test_ipn',
				  'payer_status',
				  'mc_currency',
				  'mc_gross',
				  'mc_shipping',
				  'mc_shipping1',
				  'item_number1',
				  'auction_closing_date',
				  'quantity1',
				  'address_state',
				  'mc_gross1',
				  'pending_reason',
				  'parent_txn_id',
				  'payment_type',
				  'address_street',
);

foreach( $paypal as $val ){
	
	$$val = isset( $_POST[$val] ) ? $_POST[$val] : null;

	$insert = array(
					'author' => $_COOKIE['ID'],
					'key' => $val,
					'value' => isset( $_POST[$val] ) ? $_POST[$val] : null,
	);
	
	insert( 'premiummeta', $insert );

}

$payment_status != 'Completed' || $payer_status != 'verified' && exit;


// Controllo ID per aggiungere o meno i mesi
$add = '+1 month';

// Verifica s è già un utente premium
select( '*', 'premium', 'premium_author="'.$_COOKIE['ID'].'" AND premium_status="1"' );

if( num_rows() == 1 ){
	
	$obj = fetch_object();
		
	$date_end = $obj->premium_date_end;

}

// Controllo se la data di scadenza premium esitte
$end = isset( $date_end ) ? date( 'Y-m-d', strtotime( $date_end.' '.$add ) ) : date( 'Y-m-d', strtotime( $add ) );

//Aggiornare tutti i campi a 0
update( 'premium', 'premium_status="0"', 'premium_author="'.$_COOKIE['ID'].'"' );

$insert = array(
				'premium_author' => Cookie::get('ID'),
				'premium_date_start' => date('Y-m-d'),
				'premium_date_end' => $end,
				
);

// Inserire il nuovo record
insert( 'premium', $insert );

// Aggiornare a Premium
update( 'users', 'users_premium="1"', 'users_ID="'.$_COOKIE['ID'].'"' );

$header = '';

$message = '';

// Invio Email
send( $_COOKIE['email'], $header, $message );

?>
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
baobabdesign [PHP] Annullare abbonamento con paypal IPN da sito esterno PHP 0
gandalf1959 IPN Listener di Paypal, non riesco a registrare utente nel mio DB PHP 14
M Ipn paypal problema nella risposta PHP 1
N Problema IPN paypal PHP 0
Pi3tro IPN paypal problema PHP 2
C [PHP] Ipn Pay PAL Mobile PHP 0
Z PayPal dubbio PHP 0
gandalf1959 formattazione carrello plug-in WP Simple Paypal Shopping cart WordPress 2
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
D [Javascript] salvare immagine canvas - paypal Javascript 0
M [SPONSOR] A BASSO PREZZO - PAYPAL Vendere e Acquistare pubblicita' online 0
C [PHP] Aggiungere pulsante paypal PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
felino [Wordpress][WooCommerce] PayPal: nessun notifica email dopo il pagamento WordPress 1
S form php che invia dati a Paypal PHP 4
A [PHP] Url pagamento paypal in email PHP 2
C [PHP] internal error paypal PHP 6
webmachine [PHP] Integrazione PayPal con PHP PHP 0
romeocharly nuove norme di sicurezza paypal Guadagnare col Sito 3
A configurare pagamento paypal PHP 0
C Come posso integrare il bottone "paga adesso" di paypal e un form php per invio dati? PHP 1
L Paypal - aggiornamenti alla sicurezza PHP 5
N **AAA** CERCASI ACCOUNT FACEBOOK CON ALMENO 5.000 AMICI, se con seguaci MEGLIO, PAGO CON PAYPAL Annunci servizi di Social Media Marketing 0
gandalf1959 Passare variabili da listener Paypal a un'altra pagina PHP 0
Gabriele Visioli PayPal Gratuito o a Pagamento? Discussioni Varie 2
R configurazione tasto paypal PHP 0
novello88 Storno pagamento PayPal e nota di credito Leggi, Normative e Fisco 0
L Calcolo della percentuale PayPal che varia in base al totale. E-Commerce 1
L Integrazione PayPal. Con tasto paga adesso e link di ritorno PHP 5
S Sconto su pagamento paypal PHP 1
R [Risolto] Passare Variabile importo carrello a Paypal Classic ASP 7
C Notifiche paypal express Magento 0
P Prestashop pagamento paypal CMS (Content Management System) 2
I [Risolto] ASP VBSCRIPT e PAYPAL problemi con le spese di spedizione dinamiche Classic ASP 3
M Paypal inviare e ricevere variabili E-Commerce 1
M paypal PHP 0
N Paypal ha problemi di pagamento? E-Commerce 4
I variabile prezzo paypal PHP 4
F Pagamento con paypal PHP 11
A problema con form paypal HTML e CSS 0
A probliemi con il codice paypal HTML e CSS 0
L Devo pagare le tasse sulle donazioni PayPal? Leggi, Normative e Fisco 2
L Pagamento con Paypal e ritorno di dati al sito E-Commerce 4
I Problema tasto paypal E-Commerce 1
I PHP e Paypal PHP 9
P Bottone donazioni paypal E-Commerce 2
L E-commerce Problema Url di ritorno con paypal E-Commerce 4
T Ricevere donazioni con paypal E-Commerce 13
P [JSP] Integrazione PayPal Java 3

Discussioni simili