Sobes.tech
Назад к вопросам
Junior — Middle
69

Наведи примеры способов подтверждения платежа по кредитной карте

Компании, где спрашивали
Т-БанкТ-Банк

Ответ от нейросети

sobes.tech AI

Что хотят услышать интервьюеры:

Понимание, как в реальных системах проверяется, что платеж по карте действительно авторизован, а не просто инициирован на фронте. Важно назвать несколько практических способов подтверждения и показать, что подтверждение обычно опирается на данные от платежного провайдера или банка. Хорошо, если упоминаются статусы платежа, webhooks, polling и сверка с выпиской/реестром.

Определение:

Подтверждение платежа по кредитной карте — это проверка того, что операция оплаты была успешно авторизована и/или списана, а также что её статус совпадает между приложением, платежным шлюзом и банковской стороной. В QA это обычно означает сверку статуса заказа или транзакции с источником истины: ответом провайдера, webhook-событием, API запроса статуса или финансовой отчетностью.

Пример использования:

Типичный набор способов подтверждения:

  • Проверка ответа платежного API сразу после оплаты: статус approved, success, captured или аналогичный.
  • Получение webhook от платежного провайдера о смене статуса транзакции.
  • Повторный запрос статуса платежа через API провайдера спустя некоторое время.
  • Сверка операции с выпиской/реестром платежей в админке или бэкофисе.
  • Проверка, что заказ в системе переведен в состояние paid.
Шаг 1. Пользователь вводит данные карты и нажимает "Оплатить".
Шаг 2. Система получает ответ от платежного шлюза: "authorized" или "success".
Шаг 3. Через webhook приходит финальный статус "captured".
Шаг 4. В системе заказа статус меняется на "paid".
Шаг 5. В бэкофисе транзакция появляется в отчете сверки.

Пояснение кода:

Код не требуется. Для такого примера проверка обычно разложена по шагам: сначала подтверждается мгновенный ответ API, затем ожидается асинхронное событие от провайдера, после чего статус сверяется в системе заказа и, при необходимости, в отчетах сверки. На собеседовании важно показать, что один только UI-ответ недостаточен для надежного подтверждения платежа.

Ключевые моменты:

  • Подтверждение платежа лучше делать не по одному признаку, а по нескольким источникам.
  • Самые надежные варианты — webhook от провайдера и запрос статуса через API.
  • UI может показать успех раньше, чем платеж реально будет финализирован.
  • Для QA важно различать authorized, captured, declined, failed, pending.
  • В тестах полезно проверять и технический статус транзакции, и бизнес-статус заказа.
  • Для спорных случаев нужна сверка с бэкофисом, выпиской или платежным реестром.