· 8 years ago · Sep 20, 2017, 03:00 AM
1<?php
2
3//
4// Merchant 2pay
5// Popkov I. Sergey
6// ICQ: 14296442
7//
8
9 header( 'Content-type: text/xml' );
10//Ип адреÑа, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… будет приходить запроÑ. Ð”Ð»Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹.
11 $check_ip[]="82.146.40.60";
12 $check_ip[]="188.120.245.101";
13 $check_ip[]="188.120.245.102";
14 $date=date("d.m.y");
15//======================================наÑтройки============================================
16// Секретный ключ
17 $secret_key = "";
18// Переменные Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº базе данных, впишите те, которые иÑпользовали при уÑтановке базы данных
19 $server='';
20 $user='';
21 $pass='';
22 $db='';
23//===========================================================================================
24 $flag = $_REQUEST['command'];
25 $md5 = $_REQUEST['md5'];
26
27// Идентификатор платежа
28 $v1 = $_REQUEST['v1'];
29
30// Дополнительные параметры
31 $v2 = $_REQUEST['v2'];
32 $v3 = $_REQUEST['v3'];
33
34 if( isset($_REQUEST['id']) ) $id=$_REQUEST['id']; else $id=0;
35 $kod=1;
36
37// Проверка ип
38 if (in_array($_SERVER['REMOTE_ADDR'], $check_ip)) {
39
40// Подключение к базе данных
41 mysql_connect($server, $user, $pass) or die("Can't connect to database");
42 mysql_select_db($db) or die("Can't select database ".$db);
43
44 // ЕÑли ÑÑ‚Ð°Ñ‚ÑƒÑ Ð·Ð°Ð¿Ñ€Ð¾Ñ
45 if( ($flag == 'status') && ($md5 == md5($flag.$v1.$secret_key)) )
46 { // Ищем платеж
47 $sql = mysql_query("SELECT * FROM `payments` WHERE `order_id`='".$v1."'");
48 $rows = mysql_num_rows($sql);
49 $idpay = mysql_fetch_array($sql);
50 if ($rows > 0) {
51 $desc = $idpay['amount'];
52 } else {
53 $desc = '0';
54 }
55 } else
56 { // ЕÑли команда на платеж
57 if( ($flag == 'pay') && ($md5 == md5($flag.$v1.$id.$secret_key)) )
58 {
59 $sql=mysql_query("SELECT * FROM `2pay_payment` WHERE `id`='".$id."'");
60 $rows = mysql_num_rows($sql);
61 // ЕÑли платеж был проведен ранее
62 if ($rows > 0)
63 {
64 $kod=0;
65 $desc='Payment was send earlier';
66 } else
67 { // ПытаемÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚ÑŒ процедуру
68 $sql=mysql_query("UPDATE `payment` SET status='done' WHERE `order_id`='".$v1."' AND sum='".$_REQUEST['sum']."'");
69 $sql2=mysql_query("INSERT INTO `2pay_payment` (`count`,`date`,`id`) VALUES ('".$_REQUEST['sum']."','".$date."','".$id."')");
70 if( $sql==true && $sql2 == true)
71 {
72 $kod=0;
73 $desc="ok";
74 } else
75 {
76 $kod=2;
77 $desc="Error during query";
78 }
79 }
80 } else
81 { // ЕÑли неизвеÑтный запроÑ
82 $kod=2;
83 $desc="Unknown request or account not found";
84 }
85 }
86 } else { $desc="Parametrs or IP is not correct"; }
87// Ответ
88 if ($flag == 'status') {$html="<?xml version=\"1.0\" encoding=\"windows-1251\"?><response><amount>".$desc."</amount></response>"; } else
89 {$html="<?xml version=\"1.0\" encoding=\"windows-1251\"?><response><id>".$id."</id><sum>".$_REQUEST['sum']."</sum><result>".$kod."</result><comment>".$desc."</comment></response>"; }
90 echo $html;
91?>