guitar56
Участник
Неверное значение параметра
Неверная подпись m_sign. Вы можете посмотреть правильную подпись в настройках мерчанта на вкладке "Тестирование".
Пожалуйста, попробуйте изменить секретный ключ на 123 в настройках мерчанта https://payeer.com/ru/account/?tab=shops и Вашем скрипте и попробовать еще раз.
Документация: https://www.payeer.com/upload/pdf/PayeerMerchantru.pdf
Неверная подпись m_sign. Вы можете посмотреть правильную подпись в настройках мерчанта на вкладке "Тестирование".
Пожалуйста, попробуйте изменить секретный ключ на 123 в настройках мерчанта https://payeer.com/ru/account/?tab=shops и Вашем скрипте и попробовать еще раз.
Документация: https://www.payeer.com/upload/pdf/PayeerMerchantru.pdf
<?PHP
# Автоподгрузка классов
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);
if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
$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")
{
$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
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"];
# Зачисляем баланс
$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.55) ) : $serebro;
$add_tree = ( $ik_payment_amount >= 499.99) ? 2 : 0;
$lsb = time();
$to_referer = ($serebro * 0.10);
$db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");
# Зачисляем средства рефереру и дерево
$add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : "";
$db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
# Статистика пополнений
$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')");
# Конкурс
$competition = new competition($db);
$competition->UpdatePoints($user_id, $ik_payment_amount);
#--------
$wmset = new wmset();
$marray = $wmset->GetSet($ik_payment_amount);
$a_t = intval($marray["t_a"]);
$b_t = intval($marray["t_b"]);
$c_t = intval($marray["t_c"]);
$d_t = intval($marray["t_d"]);
$e_t = intval($marray["t_e"]);
$db->Query("UPDATE db_users_b SET a_t = a_t + '$a_t', b_t = b_t + '$b_t', c_t = c_t + '$c_t', d_t = d_t + '$d_t', e_t = e_t + '$e_t',
last_sbor = '$lsb' WHERE id = '{$user_id}'");
# Платежные баллы
$pp = new pay_points($db);
$pp ->UpdatePayPoints($ik_payment_amount,$user_id);
# Обновление статистики сайта
$db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
echo $_POST['m_orderid']."|success";
exit;
}
echo $_POST['m_orderid']."|error";
}
?>
# Автоподгрузка классов
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);
if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
$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")
{
$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
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"];
# Зачисляем баланс
$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.55) ) : $serebro;
$add_tree = ( $ik_payment_amount >= 499.99) ? 2 : 0;
$lsb = time();
$to_referer = ($serebro * 0.10);
$db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");
# Зачисляем средства рефереру и дерево
$add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : "";
$db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
# Статистика пополнений
$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')");
# Конкурс
$competition = new competition($db);
$competition->UpdatePoints($user_id, $ik_payment_amount);
#--------
$wmset = new wmset();
$marray = $wmset->GetSet($ik_payment_amount);
$a_t = intval($marray["t_a"]);
$b_t = intval($marray["t_b"]);
$c_t = intval($marray["t_c"]);
$d_t = intval($marray["t_d"]);
$e_t = intval($marray["t_e"]);
$db->Query("UPDATE db_users_b SET a_t = a_t + '$a_t', b_t = b_t + '$b_t', c_t = c_t + '$c_t', d_t = d_t + '$d_t', e_t = e_t + '$e_t',
last_sbor = '$lsb' WHERE id = '{$user_id}'");
# Платежные баллы
$pp = new pay_points($db);
$pp ->UpdatePayPoints($ik_payment_amount,$user_id);
# Обновление статистики сайта
$db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
echo $_POST['m_orderid']."|success";
exit;
}
echo $_POST['m_orderid']."|error";
}
?>
<div class="s-bk-lf">
<div class="acc-title">Пополнение баланса</div>
</div>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Пополнение баланса";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
/*
if($_SESSION["user_id"] != 1){
echo "<center><b><font color = red>Технические работы</font></b></center>";
return;
}
*/
?>
<div class="silver-bk">
<center><h3><font color = "red">АКЦИЯ:</font> При первом пополнении баланса +55% в подарок.</h3> </center>
Курс игровой валюты: 1 рубль (<?=$config->VAL; ?>) = <?=$sonfig_site["ser_per_wmr"]; ?> серебра.
<p>Ввод средств позволяет автоматически приобрести игровое серебро с помощью различных платежных
систем.</p>
<p>Оплата и зачисление серебра на баланс производится в автоматическом режиме.</p>
<p>Введите сумму в РУБЛЯХ, которую вы хотите пополнить на баланс. <BR />
После пополнения вам будет зачислено серебро.<br /></p>
<b><font color = "red">Нет необходимой валюты?</font> Обменяй валюту <a href="http://5-kop.com/" target="_BLANK">ТУТ</a></b>
<BR />
<BR />
<?
/// db_payeer_insert
if(isset($_POST["sum"])){
$sum = round(floatval($_POST["sum"]),2);
# Заносим в БД
$db->Query("INSERT INTO db_payeer_insert (user_id, user, sum, date_add) VALUES ('".$_SESSION["user_id"]."','".$_SESSION["user"]."','$sum','".time()."')");
$desc = base64_encode($_SERVER["HTTP_HOST"]." - USER ".$_SESSION["user"]);
$m_shop = $config->shopID;
$m_orderid = $db->LastInsert();
$m_amount = number_format($sum, 2, ".", "");
$m_curr = "RUB";
$m_desc = $desc;
$m_key = $config->secretW;
$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(":", $arHash)));
?>
<center>
<form method="GET" action="//payeer.com/api/merchant/m.php">
<input type="hidden" name="m_shop" value="<?=$config->shopID; ?>">
<input type="hidden" name="m_orderid" value="<?=$m_orderid; ?>">
<input type="hidden" name="m_amount" value="<?=number_format($sum, 1, ".", "")?>">
<input type="hidden" name="m_curr" value="RUB">
<input type="hidden" name="m_desc" value="<?=$desc; ?>">
<input type="hidden" name="m_sign" value="<?=$sign; ?>">
<input type="submit" name="m_process" value="Оплатить и получить серебро" />
</form>
</center>
<div class="clr"></div>
</div>
<?PHP
return;
}
?>
<script type="text/javascript">
var min = 0.01;
var ser_pr = 100;
function calculate(st_q) {
var sum_insert = parseFloat(st_q);
$('#res_sum').html( (sum_insert * ser_pr).toFixed(0) );
}
</script>
<div id="error3"></div>
<form method="POST" action="">
<input type="hidden" name="m" value="<?=$fk_merchant_id?>">
Введите сумму [<?=$config->VAL; ?>]:
<input type="text" value="100" name="sum" size="7" id="psevdo" onchange="calculate(this.value)" onkeyup="calculate(this.value)" onfocusout="calculate(this.value)" onactivate="calculate(this.value)" ondeactivate="calculate(this.value)">
Вы получите <span id="res_sum">10000</span> серебра
<BR /><BR />
<input type="submit" id="submit" value="Пополнить баланс" >
</form>
<script type="text/javascript">
calculate(100);
</script>
<center>
<BR />
</center>
<BR /><BR />
<div class="clr"></div>
</div>
<div class="acc-title">Пополнение баланса</div>
</div>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Пополнение баланса";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
/*
if($_SESSION["user_id"] != 1){
echo "<center><b><font color = red>Технические работы</font></b></center>";
return;
}
*/
?>
<div class="silver-bk">
<center><h3><font color = "red">АКЦИЯ:</font> При первом пополнении баланса +55% в подарок.</h3> </center>
Курс игровой валюты: 1 рубль (<?=$config->VAL; ?>) = <?=$sonfig_site["ser_per_wmr"]; ?> серебра.
<p>Ввод средств позволяет автоматически приобрести игровое серебро с помощью различных платежных
систем.</p>
<p>Оплата и зачисление серебра на баланс производится в автоматическом режиме.</p>
<p>Введите сумму в РУБЛЯХ, которую вы хотите пополнить на баланс. <BR />
После пополнения вам будет зачислено серебро.<br /></p>
<b><font color = "red">Нет необходимой валюты?</font> Обменяй валюту <a href="http://5-kop.com/" target="_BLANK">ТУТ</a></b>
<BR />
<BR />
<?
/// db_payeer_insert
if(isset($_POST["sum"])){
$sum = round(floatval($_POST["sum"]),2);
# Заносим в БД
$db->Query("INSERT INTO db_payeer_insert (user_id, user, sum, date_add) VALUES ('".$_SESSION["user_id"]."','".$_SESSION["user"]."','$sum','".time()."')");
$desc = base64_encode($_SERVER["HTTP_HOST"]." - USER ".$_SESSION["user"]);
$m_shop = $config->shopID;
$m_orderid = $db->LastInsert();
$m_amount = number_format($sum, 2, ".", "");
$m_curr = "RUB";
$m_desc = $desc;
$m_key = $config->secretW;
$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(":", $arHash)));
?>
<center>
<form method="GET" action="//payeer.com/api/merchant/m.php">
<input type="hidden" name="m_shop" value="<?=$config->shopID; ?>">
<input type="hidden" name="m_orderid" value="<?=$m_orderid; ?>">
<input type="hidden" name="m_amount" value="<?=number_format($sum, 1, ".", "")?>">
<input type="hidden" name="m_curr" value="RUB">
<input type="hidden" name="m_desc" value="<?=$desc; ?>">
<input type="hidden" name="m_sign" value="<?=$sign; ?>">
<input type="submit" name="m_process" value="Оплатить и получить серебро" />
</form>
</center>
<div class="clr"></div>
</div>
<?PHP
return;
}
?>
<script type="text/javascript">
var min = 0.01;
var ser_pr = 100;
function calculate(st_q) {
var sum_insert = parseFloat(st_q);
$('#res_sum').html( (sum_insert * ser_pr).toFixed(0) );
}
</script>
<div id="error3"></div>
<form method="POST" action="">
<input type="hidden" name="m" value="<?=$fk_merchant_id?>">
Введите сумму [<?=$config->VAL; ?>]:
<input type="text" value="100" name="sum" size="7" id="psevdo" onchange="calculate(this.value)" onkeyup="calculate(this.value)" onfocusout="calculate(this.value)" onactivate="calculate(this.value)" ondeactivate="calculate(this.value)">
Вы получите <span id="res_sum">10000</span> серебра
<BR /><BR />
<input type="submit" id="submit" value="Пополнить баланс" >
</form>
<script type="text/javascript">
calculate(100);
</script>
<center>
<BR />
</center>
<BR /><BR />
<div class="clr"></div>
</div>