Вступить в клуб →
средняявопросКонтракты API: OpenAPI, ошибки и маппинг данных

В запрос оплаты приходят карты без токена и счета без ИНН

Схема запроса оплаты — один объект со всеми полями необязательными:

Payment:
  type: object
  properties:
    method: {type: string, enum: [card, sbp, invoice]}
    cardToken: {type: string}
    inn: {type: string}

Для card нужен cardToken, для invoice — inn, для sbp — ничего. Валидация пропускает method: card без токена, и ошибки всплывают только в платёжном шлюзе. Как описать схему?

  • oneOf по вариантам с discriminator по method
  • Сделать cardToken и inn обязательными всегда
  • Описать правила только текстом в description
  • Принимать любые поля и проверять их в коде

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

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

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

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