После оплаты какого-либо товара на result.php должно прийти такое URL-Оповещение : Код (Text): http://сайт/result.php?MERCHANT_ORDER_ID=some&P_PHONE=&P_EMAIL=some&CUR_ID=some&AMOUNT=some&MERCHANT_ID=some&SIGN=some&intid=some some - какие-либо значения. И приходит такой ответ на запрос(Нашел в логах заказа): Код (Text): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="http://сайт/result.php?MERCHANT_ORDER_ID=some&P_PHONE=&P_EMAIL=some&CUR_ID=some&AMOUNT=some&MERCHANT_ID=some&SIGN=some&intid=some">here</a>.</p> <hr> <address>Apache/2.4.10 (Unix) Server at some Port 80</address> </body></html> Получается, что данные должны были прийти.Но дело в том, что скрипт у меня такой: Код (Text): <?php echo "<meta charset='utf-8'>"; include "includes/engine.php"; $sign = md5($engine['merchant-id'].':'.$_REQUEST['AMOUNT'].':'.$engine['secret-word-2'].':'.$_REQUEST['MERCHANT_ORDER_ID']); if ($sign != $_REQUEST['SIGN']) { die(); }else{ mail($_GET['P_EMAIL'], 'Оплата на сайте', 'Оплачено успешно!Ваш товар:'); } ?> Если вкратце, то он проверяет sign и если все совпадает отправляет сообщение на почту. Но если отправлять URL-оповещение, то сообщение на почту не прийдет, но если самостоятельно перейти по ссылке запроса, то сообщение приходит. Получается, что URL-оповещение либо не пришло, либо не был опбработан[/code]
может ip адрес домена не правильно определяется, если с момента регистрации домена не прошло 48 часов
Нет, домен был зарегистрирован давно.Я вот подумал, у меня сайт на http 2 а ответ идет по http 1.1 , может поэтому не доходит?
я бы для начала сделал запись в текстовый файл всех полученных данных, чтобы проверить, приходят данные в скрипт или не приходят file_put_contents(__DIR__.'/file.txt', var_export($_POST,1), 8); --- Добавлено --- не знаю, что такое http2, поэтому ответить на вопрос не могу