Ik heb een paypal ipn geprobeerd te maken
Code:
<?php
include('../config.php');
$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 statement of de betaling verified is.
if (preg_match("/VERIFIED/", $info)) {
# Betaling geldig -> Voorbeeld:
$username = 'jespar';
$apicode = 'AAAA';
$testmode = true;
$admin_mail = '[email protected]';
$jouw_domein = '';
$return = file_get_contents('http://www.one2xs.com/api/bestel/handle?user='.$username.'&key='.sha1($apicode).'&product=mc&type=1024&whitelabel=2&testmode='.($testmode == true ? 1 : 0).'&whitelabel_server='.$jouw_domein);
$return = new SimpleXMLElement($return);
if(isset($return->error))
{
$mysql->query("INSERT INTO paylog(ip, pakket, datum, status) VALUES('".$_SERVER['REMOTE_ADDR']."', '1024', '".date("Y-m-d H:i:s")."', 'niet gelukt')");
mail($admin_mail, 'Fout in de API', 'Een bezoeker met IP '.$_SERVER['REMOTE_ADDR'].' probeerde op '.date('d-m-Y H:i:s').' een server te bestellen, maar de API gaf dit terug: '.$return->error);
}
else
{
$mysql->query("INSERT INTO paylog(ip, pakket, datum, status) VALUES('".$_SERVER['REMOTE_ADDR']."', '1024', '".date("Y-m-d H:i:s")."', 'gelukt')");
$mysql->query("INSERT INTO buys(locatie, user, pass, email) VALUES('".$return->channel->panel_location."', '".$return->channel->panel_user."', '".$return->channel->panel_pass."', '".$mysql->real_escape_string($_POST['os0'])."')");
}
} else {
# Bezoeker komt op deze pagina en er is geen betaling gedaan. -> Toegang geweigerd, voorbeeld:
echo 'Je mag deze pagina niet bekijken!';
}
}
?>
Alleen als iemand betaald, krijgt hij 2 servers en 2 items in de log?!?!
hoe los ik het op
als er meer informatie nodig is dan hoor ik het wel.
Jesper