Jump to content

ipn help


weeder

Recommended Posts

Iam still green when it comes to php and have been trying to get this working but failed

Can someone please help

Its a donation system from the mccodes script and can't work out why its won't select and run the packs

first file is this one

 

<?php
include "globals.php";
print <<<EOF
<hr><h3>Donations</h3><hr>
<br />

<hr><b><center>1st Offer: ($3.00 Pack)</b><ul>
<li>250 Crystals</li>
</ul><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type=hidden name=cmd value=_xclick>
<input type="hidden" name="business" value="{$set['paypal']}">
<input type="hidden" name="item_name" value="{$domain}|DP|1|{$userid}">
<input type="hidden" name="amount" value="3.00">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="http://{$domain}/donatordone.php?action=done&type=crystals">
<input type="hidden" name="cancel_return" value="http://{$domain}/donatordone.php?action=cancel">
<input type="hidden" name="notify_url" value="http://{$domain}/ipn_donator.php">
<input type="hidden" name="cn" value="Your Player ID">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">
<center><input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make 
payments with PayPal - it's fast, free and secure!"><br />
</form>
<hr><b><center>2nd Offer: ($3.00 Pack)</b><ul>
<li>5 Will Potions (Fully restores your will)</li>
</ul><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type=hidden name=cmd value=_xclick>
<input type="hidden" name="business" value="{$set['paypal']}">
<input type="hidden" name="item_name" value="{$domain}|DP|2|{$userid}">
<input type="hidden" name="amount" value="3.00">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="http://{$domain}/donatordone.php?action=done&type=potions">
<input type="hidden" name="cancel_return" value="http://{$domain}/donatordone.php?action=cancel">
<input type="hidden" name="notify_url" value="http://{$domain}/ipn_donator.php">
<input type="hidden" name="cn" value="Your Player ID">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">
<center><input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make 
payments with PayPal - it's fast, free and secure!"><br />
</form>
<br/>
<hr>All packs below include NEW! 17% Energy every 5 mins instead of 8% and other great benefits</hr><br/>
<hr><b><center>3rd Offer: ($3.00 Pack)</b><ul>
<li>30 days being a respected member</li>
<li>50 crystals and $10,000</li>
</ul><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type=hidden name=cmd value=_xclick>
<input type="hidden" name="business" value="{$set['paypal']}">
<input type="hidden" name="item_name" value="{$domain}|DP|3|{$userid}">
<input type="hidden" name="amount" value="3.00">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="http://{$domain}/donatordone.php?action=done&type=30day">
<input type="hidden" name="cancel_return" value="http://{$domain}/donatordone.php?action=cancel">
<input type="hidden" name="notify_url" value="http://{$domain}/ipn_donator.php">
<input type="hidden" name="cn" value="Your Player ID">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">
<center><input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make 
payments with PayPal - it's fast, free and secure!"><br />
</form>
<hr><b>4th Offer: ($6.00 Pack)</b><ul>
<li>60 days being a respected member</li>
<li>100 crystals and $40,000</li>
</ul><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="{$set['paypal']}">
<input type="hidden" name="item_name" value="{$domain}|DP|4|{$userid}">
<input type="hidden" name="amount" value="6.00">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="http://{$domain}/donatordone.php?action=done&type=60day">
<input type="hidden" name="cancel_return" value="http://{$domain}/donatordone.php?action=cancel">
<input type="hidden" name="notify_url" value="http://{$domain}/ipn_donator.php">
<input type="hidden" name="cn" value="Your Player ID">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>
<hr><b>5th Offer: ($9.00 Pack)</b><ul>
<li>90 days being a respected member</li>
<li>150 crystals and $65,000</li>
</ul><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="{$set['paypal']}">
<input type="hidden" name="item_name" value="{$domain}|DP|5|{$userid}">
<input type="hidden" name="amount" value="9.00">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="http://{$domain}/donatordone.php?action=done&type=90day">
<input type="hidden" name="cancel_return" value="http://{$domain}/donatordone.php?action=cancel">
<input type="hidden" name="notify_url" value="http://{$domain}/ipn_donator.php">
<input type="hidden" name="cn" value="Your Player ID">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>
EOF;
$h->endpage();
?>

 

