%PDF- %PDF-
Direktori : /www/varak.net/paste.varak.net.old/pages/ |
Current File : //www/varak.net/paste.varak.net.old/pages/premium.php |
<?php ///////////////////////////////////////////////////////////////////////// // // This file is part of premuim.php // // Foobar is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Foobar is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Foobar. If not, see <http://www.gnu.org/licenses/>. // ///////////////////////////////////////////////////////////////////////// // // Website : http://php-pastebin.com/ // Contact : contact@php-pastebin.com // ///////////////////////////////////////////////////////////////////////// // // Dev : Atmoner // Website : http://atmoner.com // Contact : contact@atmoner.com // Twitter : @atmon3r // ///////////////////////////////////////////////////////////////////////// if (!defined("IN_PASTE")) die("Access denied!"); // Setup class require_once('libs/paypal.class.php'); // include the class file $p = new paypal_class; // initiate an instance of the class // $p->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; // testing paypal url $p->paypal_url = 'https://www.paypal.com/cgi-bin/webscr'; // paypal url // setup a variable for this script (ie: 'http://www.micahcarrick.com/paypal.php') $this_script = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // if there is not action variable, set the default action of 'process' if (empty($_GET['action'])) $_GET['action'] = 'process'; switch ($_GET['action']) { case 'process': // Process and order... $p->add_field('custom', $startUp->isLogged()); $p->add_field('business', $conf['paypalmail']); $p->add_field('return', $this_script.'?action=success'); $p->add_field('cancel_return', $this_script.'?action=cancel'); $p->add_field('notify_url', $this_script.'?action=ipn'); $p->add_field('item_name', 'Premium member for '.$startUp->session_username); $p->add_field('amount', $conf['amout']['value']); $smarty->assign("paypal", $p->submit_paypal_post()); // $p->submit_paypal_post(); //$p->dump_fields(); // for debugging, output a table of all the fields break; case 'success': // Order was successful... echo "<html><head><title>Success</title></head><body><h3>Thank you for your order.</h3>"; foreach ($_POST as $key => $value) { echo "$key: $value<br>"; } echo "</body></html>"; break; case 'cancel': // Order was canceled... // The order was canceled before being completed. echo "<html><head><title>Canceled</title></head><body><h3>The order was canceled.</h3>"; echo "</body></html>"; break; case 'ipn': // Paypal is calling page for IPN validation... // It's important to remember that paypal calling this script. There // is no output here. This is where you validate the IPN data and if it's // valid, update your database to signify that the user has payed. If // you try and use an echo or printf function here it's not going to do you // a bit of good. This is on the "backend". That is why, by default, the // class logs all IPN data to a text file. if ($p->validate_ipn()) { // Payment has been recieved and IPN is verified. This is where you // update your database to activate or process the order, or setup // the database with the user's order details, email an administrator, // etc. You can access a slew of information via the ipn_data() array. // Check the paypal documentation for specifics on what information // is available in the IPN POST variables. Basically, all the POST vars // which paypal sends, which we send back for validation, are now stored // in the ipn_data() array. mysql_query("UPDATE ".$startUp->prefix_db."users SET level='3' WHERE id='".$p->ipn_data['custom']."'"); // For this example, we'll just email ourselves ALL the data. $subject = 'Instant Payment Notification - Recieved Payment'; $to = $conf['paypalmail']['value']; // your email $body = "An instant payment notification was successfully recieved\n"; $body .= "from ".$p->ipn_data['payer_email']." on ".date('m/d/Y'); $body .= " at ".date('g:i A')."\n\nDetails:\n"; foreach ($p->ipn_data as $key => $value) { $body .= "\n$key: $value"; } mail($to, $subject, $body); } break; }