• Ресурсы форума переехали на Servahoc.ru

Матрица BigTrush

goldblade

Участник
привет,
подскажите,
подключила payeer в админ панели,всё работает нормально,
но при пополнении деньги приходят на кошелек,
а вот в аккаунте баланса стоит 0


когда прописываю ID и ключ магазина,
то получается ошибка:
" Неверное значение параметра
Параметр m_shop не указан или указан неверно. Вы можете увидеть правильный ID в настройках мерчанта https://payeer.com/ru/account/?tab=shops
"


Код ниже файл in.php
Форматирование (BB-код):
<?php
include('../inc/conf.php');
ini_set('session.use_cookies', 'On');
ini_set('session.use_trans_sid', 'Off');
session_set_cookie_params(604800000, "/", SITE, false, false);
session_start();
if (!isset($_SESSION["uid"])){
echo "Вы не авторизованы";
exit;
}
if(isset($_POST['sum'])){
if(!empty($_POST['sum'])){
$sum = preg_replace("#[^0-9\.]+#i",'',mysqli_real_escape_string($connect_db, trim($_POST['sum'])));
$usr = intval($_SESSION["uid"]);
$u_login = mysqli_real_escape_string($connect_db, $_SESSION['login']);
$pa = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT shop,ke FROM t_data LIMIT 1"));
$m_shop = $pa['shop']; КОГДА ТУТ ПИШУ ID,ТО ВЫДАЁТ ОШИБКУ
$m_key = $pa['ke'];  И ТУТ ТОЖЕ  
$dt = time();
$m_orderid = $usr.'_'.$dt;
$m_amount = number_format($sum, 2, '.', '');
$m_curr = 'RUB';
$m_desc = base64_encode("Пополнение баланса аккаунта $u_login");
$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(':', $arHash)));
mysqli_query($connect_db, "INSERT INTO `t_in` (usr,sum,ba,st,dt) VALUES ('$usr','$m_amount','$m_orderid','0','$dt')");
echo '
<table border=0 width="100%" height="100%">
<tr width="100%" height="100%"><td width="100%" height="100%" align="center" valign="middle">
Переход к оплате...
<form id="send" method="GET" action="https://payeer.com/merchant/" style="display:none">
<input type="hidden" name="m_shop" value="'.$m_shop.'">
<input type="hidden" name="m_orderid" value="'.$m_orderid.'">
<input type="hidden" name="m_amount" value="'.$m_amount.'">
<input type="hidden" name="m_curr" value="'.$m_curr.'">
<input type="hidden" name="m_desc" value="'.$m_desc.'">
<input type="hidden" name="m_sign" value="'.$sign.'">
<input type="submit" name="m_process" value="send" />
</form>
<script type="text/javascript">
document.forms["send"].submit();
</script>
</td></tr></table>
';
} else { echo 'Вы не ввели сумму платежа'; }
} else { echo 'Ошибка'; }
?>

КОД файл pay.php
Форматирование (BB-код):
<?php
include('../inc/conf.php');
if ($_SERVER['REMOTE_ADDR'] != '37.59.221.230') return;
if (isset($_POST['m_operation_id']) && isset($_POST['m_sign']))
{
$pa = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT ke FROM t_data LIMIT 1"));
$m_key = $pa['ke']; ТУТ  КОГДА ПИШУ  КЛЮЧ,ТО ПОПОЛНЕНИЕ РАБОТАЕТ,НО НА БАЛАНСЕ СТОИТ "0"
 $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')
{
$dt = time();
$pa = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT id,usr FROM t_in WHERE ba = '$_POST[m_orderid]' AND st = '0' LIMIT 1"));
$usr = $pa['usr'];
if ($usr > 0) {
mysqli_query($connect_db, "UPDATE `t_users` SET `bal` = `bal`+'$_POST[m_amount]' WHERE uid = '$usr'");
mysqli_query($connect_db, "UPDATE `t_in` SET `st` = '1' WHERE ba = '$_POST[m_orderid]' LIMIT 1");
}
echo $_POST['m_orderid'].'|success';
exit;
}
echo $_POST['m_orderid'].'|error';
}
?>
 

pligin

Команда форума
Администратор
$m_shop = $pa['shop']; КОГДА ТУТ ПИШУ ID,ТО ВЫДАЁТ ОШИБКУ
$m_key = $pa['ke']; И ТУТ ТОЖЕ
$pa - это массив
в массиве $pa находится запись с ID магазина с ключом shop, а секретный ключ с ключом ke (скорее всего там должно быть key)
данный массив должен где-то "выше" формироваться (в иклудах, может быть)
Примерно так:
PHP:
$pa = array(
    'shop' => 'ID_SHOP',
    'key' => 'm_key'
);
или так
PHP:
$pa['shop'] = 'ID_SHOP';
$pa['key'] = 'm_key';
 
Сверху