Работа с API используя XML

104
24 апреля 2021, 06:30

Всем добрый день!

Работаю с API платежной сис-мы, где есть проверка статуса платежа. То есть на мой сервер каждые 5 минут отправляется POST запрос, который я обрабатываю и вношу изменения в свою базу. Так вот, задача такова, чтобы дать серверу платежной системы ответ, о том, что все, платёж завершен. Для этого у них есть такой способ реализации:

  Сообщение считается доставленным, если страница обрабатывающая уведомление, вернет
<?xml version="1.0" encoding="UTF-8"?><response><result>0</result></response>
и код HTTP ответа 200, иначе оповещение о выполненном платеже будет повторяться.

Делаю это вот так:

$orderID = $_POST['orderId'];
$status = $_POST['paymentStatus'];
if($status == 1)
{
    global $DB;
    $DB->Query("UPDATE `pay_inout` SET `status` = 1 WHERE orderid = '$orderID'");
    header("Content-Type: text/xml");
    echo '<?xml version="1.0" encoding="UTF-8"?><response><result>0</result></response>';

}
if($status == 0 || 2)
{
    global $DB;
    $DB->Query("UPDATE `pay_inout` SET `status` = '$status' WHERE orderid = '$orderID'");
    header("Content-Type: text/xml");
    echo '<?xml version="1.0" encoding="UTF-8"?><response><result>0</result></response>';
}

Вроде как все должно работать, но нет. Сервер платежной системы продолжает отсылать POST запросы и считает, что платеж еще не обработан моей системой.

Проверял через сторонний сервис, эта страничка отдает HTTP 200, значит дело именно в XML.

READ ALSO
Нахождение номера недели по дате java

Нахождение номера недели по дате java

Есть график на две недели , то есть с 1 сентября у нас начинается первая неделя , потом следующая вторая, а потом следующая опять перваяПодскажите...

81
Создание спецификации в цикле

Создание спецификации в цикле

Всем привет, такой вопросЕсть список который может содержать более 1000 элементов, по которому надо сделать сравнение

97
Одна Entity и Две @OneToOne анотации

Одна Entity и Две @OneToOne анотации

В таблице Location содержится информация которая должна выбираться согласно связи charactersorigin_id reference to location

108