· 7 years ago · Apr 17, 2018, 04:22 PM
1<?php
2// ÐаÑтройки
3$secret_key = "my_key"; // Секретный ключ
4$my_purse = "my_purse"; // Кошелёк Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹
5
6// ЕÑли Ñто предварительный запроÑ
7if (isset($_POST['LMI_PREREQUEST']) && $_POST['LMI_PREREQUEST'] == "1") {
8// ПроверÑем кошелек на который будут зачиÑлены ÑредÑтва и режим работы кошелька (рабочий = 0, теÑтовый = 1)
9if ($_POST['LMI_PAYER_PURSE'] == "$my_purse") {echo "YES";}
10
11}
12// Повторный запроÑ
13else {
14// ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾ выполнении платежа
15$key = hash('sha256', $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO'].$_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].$_POST['LMI_SYS_TRANS_DATE']."$secret_key".$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM']);
16
17if (strtoupper($key) != $_POST['LMI_HASH']) {exit("Ðевалидный Secret Key");} // Выходим из Ñкрипта, еÑли не Ñовпала ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ
18else {
19
20$purse = trim($_POST['purse']);
21$deposit = trim($_POST['LMI_PAYMENT_AMOUNT']);
22// Редактируем Ð±Ð°Ð»Ð°Ð½Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ
23$file = fopen("users/$user/balance.txt", "a+"); // Открываем файл Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸ запиÑи, помещаем указатель в конец файла. ЕÑли файл не ÑущеÑтвует — Ñоздаём.
24flock($file, LOCK_EX); // Получаем ÑкÑклюзивную блокировку на запиÑÑŒ
25$get_balance = fread($file, 100); // Считываем в переменную Ñодержимое файла (баланÑ) длиной до 100 байт (100 цифр)
26$new_balance = $get_balance + $deposit; // Суммируем баланÑ
27ftruncate($file_fw, 0); // Урезаем файл до 0 байт
28fwrite($file, $new_balance); // ЗапиÑываем новое значение баланÑа
29flock($file, LOCK_UN); // Снимаем блокировку Ñ Ñ„Ð°Ð¹Ð»Ð°
30fclose($file); // Закрываем файл
31
32// Считаем общую Ñумму Ð¿Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð° вÑÑ‘ времÑ
33if (file_exists("admin/totaldeposit.txt")) {
34 $total_deposit = file_get_contents("admin/totaldeposit.txt");
35 $new_total_deposit = $total_deposit + $deposit;
36 file_put_contents("admin/totaldeposit.txt", "$new_total_deposit");
37}
38else {
39 file_put_contents("admin/totaldeposit.txt", "$deposit");
40}
41
42}
43
44}
45
46?>