Вступить в клуб →
сложнаявопросSQL и проверка интеграций по API

Ответ 200 OK, а платёж не прошёл: почему «интеграция работает» — неверный вывод

Вы проверяете интеграцию с платёжным провайдером и получаете такой ответ:

HTTP/1.1 200 OK
{
  "status": "error",
  "code": "LIMIT_EXCEEDED",
  "message": "daily limit reached",
  "payment_id": null
}

В тикете коллега написал: «API отвечает 200, интеграция работает, проблема на стороне клиента».

Что здесь не так?

  • HTTP-код говорит лишь о том, что запрос принят и обработан; бизнес-результат лежит в теле, а там отказ по дневному лимиту
  • Ничего: код 200 OK — исчерпывающий признак успешно выполненной операции, дальше в тело ответа можно не смотреть
  • Провайдер обязан отдавать 4xx при отказе, поэтому до исправления на его стороне обращение можно закрыть
  • Поле payment_id пустое из-за ошибки сериализации ответа, сам платёж при этом прошёл и деньги списаны

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела