<?php
    $auto_depozit = true;
  	require_once(__DIR__."/../../conf.php");

	$ip = check_ip();

    $systems = [
        'Qiwi',
        'YandexMoney',
        'Card',
    ];
  	if (is_post()) {
  	    if ($interkassa_id === '*****************') {
            die($_POST['ik_pm_no'].'|error');
        }
        $dataSet = $_POST;
        $key = $interkassa_secret_key;
        unset($dataSet['ik_sign']);
        ksort($dataSet, SORT_STRING);
        array_push($dataSet, $key);
        $signString = implode(':', $dataSet);
        $sign = base64_encode(hash('sha256', $signString, true));
        if (post('ik_sign') === $sign && post('ik_inv_st') === 'success') {
            $id = (int) post("ik_pm_no");
            $m_amount = post("ik_am");
            $m_amount = format_money($m_amount);
            $transaction = post('ik_inv_id');

            $sql = "SELECT * FROM `invest` WHERE `id` = ".escape_db($id)." AND `summa` = ".escape_db($m_amount)." AND `status` = ".escape_db(0).condition_delete()." LIMIT 1;";
            $result = $mysqli->query($sql);
            if ($result->num_rows !== 1) {
                die($_POST['ik_pm_no'].'|error');
            }
            $row = $result->fetch_assoc();
            if (!$row) {
                die($_POST['ik_pm_no'].'|error');
            }
            if ($row["status"]) {
                die($_POST['ik_pm_no'].'|error');
            }
            if ($row["delete"] == 0) {
                die($_POST['ik_pm_no'].'|error');
            }
            //исправление безопасности
            if (!in_array($row["system"], $systems)) {
                log_write(['Подмена системы', $_POST, $row]);
                die('Подмена системы');
            }
            $system = $row["system"];
            $set = get_row_by_field('payment_system', 'name', $system);
            if (!$set) {
                log_write("Ошибка оплаты {$system}. Настройки по системе не получены.", $_POST);
                die($_POST['ik_pm_no'].'|error');
            }

            if ($set['access'] !== 'interkassa') {
                die($_POST['ik_pm_no'].'|error');
            }

            $login = $row['login'];//получаем логин
            $invest_id = $id;//получаем id пополнения
            $summa = $row['summa'];//сумма пополнения
            $exch_rate = $row['exch_rate'];
            $currency = $val;//сумма пополнения

            $summa_check = $summa;
            //если USD тогда высчитываем сумму пополнения в рублях и сравниваем.
            $summa_check = $summa_check * $exch_rate;

            if (format_money($m_amount) !== format_money($summa_check)) {
                die($_POST['ik_pm_no'].'|error');
            }

            $sql = "UPDATE `invest` SET `status`= '1', `transaction` = ".escape_db($transaction)." WHERE `id` = ".escape_db($id)." LIMIT 1;";
            if (!$mysqli->query($sql)) {
                die($_POST['ik_pm_no'].'|error');
            }

            $res = active_invest($invest_id);
            if ($res['error']) {
                log_write("ERROR: Пополнение на {$system}; MESSAGE: {$res['message']}", $res['data']);
            }
            $mysqli->query("UPDATE `cache` SET balans_invest = balans_invest + '$summa'");

            echo 'success';
            exit(0);
        } else {
            die($_POST['ik_pm_no'].'|error');
        }
   	} else {
     	die($_POST['ik_pm_no'].'|error');
   	}
