Вход Регистрация
Файл: impwar.tk/xsolla_callback.php
Строк: 156
<?php


//Функции

//Проверка Ip-адреса,с которого пришёл Get-запрос
function checkIP ($ip)
    {
    if (
$ip == "94.103.26.178" || $ip "94.103.26.181")
        {    
        return 
1;
        }
    return 
0;
    }

//Проверка существования игрока
function check_nick($id)
    {
    if (
$id == ''
        {
        return 
0;
        }    
    
$myrow mysql_query ("SELECT * FROM `user` WHERE `id` = '".$id."' LIMIT 1");
    
$num_rows mysql_num_rows($myrow);
    if (
$num_rows 
        {
        return 
1;
        }
    return 
0;
    }
    
    
///Начисление средств    
function pay($v1$sum$id)
    {    
    
    
$date date("Y-m-d H:i:s");

    
mysql_query("UPDATE `user` SET `balls` = `balls` + '".$sum."' WHERE `id` = '".$v1."' LIMIT 1");
    if(
mysql_result(mysql_query ("SELECT COUNT(*) FROM `xsolla_shop` WHERE `id_shop` = '".$id."'"),0)>0){
        
    
$paymentId=mysql_result(mysql_query ("SELECT `id` FROM `xsolla_shop` WHERE `id_shop` = '".$id."' LIMIT 1"),0);
    
    }else{
    
mysql_query ("INSERT INTO `xsolla_shop` (`id_shop`,`v1`,`sum`) VALUES ('".$id."','".$v1."','".$sum."')");
    
$paymentId mysql_insert_id();
    
mysql_query ("INSERT INTO `xsolla_billing` (`invoice`,`v1`,`currency`,`date`,`canceled`) VALUES ('".$id."','".$v1."','".$sum."','".$date."','0')");
    
}
return 
$paymentId;
    }
    
    
///Отмена платежа,и также защита от фрода...    

function cancel ($id)
    {
    
$date date("Y-m-d H:i:s");

    
$result mysql_query("SELECT `currency`, `v1`, `canceled` FROM `xsolla_billing` WHERE `invoice` = '".$id."' LIMIT 1");
    
$amount mysql_fetch_array ($result);
    
$num_rows mysql_num_rows($result);
    if (
$num_rows && $amount['canceled'] == '0')
        {
    
        
mysql_query("UPDATE `user` SET `balls` = `balls` - '".$amount['currency']."' WHERE `id` = '".$amount['v1']."'");
        
mysql_query("UPDATE `xsolla_billing` SET `canceled` = '1', `date_cancel`= '".$date."' WHERE `invoice` = '".$id."'");
        return 
1;
        }
    return 
0;
    }
////С функциями закончили....
///Теперь непосредственно обработка того,что нам пришло

    

$isAllowed checkIP($_SERVER['REMOTE_ADDR']);///Проверка IP


///Подключаемся к БД
$db_host='localhost'// хост
$db_password=''// пароль
$db_user_name=''// имя пользователя
$db_name=''// имя базы данных

if(!($db=@mysql_connect($db_host$db_user_name$db_password)))
{
die();
}


if (!@
mysql_select_db($db_name,$db))
{
die();
}

/////Подключились




$secret "";///Вот здесь вставляете свой секретный код



////Пиздим переменные с  GET-запроса
$v1 $_GET['v1'];
$command $_GET['command'];
$md5 $_GET['md5'];
$sum $_GET['sum'];
$id $_GET['id'];
$date $_GET['date'];


/////Спиздили

////Проверка игрока
if ($command == "check" && $isAllowed
    {
    
$check check_nick($v1);
    
    if(
$md5 != md5($command.$v1.$secret)){
    echo 
'<xml version="1.0" encoding="windows-1251"><response><result>3</result></response>';
    die();
    }
    
    
    elseif (
$check && $md5 == md5($command.$v1.$secret)) 
        {
        
$code '0';
        
$comment 'success';

        echo 
'<?xml version="1.0" encoding="utf-8"?><response><result>'.$code.'</result></response>';
        }
    else 
        {
        
$code '2';
        
$comment 'Account is disabled or not present';

        echo 
'<?xml version="1.0" encoding="utf-8"?><response><result>'.$code.'</result><comment>'.$comment.'</comment></response>';
        }
    }
    
////Проверили    
    
/////Оплата      
if ($command == "pay"
    {
    
$check check_nick($v1);
    
$paymentId pay($v1,$sum,$id);
    
    if (
$paymentId
        {
        
$code '0';        
        } 
    else
        {
        
$code '4';
        
$comment 'Invalid format of request';

        echo 
'<?xml version="1.0" encoding="windows-1251"?><response><id>'.$id.'</id><id_shop>'.$paymentId.'</id_shop><sum>'.$sum.'</sum><result>'.$code.'</result><comment>'.$comment.'</comment></response>';
        
        exit();
        }
           
           if(
$md5 != md5($command.$v1.$id.$secret)){
    echo 
'<xml version="1.0" encoding="windows-1251"><response><result>3</result></response>';
    die();
    }
           
    elseif (
$check && $paymentId && $md5 == md5($command.$v1.$id.$secret) && $isAllowed
        {
        echo 
'<?xml version="1.0" encoding="windows-1251"?><response><id>'.$id.'</id><id_shop>'.$paymentId.'</id_shop><sum>'.$sum.'</sum><result>0</result></response>';
        }
    else
        {
        echo 
'<?xml version="1.0" encoding="windows-1251"?><response><id>'.$id.'</id><id_shop>'.$paymentId.'</id_shop><sum>'.$sum.'</sum><result>2</result><comment>Account is disabled or not present</comment></response>';
        }
    }
/////Оплатили



////Если есть запрос на отмену,то отменяем платёж    
if ($command == "cancel"
    {
    
$cancelResult cancel($id);
    if(
$md5 != md5($command.$id.$secret)){
    echo 
'<xml version="1.0" encoding="windows-1251"><response><result>3</result></response>';
    die();
    }
    
    elseif (
$cancelResult && $md5 == md5($command.$id.$secret) && $isAllowed)
        {
        echo 
'<xml version="1.0" encoding="windows-1251"><response><result>0</result></response>';
        }

        
        
    else
        {
        echo 
'<xml version="1.0" encoding="windows-1251"><response><result>3</result><comment>this payment ID does not exist</comment></response>';
        }
    }

?>
Онлайн: 0
Реклама