Pluginshik
Участник
Всем доброго времени суток!
Мучаюсь с этими пополнениями уже неделю, все настроено правильно в Payeer url : success, fail тоже на месте обработчик тоже настроен правильно(url) но после оплаты платежа все проходит верно перенаправляет на страницу успешной оплаты но баланс не зачисляется все равно,в бд посмотрел в payeer_insert и там статус стоит на 0 вроде он должен меняться на 1 при успешной оплате,или в файле success нужно поколдовать?
Код payeer_merchant.php:
Вот как выглядит success:
Мучаюсь с этими пополнениями уже неделю, все настроено правильно в Payeer url : success, fail тоже на месте обработчик тоже настроен правильно(url) но после оплаты платежа все проходит верно перенаправляет на страницу успешной оплаты но баланс не зачисляется все равно,в бд посмотрел в payeer_insert и там статус стоит на 0 вроде он должен меняться на 1 при успешной оплате,или в файле success нужно поколдовать?
Код payeer_merchant.php:
PHP:
<?php
if (!in_array($_SERVER['REMOTE_ADDR'], array('185.71.65.92', '185.71.65.189', '149.202.17.210'))) die('ERROR IP');
if (isset($_POST['m_operation_id']) && isset($_POST['m_sign']))
?>
# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}
# Класс конфига
$config = new config;
# Функции
$func = new func;
# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);
$m_key = $config->secretW;
$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')
{
$order_id = intval($_POST['m_orderid']);
$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".$order_id."'") or die('ERROR ORDER ID IN BASE');
if($db->NumRows() == 0){ echo $_POST['m_orderid'].'|error'; exit;}
$payeer_row = $db->FetchArray();
if($payeer_row['status'] > 0){ echo $_POST['m_orderid'].'|success'; exit;}
$db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");
$ik_payment_amount = $payeer_row["sum"];
$user_id = $payeer_row["user_id"];
# Настройки
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
$user_ardata = $db->FetchArray();
$user_name = $user_ardata["user"];
$refid = $user_ardata["referer_id"];
$date = time();
# Зачисляем баланс
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
$db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
$ins_sum = $db->FetchRow();
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.10) ) : ($serebro + ($serebro * 0.0));
// Бонус при первом и последующих пополненияй
$ratingadd = ($serebro * 0.04); // Бонус рейтинг
$lsb = time();
/* ====== Рефералка 3 уровней ====== */
$db->Query("SELECT user, referer_id, referer_id2, referer_id3 FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
$user_ardata = $db->FetchArray();
$ref2 = $user_ardata["referer_id2"];
$ref3 = $user_ardata["referer_id3"];
# Задаем процент рефки
$to_referer = ($serebro * 0.06); // Первый уровень - 7 процента
$to_referer2 = ($serebro * 0.04); // Второй уровень - 5 процента
$to_referer3 = ($serebro * 0.02); // Третий уровень - 3 процент
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer2 WHERE id = '$ref2'");
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer3 WHERE id = '$ref3'");
$db->Query("UPDATE db_users_a SET doxod2 = doxod2 + $to_referer2 WHERE id = '$user_id'");
$db->Query("UPDATE db_users_a SET doxod3 = doxod3 + $to_referer3 WHERE id = '$user_id'");
/* ====== /Рефералка 3 уровней ====== */
# Зачисляем средства рефереру и дерево
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer, from_referals = from_referals + '$to_referer' WHERE id = '$refid'");
$db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");
# Уведомление
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox, icon) VALUES ('$user_id', '$user_name', '1', 'Admin', 'Успешная транзакция', 'Payeer. Зачислено $serebro рублей!', '0', '$date', 1, 'fa fa-arrow-up')");
# Статистика пополнений
$da = time();
$dd = $da + 60*60*24*15;
$db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");
# Конкурс инвесторов
$usname = $user_name;
$db->Query("INSERT INTO db_invcompetition_users (user, user_id, points) VALUES ('$usname','$user_id','0')");
$db->Query("SELECT * FROM db_invcompetition WHERE status = '0' LIMIT 1");
$invcomp = $db->FetchArray();
$db->Query("SELECT COUNT(*) FROM db_invcompetition_users WHERE user_id = '{$user_id}'");
$rett = $db->FetchArray();
if ($invcomp["date_add"] >= 0 AND $invcomp["date_end"] > $da){
$db->Query("UPDATE db_invcompetition_users SET points = points + '$ik_payment_amount' WHERE user_id = '$user_id'");
} else
$db->Query("UPDATE db_invcompetition_users SET points = points + '0' WHERE user_id = '$user_id'");
# Конкурс рефералов
$competition = new competition($db);
$competition->UpdatePoints($user_id, $ik_payment_amount);
# Обновление статистики сайта
$db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
$db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".$order_id."'");
echo $_POST['m_orderid'].'|success';
exit;
}
echo $_POST['m_orderid'].'|error';
}
else{
die('NO OPERATION ID OR SIGN');
}
?>
Вот как выглядит success:
PHP:
<?PHP
$_OPTIMIZATION["title"] = "Успешная транзакция!";
$_OPTIMIZATION["description"] = "Успех транзакции.";
$_OPTIMIZATION["keywords"] = "успех, транзакция, зачислено";
?>
<div class="row">
<div class="col-sm-12">
<h4 class="page-title">Статус транзакции</h4>
<p class="text-muted page-title-alt">Успешно</p>
</div>
</div>
<center>
<div class="col-lg-6">
<div class="panel panel-success">
<div class="panel-body">
<p class="text-success"><i class="fa fa-check fa-3x"></i></p>
<p><span class="text-success">Успешная транзакция! Средства успешно зачислены!</span></p>
</div>
</div>
</div>
</center>