Вступить в клуб →
средняявопросТестирование REST API

Повтор платёжного запроса после таймаута создал второй платёж: что проверять в API

Мобильный клиент отправил POST /api/v1/payments, не дождался ответа по таймауту сети и повторил тот же запрос. В базе появились два платежа на одну сумму, с карты списано дважды.

Что это и как строить проверку?

  • Корректное поведение: сервер обязан обработать каждый пришедший запрос и создать по нему платёж
  • Дефект клиента: интерфейс должен блокировать кнопку после первого нажатия и не давать отправить второй запрос
  • Нарушение идемпотентности: повтор с тем же ключом идемпотентности должен вернуть уже созданный платёж, а не создать новый
  • Дефект теста: между повторами нужна пауза в несколько секунд, тогда дубли платежей не возникнут

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

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

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

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