I believe this should work perfectly, otherwise send me a private message.
ipn.php
PHP:<?php if ($_REQUEST['debug']) { ini_set("display_errors", True); error_reporting(E_ALL); } $mysql_host = 'localhost'; //Leave at localhost $mysql_user = 'root'; //DB User $mysql_pass = 'test'; //DB Pass $mysql_db = 'test'; //DB Name $file = 'paypal.log'; //Paypal Log Name will be placed in the same location as your ipn.php file $payer_email = $_REQUEST['payer_email']; $ip = $_SERVER['REMOTE_ADDR']; if($ip != "66.211.170.66" && $ip != "216.113.188.202" && $ip != "216.113.188.203" && $ip != "216.113.188.202" && $ip != "173.0.81.1" ) { print "Scammer..."; $hak = fopen("scammer.log", "a"); fwrite($hak, "$ip \r\n"); fclose($hak); die(0); } $time = date("F j, Y, g:i a"); $paylist = array("3.00" => 600, "5.00" => 1200, "10.00" => 2500); // connect db $db = mysql_connect($mysql_host, $mysql_user, $mysql_pass); $custom = stripslashes(ucwords(strtolower(trim($_REQUEST['custom'])))); $receiver_email = $_REQUEST['receiver_email']; $payment_status = $_REQUEST['payment_status']; $mc_gross = $_REQUEST['mc_gross']; mysql_select_db($mysql_db, $db); if ($_REQUEST['debug']){ print $payment_status . '\n'; print (isset($paylist[$mc_gross])) ? 1 : 0 . '\n'; print $receiver_email . '\n'; print $custom . '\n'; } if ($payment_status == "Completed" && $receiver_email == "[email protected]" && isset($paylist[$mc_gross])) { $query = "SELECT premium_points FROM accounts WHERE accounts.name = '$custom'"; $result = mysql_query($query); $prem = mysql_fetch_array($result); $somecode = "'$time' '$custom' '$payer_email' '$mc_gross' '$ip'\r\n"; // figure out how much to give $give = $paylist[$mc_gross]; $points = $prem['premium_points'] + $give; // $points = mysql_query($prem) $qry2 = "UPDATE accounts SET premium_points = '$points' WHERE accounts.name = '$custom'"; // Log Paypal Transaction $hak = fopen($file, "a"); fwrite($hak, $somecode); fclose($hak); $result2 = mysql_query($qry2); } else { echo("Error."); } ?>
paypal.htm
HTML:<b>PayPal Shop System.</b><br><br> The shop costs:<ul><li><strong><font color="red"> 3/5/10 EUR (for 600/1200/2500 points)</strong></font></li><br> <b>Here are the steps you need to make:</b> <br> 1. A PayPal account with a required balance <font color="red"><strong>[3/5/10 EUR]</strong></font> or a <font color="red"><strong>creditcard</strong></font>. <br> 2. Fill in your account number. <br> 3. Click on the Buy Now button or your creditcard brand. <br> 4. Make a transaction. <br> 5. After the transaction <font color="red"><strong>600</strong></font>, <font color="red"><strong>1200</strong></font> or <font color="red"><strong>2500</strong></font> points will be automatically added to your account. <br> 6. Go to Item shop and use your points <br> <br> <br> </b> <span style="color:red"></span> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="[email protected]"> <input type="hidden" name="lc" value="US"> <input type="hidden" name="item_name" value="Premium Points"> <b>Account name/login:</b> <input type="text" name="custom" value=""> <select name="amount"> <option value="3.00">3 EUR</option> <option value="5.00">5 EUR</option> <option value="10.00">10 EUR</option> </select> <input type="hidden" name="button_subtype" value="products"> <input type="hidden" name="currency_code" value="EUR"> <input type="hidden" name="no_shipping" value="1"> <input type="hidden" name="currency_code" value="EUR"> <input type="hidden" name="notify_url" value="http://test.com/paypal/ipn/ipn.php"> <input type="hidden" name="return" value="http://test.com"> <input type="hidden" name="rm" value="0"> <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest"> <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> </form>