Advertisement
Guest User

Untitled

a guest
Jun 19th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.72 KB | None | 0 0
  1. <?php
  2. header( 'Content-type: text/xml' );
  3.    
  4. $check_ip[] = "82.146.40.60";
  5. $check_ip[] = "188.120.245.101";
  6. $check_ip[] = "188.120.245.102";
  7.  
  8. $secret_key = "-----";
  9.  
  10. $server = '-';//сервер с базами оплты
  11. $user = '-';// имя пользователя для доступа
  12. $pass = '-';//пароль для этого пользователя
  13. $db = '-';//имя базы данных с таблицами платежей
  14.    
  15. $flag = $_REQUEST['command'];
  16. $md5 = $_REQUEST['md5'];
  17.  
  18. $v1 = $_REQUEST['v1']; 
  19. $v2 = $_REQUEST['v2'];
  20. $v3 = $_REQUEST['v3'];
  21.  
  22. $v1_utf8 = iconv("windows-1251", "UTF-8", $v1);
  23.  
  24. if( isset($_REQUEST['id']) ) $id = $_REQUEST['id']; else $id = 0;
  25. $kod = 1;
  26.    
  27. if (in_array($_SERVER['REMOTE_ADDR'], $check_ip)) {
  28.     $link = mysql_connect($server, $user, $pass) or die("Can't connect to database");
  29.     mysql_query("SET NAMES 'utf8'", $link);
  30.     mysql_select_db($db) or die("Can't select database ".$db);
  31.         //проверка
  32.         if( ($flag == 'check') && ($md5 == md5($flag.$v1.$secret_key)) )
  33.         {   // Ищем платеж
  34.             $sql = mysql_query("SELECT charId FROM `characters` WHERE `char_name`='".$v1_utf8."'");
  35.             $rows = mysql_num_rows($sql);
  36.             $charid = mysql_fetch_array($sql);
  37.             if ($rows > 0) {
  38.                 $sql2 = mysql_query("SELECT id,sum,date FROM `character_payments` WHERE `charId`='".$charid['charId']."' ORDER BY `id` DESC LIMIT 1");
  39.                 $rows2 = mysql_num_rows($sql2);
  40.                 $idpay = mysql_fetch_array($sql2);
  41.                 if ($rows2 > 0) {$desc = "Last payment : ".$idpay['sum'].", ".$idpay['date']; $kod = 0;}
  42.                 else {$desc = $v1.' not paid yet'; $kod = 0;}
  43.             } else {
  44.                 $kod = 2;
  45.                 $desc = 'no such user: '.$v1;
  46.             }
  47.         } else    
  48.         {   //платеж
  49.             if( ($flag == 'pay') && ($md5 == md5($flag.$v1.$id.$secret_key)) )
  50.             {
  51.                 $sql=mysql_query("SELECT * FROM `character_payments` WHERE `id`='".$id."'");
  52.                 $rows = mysql_num_rows($sql);
  53.                 // Если платеж был проведен ранее
  54.                 if ($rows > 0)
  55.                 {
  56.                     $kod=0;
  57.                     $desc='Payment was send earlier';
  58.                 } else
  59.                 {   // Пытаемся завершить процедуру  
  60.                     $sql = mysql_query("SELECT charId FROM `characters` WHERE `char_name`='".$v1_utf8."'");
  61.                     $charid = mysql_fetch_array($sql);
  62.                     $sql2 = mysql_query("INSERT INTO `character_payments` (`id`, `charId`, `sum`) VALUES (".$id.", ".$charid['charId'].", ".$_REQUEST['sum'].");");
  63.                    
  64.                     if( $sql == true && $sql2 == true)
  65.                     {
  66.                         $kod=0;
  67.                         $desc = 'ok';
  68.                     } else
  69.                     {
  70.                         $kod = 2;
  71.                         $desc = mysql_error();
  72.                     }                  
  73.                 }
  74.             } else
  75.             {
  76.                 if( ($flag == 'cancel') && ($md5 == md5($flag.$v1.$id.$secret_key)) )
  77.                 {
  78.                     $sql = mysql_query("SELECT * FROM `character_payments` WHERE `id`='".$id."'");
  79.                     $rows = mysql_num_rows($sql);
  80.                     if ($rows > 0)
  81.                     {
  82.                         $sql = mysql_query("DELETE FROM `character_payments` WHERE `id`='".$id."'");
  83.                         $kod = 0;
  84.                         $desc = 'Payment was successfully rolled back';
  85.                     } else
  86.                     {
  87.                         $kod = 2;
  88.                         $desc = 'Payment with given ID does not exists';
  89.                     }
  90.                 }
  91.                 else
  92.                 {
  93.                 // Если неизвестный запрос
  94.                 $kod = 2;
  95.                 $desc = 'Unknown request or account not found';
  96.                 }
  97.             }
  98.         }
  99.  
  100.     mysql_close($link);
  101.     } else {$desc = 'Parametrs or IP is not correct';}
  102. // Ответ
  103. if ($flag == 'check') {
  104.     $html = '<?xml version="1.0" encoding="windows-1251"?><response><result>'.$kod.'</result><comment>'.$desc.'</comment></response>';
  105.     } else {
  106.     $html = '<?xml version="1.0" encoding="windows-1251"?><response><id>'.$id.'</id><sum>'.$_REQUEST['sum'].'</sum><result>'.$kod.'</result><comment>'.$desc."</comment></response>";
  107.     }
  108.     echo $html;
  109. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement