Реализация эмулятора платежного сервиса. Тестовое задание заключается в разработке сервиса, который принимает запросы через REST API.
- Создание платежа
- Изменение статуса платежа платежной системой
- Проверка статуса платежка по ID
- Получение списка всех платежей пользователя по его ID
- Получение списка всех платежей пользователя по его e-mail
- Отмена платежа по его ID
POST http://localhost:8080/create
В качестве входных данных передаются следующие параметры:
- user_id
- amount
- currency
На выходе получаем сообщение об успешном создании платежа при корректно введеных данных.
Платеж по умолчанию создается со статусом НОВЫЙ.
Если сумма платжа меньше 100, платежу присваивается статус ОШИБКА.
PUT http://localhost:8080/update
Для изменения статуса платежной системой требуется авторизация.
Для авторизации требуется, чтобы в хэдере "authorization" было значение "mySecretToken"
Для изменения платежа требуется передать ID платежа и статус.
Платежная система устанавливает статус УСПЕХ или НЕУСПЕХ, если такое возомжно.
После установки статуса платежной системой, изменение статуса становится недоступным.
GET http://localhost:8080/status/:tid
ID платежа указывается в адресной строке.
В качестве ответа получаем сообщение со статусом указанного платежа.
POST http://localhost:8080/payments/id
В качестве входных данных требуется ID пользователя.
На выходе получаем все платежи, которые проводились с указанным ID.
POST http://localhost:8080/payments/email
В качестве входных данных требуется email пользователя.
На выходе получаем все платежи, которые проводились с указанным email.
PUT http://localhost:8080/cancel
В качестве входных данных требуется ID платежа.
Если платеж имеет статус УСПЕХ или НЕУСПЕХ, смена статуса становится невозможной и возвращается сообщение об ошибке.
В проекте есть файл docker-compose для того, чтобы сервис можно было проще развернуть.
docker-compose up
Далее взаимодействовать с сервисом можно через порт :8080.