<?php
	//Pedro 27/Agosto/2019
	//Recogemos la solicitud de IPN de PayPal
	/*
	ob_start();
	
	//Vamos a empezar por recoger TODOS los valores que nos mande paypal para las pruebas:
	$data = Getter::getList();
	
	//Vamos a componer la respuesta a paypal:
	$data['cmd'] = '_notify-validate';
	//Componemos una cadena de tipo GET:
	$req = http_build_query($data);
	
	// Step 2: POST IPN data back to PayPal to validate
	//$ch = curl_init('https://ipnpb.paypal.com/cgi-bin/webscr');			//Real
	$ch = curl_init('https://ipnpb.sandbox.paypal.com/cgi-bin/webscr');		//Sandbox
	curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $req);	//Aquí se pone la cadena de pares "variable=valor" separada por &
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
	curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
	curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-IPN-VerificationScript');
	
	//Ejecutamos el CURL
	if ( !($res = curl_exec($ch)) ) {
		//Esto es un error al conectar. En este caso anotamos el error en el log y cerramos
  		error_log('Recibimos el error' . curl_error($ch) . ' al procesar una petición IPN de PayPal');
		echo('No se ha podido conectar con la url ' . $ch . '
');
	}
	curl_close($ch);
	
	//Vamos a analizar la respuesta:
	if (strcmp ($res, "VERIFIED") == 0) {
		echo(traducir('Todo correcto, finalizamos el pedido
		'));
		
		//TODO ==> Aquí finalizamos el peddio
		
	} else if (strcmp ($res, "INVALID") == 0) {
		// IPN invalid, log for manual investigation
		echo(traducir('Respuesta recibida por PayPal IPN: ' . $res . '
		'));
		echo('------------------------------------------------------
');
	}
	
	
	echo(traducir('Estos son los parámetros enviados y recibidos en la pasarela:
	'));
	var_dump($data);
	*/
	
	//Vamos a utilizar el módulo de paypal para hacer comprobaciones
	$redsys_object = Module::Paypal(NULL, array(
		'chequear_pago' => true				//Con este parámetro indicamos que no estamos generando una pasarela si no recibiendo datos que hay que comprobar
	));
	echo($redsys_object);
?>