deimon260993
@deimon260993
Web-программист

Как поменять тип документа в браузере?

Доброй ночи, коллеги! Подскажите пожалуйста, интегрирую сайт с ЯндексКассой, столкнулся со следующей проблемой: Дело в том, что для яндекса, на одном из шагов оплаты, необходимо отдавать XML ответ, после проверки данных платежа.

Код файлика, генерирующего ответ для Яндекса:
<?php
	$responce = getResponse('checkOrder', $_REQUEST['invoiceId'], 0, 'Тест заказа');

	sendResponse($responce);
	
	//Функция, формирующая ответ для Яндекса в форме, указанной в документации
	function getResponse($functionName, $invoiceId, $result_code, $message = null)
	{
		try
		{
			// $performedDatetime = new DateTime()->format($performedDatetime::W3C);
			$performedDatetime = date( 'c' );
			$response = '<?xml version="1.0" encoding="UTF-8"?><'.$functionName.'Response performedDatetime="'.$performedDatetime.
                '" code="'.$result_code.'" '.($message != null ? 'message="' . $message . '"' : "").' invoiceId="'.$invoiceId.'" shopId="150634"/>';	
			return $response;
			
		} catch(\Exception $e) {
                      return null;
		}

		return null;
	}
	
	function sendResponse($responseBody) {
        header("HTTP/1.0 200");
        header("Content-Type: application/xml");
        echo $responseBody;
        exit;
    }
?>


Передаю все необходимые заголовки, а хром по-прежнему ругается, что тип файла является документом, а в заголовках передается application/xml. подскажите пожалуйста, как корректно решить данный вопрос?
4e5850aec7214e678cf892684d007a7e.pngd29a405d56cd40548590342ba7c8815b.png
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
GeneMoss
@GeneMoss
void
У Вас все нормально. Ошибки никакой нет. Хром всего лишь говорит, что нет соответствующих стилей (xslt) для преобразования XML в читабельный вид и что Вы видите голые данные, именно те, которые Вам и нужны.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы