Не зачисляет средства игроку через Мерчанта 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
|