Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 1

Не зачисляет средства игроку через Мерчанта PHP

22.10.2017, 00:10. Показов 1811. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, столкнулся с такой проблемой, как не зачисляет игровую валюту персонажу который оплатил деньги.
Средства на кошелек приходят. При выплате, деньги выплачиваются.

Пробовал:
- Менял пайер мерчант
- Перепроверял ссылки в мерчанте - в статусе стоит - мерчант который введет к обработке.

В чем может быть проблема? Подскажите пожалуйста

Файл: _insert.php
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<div class="s-bk-lf">
    <div class="acc-title">Пополнение баланса</div>
</div>
<?PHP
$arrs=array('_GET', '_POST');
foreach($arrs as $arr_key => $arr_value){
    if(is_array($$arr_value)){
        foreach($$arr_value as $key => $value){
            $nbz1=substr_count($value,'--');
            $nbz2=substr_count($value,'/*');
            $nbz3=substr_count($value,"'");
            $nbz4=substr_count($value,'"');
            if($nbz1>0 || $nbz2>0 || $nbz3>0 || $nbz4>0){
                print '<center><div class="error"><b>Вы используете недопустимые
 
символы в '.str_replace('_','',$arr_value).'-запросе!<br><a
 
href="javascript:window.history.back();">Назад</a></div></b></center>';
                exit();
            }
        }
    }
}
?>
 
<?PHP
$_OPTIMIZATION["title"] = "Пополнение баланса";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
 
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
 
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
?>
 
<div class="silver-bk">
<BR />
<br>
<center><font color=orange> <img title='Payeer' src='/img/Payeer1.gif'></font><br></center>
<br>
<center>
Курс игровой валюты: 1 рубль (<?=$config->VAL; ?>) = <?=$sonfig_site["ser_per_wmr"]; ?> серебра.
Ввод средств позволяет автоматически приобрести игровое серебро с помощью различных платежных 
систем: Yandex Деньги, QIWI, Payeer, Perfect Money, денежных переводов и т.д.
Оплата и зачисление денег на баланс производится в автоматическом режиме.
Введите сумму в РУБЛЯХ, которую вы хотите пополнить на баланс. 
После пополнения вам будет зачислено серебро. 
<BR />
<BR />
<br><font color="red"><b>При первом пополнении +50% в подарок!</b></font></font>
<br><font color="red"><b>При пополнении свыше 100 рублей +10% в подарок!</b></font></font>
<br><font color="red"><b>При пополнении свыше 1000 рублей +15% в подарок!</b></font></font>
<br><font color="red"><b>При пополнении свыше 5000 рублей +20% в подарок!</b></font></font>
<br><font color="red"><b>При пополнении свыше 10000 рублей +25% в подарок!</b></font></font>
<BR />
<BR />
</center>
<?PHP
/// 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, 2, ".", "")?>">
    <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" class="btn_9" name="m_process" value="ОПЛАТИТЬ" />
</form>
<br><b>К оплате сейчас: <font color='green'><?=number_format($sum, 2, ".", "")?></font> РУБ</b><br>
<font color='red'>Все средства зачисляются в автоматическом режиме сразу же после оплаты.<br>
Если в течении 30 минут средства небыли зачислены на ваш баланс, обратитесь в Тех. поддержку - </font> <font color='blue'>Ny@play</font>
</center>
<h3 style="border-top: solid 1px #fff; padding-top: 10px;"></h3>
<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>
<center>
<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="Пополнить баланс" class="btn_9">
</form>
<script type="text/javascript">
calculate(100);
</script>
 
<h3 style="border-top: solid 1px #fff; padding-top: 10px;"><a href="/account/swap" class="btn_9">Обменник серебра</a
</h3>
Файл: payeer_merchant.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?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);
 
# Подсчёт комиссии Payeer
$func -> ComissionPayeer();
 
 
 
 
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.50) ) : $serebro;
   $serebro = intval($ins_sum >= 99.99) ? ($serebro + ($serebro * 0.1) ) : $serebro; //при первом пополнении +50%
$serebro = intval($ins_sum >= 999.99) ? ($serebro + ($serebro * 0.15) ) : $serebro; // при пополнении от 1000 руб (+ 15%)
$serebro = intval($ins_sum >= 4999.99) ? ($serebro + ($serebro * 0.20) ) : $serebro; // при пополнении от 5000 руб (+ 20%)
   $serebro = intval($ins_sum >= 9999.99) ? ($serebro + ($serebro * 0.25) ) : $serebro; // при пополнении от 10000 руб (+ 25%)
   $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 + 0" : "";
   $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);
   
    # Обновление статистики сайта
    $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";
}
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2017, 00:10
Ответы с готовыми решениями:

Проблема стрельбы врагов через стены по игроку в TDS Unity2D (игра с видом сверху)
Здравствуйте уважаемые знатоки). У меня враги стреляют в меня через стены, а мне этого не надо. Я не знаю как реализовать это, так чтобы...

Как быстро 1Ps зачисляет денежки?...
Оплатил в Субботу утром счет, а на акаунте еще ничего нету... Кто платил?... Как бысто денежка падает?...

Движение к игроку
Всем привет:). Новичок в юнити поэтому кое-чего не понимаю. Есть префабы игрока и врага. Врага нужно научить следовать за игроком, я...

1
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
28.10.2017, 18:33
Самый быстрый способ - самостоятельно пополнять баланс на 1копейку/цент, а в это время программист или сам вносишь изменения в файл-обработчик платежа, например, сразу после <?PHP пишем file_put_contents("11.txt", time()); сохраняем файл и после платежа ищем на диске файл 11.txt
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2017, 18:33
Помогаю со студенческими работами здесь

Стрельба ИИ по игроку
Здравствуйте! Спасибо, что решили уделить мне время :) Проблема такая: есть у меня ИИ, он лучник :D Лучник умеет преследовать игрока,...

Движение к игроку
Сделал движение врага к игроку, но враг идет-идет и поднимается вверх. На картине изобразил путь врага Как изменить мой код, что враг не...

Ошибка мерчанта Payeer "Неверная подпись m_sign"
При нажатии на кнопку &quot;Пополнить счет&quot;, выходит это: Вот код обработчика: &lt;?php include_once &quot;config.php&quot;; ...

Удар врага по игроку
Здравствуйте. Ни как не пойму как правильно сделать удары врага с задержкой. Он должен подойти к игроку и бить с задержками, ударил и...

Шарик, движущийся к игроку
public Transform target; Rigidbody2D a; public Vector2 b; void Start () { a = GetComponent&lt;Rigidbody2D&gt;(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru