<?php
require_once('../wu_init.php');

//if (!in_array($_SERVER['REMOTE_ADDR'], array('185.71.65.92', '185.71.65.189'))) return;
if(!isset($_POST['m_operation_id']) || !isset($_POST['m_sign'])){ wu_log_act(2, "Пытался провести платёж через Payeer без подписи, ip: $ip"); exit; }

//Приём данных
$batch = mysqli_real_escape_string($connect_db, trim($_POST['m_orderid']));
$amount = mysqli_real_escape_string($connect_db, trim($_POST['m_amount']));

//Проверка данных
$order = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT id,usr,ps,type,extra,s,st FROM `".DB_PREFIX."_cash_in` WHERE batch='$batch' LIMIT 1"));
if (empty($order['id'])) { wu_log_act(2, "Пытался провести платёж через Payeer без созданного счёта. Номер не найденой транзакции: ".wu_filter($_POST['m_orderid']).", ip: $ip"); exit; }
if ($order['st'] == 1) { wu_log_act(2, "Пытался оплатить уже оплаченный счёт через Payeer. Номер транзакции в системе: $batch, ip: $ip"); exit; }
if ($order['s'] != $amount) { wu_log_act(2, "Пытался оплатить счёт через Payeer с подменой суммы. Номер транзакции в системе: $batch, ip: $ip"); exit; }

$paysys = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT id,ident,ti,keys_in,active_in FROM `".DB_PREFIX."_pay_systems` WHERE id='$order[ps]' LIMIT 1"));
if ($paysys['active_in'] == 0) { wu_log_act(2, "Пытался провести платёж через отключенную для пополнения платёжную систему Payeer. Номер транзакции в системе: $batch, ip: $ip"); exit; }
$keys_in = explode('||', $paysys['keys_in']);

//Проверка хэша
$m_key = $keys_in[1];
$arHash = array($_POST['m_operation_id'],
$_POST['m_operation_ps'],
$_POST['m_operation_date'],
$_POST['m_operation_pay_date'],
$_POST['m_shop'],
$_POST['m_orderid'],
$_POST['m_amount'],
$_POST['m_curr'],
$_POST['m_desc'],
$_POST['m_status'],
$m_key);
$sign_hash = strtoupper(hash('sha256', implode(':', $arHash)));
if ($_POST['m_sign'] != $sign_hash || $_POST['m_status'] != 'success') { wu_log_act(2, "Пытался провести платёж с поддельным хэшем через платёжную систему Payeer. Номер транзакции в системе: $batch, ip: $ip"); exit; }

$usr = $order['usr'];
$extra = $order['extra'];
$sum = $order['s'];
$paysys_ti = $paysys['ti'];

//Инклуд операции
require_once('wu_res_operation_'.$order['type'].'.php');

mysqli_query($connect_db, "UPDATE `".DB_PREFIX."_cash_in` SET `st` = '1' WHERE batch='$batch' LIMIT 1");
echo $_POST['m_orderid'].'|success';
?>