Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //to init db
- include 'class.php';
- $class = new account($_GET['debug']);
- // 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 ('ssl://www.paypal.com', 443, $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 if completed
- if($payment_status == "Completed"){
- if($payment_amount==$class->getCostForItem($item_name)&&$payment_currency=="CAD"){ //If valid
- if($receiver_email==$class->getAdminEmail()){
- $class->doActionForItem($item_name,$payer_email,$item_number);
- }
- }
- }else{
- $class->doActionForFailedItem($item_name,$payer_email,$item_number);
- }
- }
- else if (strcmp ($res, "INVALID") == 0) {
- // log for manual investigation
- }
- }
- fclose ($fp);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment