Вступить в клуб →
средняяpythonПлатежи и интеграции: вебхуки, статусы и сверка данных

Сверка оплаченных заказов с реестром платёжного провайдера

Каждое утро провайдер присылает реестр успешных платежей за вчера. Нужно найти расхождения с нашей базой.

Напишите reconcile_payments(ours, registry).

  • ours — список словарей {"id": "p1", "amount": 150000, "status": "paid"} из нашей базы; суммы в копейках.
  • registry — список словарей {"id": "p1", "amount": 150000} из реестра, id в нём уникальны.
  • Оплаченными у нас считаются только записи со статусом "paid".
  • Верните словарь с тремя ключами, значения — отсортированные списки id:
    • "missing_in_registry" — оплачено у нас, но нет в реестре;
    • "missing_in_ours" — есть в реестре, но у нас не оплачено (нет записи или другой статус);
    • "amount_mismatch" — есть в обоих, но суммы разные.

заготовка решения

def reconcile_payments(ours, registry):
    # ваш код
    return None

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

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

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

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