API оплаты банковской картой

System designMiddle40 минпроверка — Спринт22-t006

Спроектируйте серверное API оплаты картой: у клиента есть страница оплаты с итоговой суммой и формой ввода карты. Разобрать: сколько методов API нужно (минимум — синхронное списание; лучше — отдельно списание и получение статуса, опционально создание платежа/токенизация карты, по желанию — 3-D Secure); как проверить, что сумма, пришедшая с клиента, верна; какие валидации полей карты нужны (длина номера, формат и просроченность срока, по желанию — алгоритм Луна); как не допустить повторного списания при повторных запросах (ключ идемпотентности); как выглядит интеграция с фронтендом — что происходит до и после экрана оплаты, какие параметры (адрес возврата и т.п.) и сценарии поддержать.

Порядок, которого ждут: уточни требования → оцени нагрузку → API и данные → схема компонентов → узкие места и отказ. Не прыгай сразу в Kafka.

⌘ Enter — проверить