die(""); // Bad currency.. } elseif ($receiver_email != $Email) { die(""); // Bad receiver email.. } elseif ($payment_status != "Completed") { die(""); // Transaction not complete } /* Fetch the User Account */ $User = User::GetByField("User", "SteamID", $custom); if ($User == false || $User->IsReal() == false) { // They don't have an account.. wtf, lets make one to be safe $User = User::RegisterUser($custom, "0.0.0.0"); } /* MAKE SURE THEY DIDNT ALREADY GET THEIR SHIT */ $Donation = Donation::GetByField("Donation", "TransactionID", $txn_id); if ($Donation->IsReal() == true) { die(""); // They already got their shit } /* GIVE THEM THEIR SHIT */ $time = time(); $uid = $User->Data["ID"]; $User->ChangeValue("Credit", $User->Data["Credit"] + $payment_amount); Database::Query("INSERT INTO `gmd_donations` VALUES ( NULL, 1, '{$txn_id}', '{$custom}', '{$payer_email}', '{$first_name}', '{$last_name}', {$time}, {$payment_amount}, '{$payment_currency}' );"); } else { fwrite($FileObj, "bad ipn"); die(""); // Could not validate IPN }