Здравствуйте! Проблема в этом: Код (PHP): if ($_POST['LMI_PREREQUEST'] == 1) { if ($_POST['LMI_PAYEE_PURSE'] == 'номер кошелька') echo 'YES'; } else { $key = $_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'].'Ae45er48EF4ewE'.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM']; if (strtoupper(hash('sha256', $key)) != $_POST['LMI_HASH']) exit; $ID = (int)$_POST['id']; $Row = mysqli_fetch_assoc(mysqli_query("SELECT `points` FROM `users` WHERE `id` = $ID")); if ($Row['points']) mysqli_query("UPDET INTO `users` VALUES('', '$Row[points]', $_POST[LMI_PAYMENT_AMOUNT])"); } И вот в результати код доходит к Код (PHP): if (strtoupper(hash('sha256', $key)) != $_POST['LMI_HASH']) exit; И дальше не работает.. почему то условие не правильное.. но все проверил не сколько раз.. в чем может быть проблема? Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Re: Проблема с merchant.webmoney может у кого то такое тож б значения в strtoupper(hash('sha256', $key) и $_POST['LMI_HASH'] не одинаковые?
Re: Проблема с merchant.webmoney может у кого то такое тож б Дело в том, что у меня $_POST['LMI_HASH'] не передает не чего.. пустота
Re: Проблема с merchant.webmoney может у кого то такое тож б Так это webmoney должна вызывать твой скрипт, вызывает? И ссылку давай по какой документации (webmoney) делаешь.
Re: Проблема с merchant.webmoney может у кого то такое тож б Прописал на сайте webmoney ссылку до своего скрипта?
Re: Проблема с merchant.webmoney может у кого то такое тож б php и webmoney ране не работал то под руку попал этот курс и с него нахапался..
Re: Проблема с merchant.webmoney может у кого то такое тож б Ну почитай на сайте webmoney, там обычно примеры и вся инструкция есть.
Re: Проблема с merchant.webmoney может у кого то такое тож б Да прописал вот здесь: Добавлено спустя 25 секунд: Re: Проблема с merchant.webmoney может у кого то такое тож было Хорошо... Спасибо
Re: Проблема с merchant.webmoney может у кого то такое тож б https://wiki.webmoney.ru/projects/webmoney/wiki/%D0%9D%D0%B ... 1%86%D0%B0 https://wiki.webmoney.ru/projects/webmoney/wiki/Web_Merchant_Interface#8 Добавлено спустя 49 секунд: Re: Проблема с merchant.webmoney может у кого то такое тож было Как ты проверил, что webmoney заходит на твой скрипт?
Re: Проблема с merchant.webmoney может у кого то такое тож б Я писал, что скорее всего, что нет... я пробивал вывести данные которые проверял $_POST['LMI_HASH'] и не чего не виводилось..
Re: Проблема с merchant.webmoney может у кого то такое тож б Я не знаю, как проверить заходил webmoney на мой скрипт или нет..
Re: Проблема с merchant.webmoney может у кого то такое тож б Там логика такая, как тебе заплатят сервер webmoney передаст твоему скрипту данные, можно записать весь массив $_POST в файл, чтобы потом посмотреть какие были значения, var_export($_POST, true) вернёт как текст массив $_POST и его можно сохранить в файл, скрипт запускает же webmoney, по этому это один из способов проверить был его запуск и с какими данными.
Re: Проблема с merchant.webmoney может у кого то такое тож б if (strtoupper(hash('sha256', $key)) != $_POST['LMI_HASH']) exit; если я это отключаю, то при оплате появляется тоже ошибка.. в котором пишется так: <!DOCTYPE> <html><header><title>..</title></header><body>...
Re: Проблема с merchant.webmoney может у кого то такое тож б Зачем отключать? Это хорошая защита, если злоумышленник не знает секретной фразы и притворится webmoney, то обломается. Что-то не понятно в предыдущем моём сообщении, о том как проверить какие данные приходят от webmoney?
Re: Проблема с merchant.webmoney может у кого то такое тож б Дело в том что если код этот включен то у меня скрипт не работает.. так как вебмоней мне не передает параметр " КОНТРОЛЬНАЯ ПОДПИСЬ (SHA256) " ВОпрос, а вебмоней передает параметр после нажатие на кнопку оплатит или при посещении странице\скрипта
Re: Проблема с merchant.webmoney может у кого то такое тож б покажи что тебе приходит от webmoney, как это сделать viewtopic.php?f=13&t=56238#p451840 когда клиент нажимает оплатить, то сервер вебмани добавляет задание на отправку данных о платеже на твой скрипт который ты указал, это может занять кое какое время, так что пред усмотри если клиент вернулся в магазин, а вебмани ещё не сообщила что оплачено.
Re: Проблема с merchant.webmoney может у кого то такое тож б Дело в том, что мне от вебмоней не чего не приходит.. Я не знаю почему.. Я уже поменял даже скрипт который написал, ранее и не чего не помогло, тот самый результат( Почему так не могу понять.. все указал, адресу сайта о и при проверки Result URL пишет это: А вот как заполнял поля:
Re: Проблема с merchant.webmoney может у кого то такое тож б Хорошо, покажи код который записывает информацию которую передала webmoney как я тебе советовал, ты знаешь что такое отладка? http://phpfaq.ru/debug
Ну этот код уже отличается от моего, я его взял с стати одной.. Но результат тот же.. Скрипт не проходит проверку и тому останавливает скрипт exti; Код (PHP): function paym(){ // Оно должно совпадать с Secret Key, указанным нами в настройках кошелька. $secret_key="dflsj4k!;fm3afd"; // Склеиваем строку параметров $common_string = $_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']; // Шифруем полученную строку в SHA256 и переводим ее в верхний регистр $hash = strtoupper(hash("sha256",$common_string)); // Прерываем работу скрипта, если контрольные суммы не совпадают if($hash!=$_POST['LMI_HASH']) exit; // ЕСЛИ ЭТО ФОРМА ПРЕДВАРИТЕЛЬНОГО ЗАПРОСА, ТО ИДЕМ ДАЛЬШЕ... IF($_POST['LMI_PREREQUEST']==1) { // Cравниваем наш настоящий кошелек с тем кошельком, который передан нам Мерчантом. // Если кошельки не совпадают, то выводим ошибку и прерываем работу скрипта. if(trim($_POST['LMI_PAYEE_PURSE'])!="Номер кошелька") { echo "ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ".$_POST['LMI_PAYEE_PURSE']; exit; } // Если ошибок не возникло и мы дошли до этого места, то выводим YES echo "YES"; }ELSE{// ЕСЛИ НЕТ LMI_PREREQUEST, СЛЕДОВАТЕЛЬНО ЭТО ФОРМА ОПОВЕЩЕНИЯ О ПЛАТЕЖЕ // Оно должно совпадать с Secret Key, указанным нами в настройках кошелька. $secret_key="dflsj4k!;fm3afd"; // Склеиваем строку параметров $common_string = $_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']; // Шифруем полученную строку в SHA256 и переводим ее в верхний регистр $hash = strtoupper(hash("sha256",$common_string)); // Прерываем работу скрипта, если контрольные суммы не совпадают if($hash!=$_POST['LMI_HASH']) exit; $ID = (int)$_POST['id']; $Row = mysqli_fetch_assoc(mysqli_query("SELECT `points` FROM `users` WHERE `id` = $ID")); if ($Row['points']) mysqli_query("UPDET INTO `users` VALUES('', '$Row[points]', $_POST[LMI_PAYMENT_AMOUNT])"); } } Дело в том, что я проверял дани, с вебмоней мне не чего не приходит.. так как я подумал, что дани ключи приходят после того, как пользователь начал оплачивать, а у меня в скрипте проверяется эти дани еще до оплаты и возможно из за этого, но на сайте пишут проверку до и у них все работает..( Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Result URL Код (PHP): <?php file_put_contents('wm.log', var_export($_POST, true)); wm.log Код (PHP): array ( 'LMI_MODE' => '1', 'LMI_PAYMENT_AMOUNT' => '0.01', 'LMI_PAYEE_PURSE' => 'Z...', 'LMI_PAYMENT_NO' => '0', 'LMI_PAYER_WM' => '4...', 'LMI_PAYER_PURSE' => 'Z...', 'LMI_PAYER_COUNTRYID' => 'MD', 'LMI_PAYER_PCOUNTRYID' => 'MD', 'LMI_PAYER_IP' => '8...', 'LMI_SYS_INVS_NO' => '675', 'LMI_SYS_TRANS_NO' => '985', 'LMI_SYS_TRANS_DATE' => '20160116 14:13:20', 'LMI_HASH' => '6A8D37FB780C751A3321215C5C809CB5028B0DCB51AD4D27529E3968F3AD18A0', 'LMI_PAYMENT_DESC' => 'тестовый товар', 'LMI_LANG' => 'ru-RU', 'LMI_DBLCHK' => 'ENUM', ) Такого добился?
Re: Проблема с merchant.webmoney может у кого то такое тож б Ну я конечно сам не ожидал, что я такой ДЕБИЛ в этом!!! В результате вот что у меня получилось: поменял название файла: wm.log на wm.txt Дальше не на долго показало все массив с wm.txt, но мой скрипт что с webmoney не заработал почему-то, кошелек, ключ указал и т.д.. Но все равно мой скрипт не заработал.. спустя 2 минут и wm.txt не заработал(перестало выводить)... Пол часа пробую и ноль.. Уже думаю пустая трата времени просто этот merchant.. все делаю как в стати или в видео, но все равно у меня не работает код.. проверял весь коди что в стати или видео идентичный...
Re: Проблема с merchant.webmoney может у кого то такое тож б Я запутался, ты решил свою задачу или нет?
Re: Проблема с merchant.webmoney может у кого то такое тож б Нет.. Подключил массив и все равно проверка не пройшла.. дани в массив я конечно прописал свои.. и ноль..