Les cuento, hace 2 días que estoy tratando de adaptar la tecnología IPN de paypal en el web de mi negocio. Leyendo en internet, encontre este script:
Código PHP:
mysql_connect("localhost", "vizionso_ipn", "holah") or die(mysql_error());
mysql_select_db("vizionso_edsys_cnc") or die(mysql_error());
$url = 'https://www.paypal.com/cgi-bin/webscr';
$postdata = '';
foreach($_POST as $i => $v) {
$postdata .= $i.'='.urlencode($v).'&';
}
$postdata .= 'cmd=_notify-validate';
$web = parse_url($url);
if ($web['scheme'] == 'https') {
$web['port'] = 443;
$ssl = 'ssl://';
} else {
$web['port'] = 80;
$ssl = '';
}
$fp = @fsockopen($ssl.$web['host'], $web['port'], $errnum, $errstr, 30);
if (!$fp) {
echo $errnum.': '.$errstr;
} else {
fputs($fp, "POST ".$web['path']." HTTP/1.1\r\n");
fputs($fp, "Host: ".$web['host']."\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ".strlen($postdata)."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $postdata . "\r\n\r\n");
while(!feof($fp)) {
$info[] = @fgets($fp, 1024);
}
fclose($fp);
$info = implode(',', $info);
if (eregi('VERIFIED', $info)) {
// yes valid, f.e. change payment status
mysql_query("INSERT INTO ipn (funciona) VALUES ('SI FUNCIONA') ") or die(mysql_error());
} else {
// invalid, log error or something
mysql_query("INSERT INTO ipn (funciona) VALUES('NO FUNCIONA);
}
}
Gracias!