Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2020, 20:46   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию Помогите привязать Яндекс. Деньги к сайту.

Здравствуйте, прошу помощи, не получается привязать Я.Д. к сайту в автоматическом режиме.
Форма работает, деньги проходят - осталось сделать изменение баланса пользователя на сайте.
Конечно за две недели много вариантов было, но выкладываю последний. Нашел в интернете на форуме. \ https://forum.antichat.ru/threads/382553/ пишут рабочий. У меня при тестировании \ HTTP-уведомления \ высвчивается - error. Возможно он уже устарел, в яндексе все поменялось, документацию янд. деньги читаю, но дается понять трудно.

Код:
<?php
include_once('../../../connect/connect.php');
include_once('../../../lib/lib.php');

$pu=mysqli_query($link,"SELECT * FROM service");
$ppu=mysqli_fetch_array($pu);

$test = '1'; //Тестирование системы: 0 - выключено, 1 - включено

$notification_secret = "kтCек1BoUEM8KVEfор3ibG3q"; //СЮДА ВСТАВИТЬ Секретный код выданый ВАМ ЯД


$notification_type = $_POST["notification_type"]; 
$operation_id = $_POST["operation_id"];
$amount = $_POST["amount"];
$currency = $_POST["currency"];
$datetime = $_POST["datetime"];
$sender = $_POST["sender"];
$codepro = $_POST["codepro"];
$label = $_POST["label"];
$sha1_hash = $_POST["sha1_hash"];
$test_notification = $_POST["test_notification"];

$hash = $notification_type . '&' . $operation_id . '&' . $amount . '&' . $currency . '&' . $datetime . '&' . $sender . '&' . $codepro . '&' . $notification_secret . '&' . $label; //формируем хеш

$sha1 = hash("sha1", $hash); //кодируем в SHA1

//Ниже - проверка на валидность
if ( $sha1 == $sha1_hash ) {
echo 'OK';
} else {
echo 'error';
}

// Ниже - отладка - запись в файл testlog.txt переданых данных с ЯД.
if ($test=='1') {
$test_wr = fopen ('testlog.txt', 'a+');
fwrite ($test_wr, "$notification_type - тип нотификации\r\n$operation_id - ид операции\r\n$amount - сумма\r\n$currency -Код валюты\r\n$datetime - дата+время\r\n$sender -отправитель\r\n$codepro - наличие кода протекции\r\n$label - метка платежа\r\n$sha1_hash - переданый проверочный хеш\r\n$sha1 - расчитаный хэш\r\n$test_notification - тестовая нотификация\r\n");
fclose ($test_wr);
}


	
?>
ROM710 вне форума Ответить с цитированием
Старый 08.10.2020, 08:46   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

ну а кто мешает посмотреть документацию ЯндексДенег? Или вы думаете мы щас все бросим свои дела и ринемся изучать документацию?

1. хеш как то очень странно формируется с использованием знаков &
2. что в логе смотрели? какие там данные?
3. Зачем БД подключали и чето там выбирали если не используете это?
ADSoft вне форума Ответить с цитированием
Старый 08.10.2020, 15:32   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Или вы думаете мы щас все бросим свои дела
Конечно было бы здорово, но честно не этого хотел. а вот таких подсказок как ADSoft сделал, и спасибо. Просто когда не получается, появляются сомнения, и что б как то убедиться в правильности или неправильности приходится обращаться к более опытным людям.
Документацию читаю, но понимаю плохо, примеров нет.
Цитата:
Сообщение от ADSoft Посмотреть сообщение
что в логе смотрели? какие там данные?
В консоли браузера пусто, а где ещё ?

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Зачем БД подключали и чето там выбирали если не используете это?
Когда после тестовых уведомлений не будет писать ошибку, буде продолжение кода с записью в БД о смене баланса пользователя.
ROM710 вне форума Ответить с цитированием
Старый 08.10.2020, 15:46   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

форум то хакерский, убедитесь что у вас на балансе яндекс денег ноль, и на почте ничего важного нет, а то уплывут данные и яды куда не ожидали )
Alar вне форума Ответить с цитированием
Старый 08.10.2020, 15:51   #5
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Зачем им дуться, пусть сначала помогут, я и сам отдам. Так то сейчас все равно забирать нечего.

Последний раз редактировалось ROM710; 08.10.2020 в 16:57.
ROM710 вне форума Ответить с цитированием
Старый 08.10.2020, 16:39   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

в файле
Цитата:
Сообщение от ROM710 Посмотреть сообщение
// Ниже - отладка - запись в файл testlog.txt переданых
ADSoft вне форума Ответить с цитированием
Старый 08.10.2020, 16:59   #7
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

ADSoft Я не понял.
ROM710 вне форума Ответить с цитированием
Старый 08.10.2020, 17:09   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
ADSoft Я не понял.
тяжело ....

Смотри в корне файл текстовый, смотри его содержимое
ADSoft вне форума Ответить с цитированием
Старый 08.10.2020, 17:40   #9
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Теперь понял, спасибо.
ROM710 вне форума Ответить с цитированием
Старый 08.10.2020, 18:20   #10
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Да ADSoft, действительно тяжело, это я тормоз. Сам создал этот файл и забыл про него.
Ошибок нет в testlog.txt, при тестовом отправлении с Ян. Д. туда приходит тестовое уведомление с двумя одинаковыми хэш.
Теперь подскажи пожалуйста, дальше - удаляем
Код:
// Ниже - отладка - запись в файл testlog.txt переданых данных с ЯД.
if ($test=='1') {
$test_wr = fopen ('testlog.txt', 'a+');
fwrite ($test_wr, "$notification_type - тип нотификации\r\n$operation_id - ид операции\r\n$amount - сумма\r\n$currency -Код валюты\r\n$datetime - дата+время\r\n$sender -отправитель\r\n$codepro - наличие кода протекции\r\n$label - метка платежа\r\n$sha1_hash - переданый проверочный хеш\r\n$sha1 - расчитаный хэш\r\n$test_notification - тестовая нотификация\r\n");
fclose ($test_wr);
}
и прописываем запись в БД для смены баланса пользователя ?
ROM710 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP + API Яндекс деньги + MySql СерегаЯ Фриланс 14 31.03.2018 15:31
Как привязать новый домен к сайту на хостингер.ру mare01 Общие вопросы по программированию, компьютерный форум 0 19.12.2016 19:18
Как привязать плеер с видео потоком к сайту ? gigs PHP 0 24.09.2012 21:32
Яндекс Деньги titan2012 Свободное общение 1 07.08.2012 18:43
поиск по сайту (яндекс xml) chij Помощь студентам 0 19.08.2009 11:22