then the file that does the work

Ipn_donator

include "config.php";
global $_CONFIG;
define("MONO_ON", 1);
require "class/class_db_{$_CONFIG['driver']}.php";
$db=new database;
$db->configure($_CONFIG['hostname'],
$_CONFIG['username'],
$_CONFIG['password'],
$_CONFIG['database'],
$_CONFIG['persistent']);
$db->connect();
$c=$db->connection_id;
require 'global_func.php';
$set=array();
$settq=$db->query("SELECT * FROM settings");
while($r=$db->fetch_row($settq))
{
$set[$r['conf_name']]=$r['conf_value'];
}

// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// post back to PayPal system to validate
$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";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

// assign posted variables to local variables
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];


if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// check the payment_status is Completed
if($payment_status != "Completed") { fclose ($fp);die(""); }
if($db->num_rows($db->query("SELECT * FROM dps_accepted WHERE dpTXN='{$txn_id}'")) > 0) { fclose ($fp);die(""); }
// check that txn_id has not been previously processed
// check that receiver_email is your Primary PayPal email
if($receiver_email != $set['paypal']) { fclose ($fp);die(""); }
// check that payment_amount/payment_currency are correct
if($payment_currency != "USD") { fclose ($fp);die(""); }
// parse for pack
$packr=explode('|',$item_name);
if(str_replace("www.","",$packr[0]) != str_replace("www.","",$_SERVER['HTTP_HOST'])) { fclose($fp); die(""); }
if($packr[1] != "DP") { fclose($fp);die(""); }
$pack=$packr[2];
if( $pack != 1 and $pack != 2 and $pack != 3 and $pack != 4 and $pack != 5) { fclose($fp);die(""); }
if($pack == 1 && $payment_amount != "3.00") { fclose ($fp);die(""); }
if($pack == 2 && $payment_amount != "3.00") { fclose ($fp);die(""); }
if($pack == 3 && $payment_amount != "3.00") { fclose ($fp);die(""); }
if($pack == 4 && $payment_amount != "6.00") { fclose ($fp);die(""); }
if($pack == 5 && $payment_amount != "9.00") {fclose ($fp);die(""); }
// grab IDs
$buyer=$packr[3];
$for=$buyer;
// all seems to be in order, credit it.
if($pack==1)
{
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET u.crystals=u.crystals+250 WHERE u.userid={$for}");
$d=0;
$t="crystals";
}
else if($pack==2)
{
$db->query("INSERT INTO inventory VALUES('',23,$userid,"5")");
$d=0;
$t="potions";
}
else if($pack==3)
{
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET
u.crystals=u.crystals+50 WHERE u.userid={$for}");
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET
u.money=u.money+10000 WHERE u.userid={$for}");
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET
u.donatordays=u.donatordays+30 WHERE u.userid={$for}");
$d=30;
$t="threedollers";
}
else if($pack==4)
{
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET u.money=u.money+40000 WHERE u.userid={$for}");
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET u.crystals=u.crystals+100 WHERE u.userid={$for}");
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET u.donatordays=u.donatordays+60 WHERE u.userid={$for}");
$d=60;
$t="sixdollars";
}
else if($pack==5)
{
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET u.money=u.money+65000 WHERE u.userid={$for}");
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET u.crystals=u.crystals+150 WHERE u.userid={$for}");
$db->query("UPDATE users u LEFT JOIN userstats us ON u.userid=us.userid SET u.donatordays=u.donatordays+90 WHERE u.userid={$for}");
$d=90;
$t="ninedollars";
}
// process payment
event_add($for, "Your \${$payment_amount} Pack {$pack} Donator Pack has been successfully credited to you.", $c);
$db->query("INSERT INTO dps_accepted VALUES('', {$buyer}, {$for}, '$t', unix_timestamp(), '$txn_id')");
}
else if (strcmp ($res, "INVALID") == 0) {
}
}

fclose ($fp);
}
?>

Link to comment
https://forums.phpfreaks.com/topic/122082-ipn-help/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.