С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 21.07.2016
Сообщений: 15

Запись в базу данных после успешной оплаты

27.12.2019, 13:43. Показов 2936. Ответов 2

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

1) Баланс, кнопка пополнить, возможность пополнить администратору баланс любому пользователю.
Таблица имеет вид в базе USER_BALANCE ----> |id|balance|

2) На странице оплаты мы привязали интеркассу, где имеется поле ввода суммы и логина (логин надо убрать), добавлены файлы успешной оплаты, файлы ошибки и результата.
success.php - Оплата прошла успешно
error.php - Ошибка платежа
result.php - Обработчик.

Это result.php (Здесь создается файл 1.txt где записывается логин и сумма пополнения после удачного платежа в виде

логин: test , сумма : 8р.) Нужно чтобы записывал в базу эту информацию, но только чтобы логин человек свой не вписывал, а он автоматически ставил его после авторизации и чтобы в таблицу user_balance в столбец balance добавилась запись + (введенная_сумма)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
 
$dataSet = $_POST;
 
if (!$dataSet)
   exit('Ошибка платежа');
 
unset($dataSet['ik_sign']);
ksort($dataSet, SORT_STRING);
array_push($dataSet, 'zcNPZPbeBnC7ytV6');
$signString = implode(':', $dataSet);
$sign = base64_encode(md5($signString, true));
 
 
if ($sign != $_POST['ik_sign'])
   exit ('Ошибка обработки платежа');
 
file_put_contents('1.txt', "Логин: $_POST[ik_x_login], Сумма: $_POST[ik_am]");
 
 
?>


Это форма на странице оплаты

HTML5
1
2
3
4
5
6
7
8
9
<form id="payment" name="payment" method="post" action="https://sci.interkassa.com/" enctype="utf-8">
    <input type="hidden" name="ik_co_id" value="Тестовый_ключ_магазина"/>
    <input type="hidden" name="ik_pm_no" value="<?=time()?>"/>
    <p><input type="text" name="ik_x_login" placeholder="Ваш логин"/></p>
        <p><input type="text" name="ik_am" placeholder="Введите сумму"/></p>
    <input type="hidden" name="ik_cur" value="RUB"/>
    <input type="hidden" name="ik_desc" value="Event Description"/>
        <p><input type="submit" value="Оплатить"></p>
</form>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2019, 13:43
Ответы с готовыми решениями:

Переход по ссылке после успешной оплаты на INTERKASSA
Есть подключенная INTERKASSA, после того как пользователь сделал оплату, должен произойти переход по ссылке вида: ...

Запись данных в базу данных SQL и выгрузка таблицы в форму
Нужно сделать 2 формы, одну с несколькими textBox'ами, чтобы при нажатии кнопки информация введённая в них, записывалась в Базу данных, и...

Где ошибка? (Запись данных из массива в базу данных mysql)
Массив, генерирующий данные: $data = array(); for($i = 0; $i &lt; 100; $i++){ $data = array( 'name' ...

2
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
28.12.2019, 16:12
Цитата Сообщение от Moncorel Посмотреть сообщение
как написать правильно обработчик
А что значит правильно?

Ябы писал саму транзакцию в отдельную таблицу, а затем увеличивал бы баланс по логину

P.S.
HTML5
1
<p><input type="text" name="ik_x_login" placeholder="Ваш логин"/></p>
И сразу в платежку шлешь? А если человек ошибка в логине? Нужна валидация.
0
0 / 0 / 0
Регистрация: 21.07.2016
Сообщений: 15
28.12.2019, 16:14  [ТС]
Если без валидации и вводя логин в личном кабинете. То как сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2019, 16:14
Помогаю со студенческими работами здесь

Запись данных в базу данных mdb с использованием DataAdapter и DataSet
Попробовал сделать Update для таблицы контактов: private void Form1_Load(object sender, EventArgs e) { OleDbConnection...

Запись в базу данных из форм; экспорт базы данных
Существует html - сайт с формами. Типа: &lt;p&gt;Номер договора: &lt;input type=&quot;text&quot; name=&quot;contract number&quot; value=&quot;&quot;...

Запись в базу после нажатия Enter
Есть FibDataset (FbClient) и DbGridEh (DbClient). Я хочу дать пользователю возможность редактировать значения в некоторых ячейках в...

Нужна запись в базу данных данных по гет
У нас есть форма &lt;form action=&quot;/actions/create&quot; method='get' name=&quot;reg&quot;&gt; &lt;div id=&quot;content&quot;&gt; &lt;div id=&quot;d0&quot;&gt;&lt;img...

Как ускорить запись данных в базу данных?
Добрый день. Есть следующий тестовый код: class MyClass { public int a; public int b; public int c; } void main()


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru