Guest User

Untitled

a guest
Jul 5th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. <?php
  2. header( 'Content-type: text/xml' );
  3. //Ип адреса, с которых будет приходить запрос. Для защиты.
  4. $check_ip[]="94.103.26.178";
  5. $check_ip[]="77.122.144.247";
  6. $date = date("d.m.y");
  7. //======================================настройки============================================
  8. // Секретный ключ
  9. $secret_key = "13a224ef920af18191b809f1a9d48c19";
  10. // Переменные для подключения к базе данных, впишите те, которые использовали при установке базы данных
  11. $server = 'localhost';
  12. $user = 'holly_root';
  13. $pass = '1234321';
  14. $db = 'test_base';
  15. //===========================================================================================
  16. $flag = $_REQUEST['command'];
  17. $md5 = $_REQUEST['md5'];
  18.  
  19. // Идентификатор платежа
  20. $v1 = $_REQUEST['v1'];
  21.  
  22. // Дополнительные параметры
  23. $v2 = $_REQUEST['v2'];
  24. $v3 = $_REQUEST['v3'];
  25.  
  26. if( isset($_REQUEST['id']) ) $id=$_REQUEST['id']; else $id=0;
  27. $kod=1;
  28.  
  29. // Проверка ип
  30. if (true){//in_array($_SERVER['REMOTE_ADDR'], $check_ip)) {
  31.  
  32. // Подключение к базе данных
  33. mysql_connect($server, $user, $pass) or die("Can't connect to database");
  34. mysql_select_db($db) or die("Can't select database ".$db);
  35.  
  36. // Если статус запрос
  37. if( ($flag == 'status') && ($md5 == md5($flag.$v1.$secret_key)) )
  38. { // Ищем платеж
  39. $sql = mysql_query("SELECT * FROM `payments` WHERE `order_id`='".$v1."'");
  40. $rows = mysql_num_rows($sql);
  41. $idpay = mysql_fetch_array($sql);
  42. if ($rows > 0) {
  43. $desc = $idpay['amount'];
  44. } else {
  45. $desc = '0';
  46. }
  47. } else
  48. { // Если команда на платеж
  49. if( ($flag == 'pay') && ($md5 == md5($flag.$v1.$id.$secret_key)) )
  50. {
  51. $sql=mysql_query("SELECT * FROM `2pay_payment` 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("UPDATE `payment` SET status='done' WHERE `order_id`='".$v1."' AND sum='".$_REQUEST['sum']."'");
  61. $sql2=mysql_query("INSERT INTO `2pay_payment` (`count`,`date`,`id`) VALUES ('".$_REQUEST['sum']."','".$date."','".$id."')");
  62. if( $sql==true && $sql2 == true)
  63. {
  64. $kod=0;
  65. $desc="ok";
  66. } else
  67. {
  68. $kod=2;
  69. $desc="Error during query";
  70. }
  71. }
  72. } else
  73. { // Если неизвестный запрос
  74. $kod=2;
  75. $desc="Unknown request or account not found";
  76. }
  77. }
  78. } else { $desc="Parametrs or IP is not correct"; }
  79. // Ответ
  80. if ($flag == 'status') {$html="<?xml version=\"1.0\" encoding=\"windows-1251\"?><response><amount>".$desc."</amount></response>"; } else
  81. {$html="<?xml version=\"1.0\" encoding=\"windows-1251\"?><response><id>".$id."</id><sum>".$_REQUEST['sum']."</sum><result>".$kod."</result><comment>".$desc."</comment></response>"; }
  82. echo $html;
  83. ?>
Add Comment
Please, Sign In to add comment