PaymentController class
Введение
- Описание: Контроллер
PaymentControllerиспользуется для сверки платежей (payments) из банка и полученных средств (receipts). - Маршруты: Обрабатываются POST-запрос по маршруту
/payment/import.
Формат запроса
Необходимы 3 секрета, переданные в заголовке.
Authorization: заголовок для передачи токена авторизации.X-Hasura-Admin-Secret: серкет-токен для Хасуры.secret: секрет API.x-hasura-role: роль пользователя в хасуре.
Валидация и преобразование данных
Валидируется наличие токенов из предыдущего формата.
Основная логика
- Проверка ключей.
- Создание репозитория: если действия производится от имени админа, используется репозиторий
сервес-локатор. Иначе создаётся экземпляр репо с токенов
GraphQLClientдля выполнения запросов от имени юзера. - Получение списка платежей из запроса.
- Сравнение платежей и полученных средств: для каждого полученного средства ищется соответствующий платеж.
Если платёж найден, а сумма совпадает - обновляется статус на
accepted. Иначе создаётся коммент и статус меняется наerrorImport. - Обновление статусов и данных в хасуре..
Взаимодействие с микросервисами
- Hasura: обновление данных, получение данных.
Ответы сервера
- Успешная операция сверки: Ожидаемый статус -
200 OK. - Некорректные секрет-ключи: Ожидаемый статус -
400 badRequest. - Ошибка сверки: Ожидаемый статус -
500 badRequest.
- Inheritance
-
- Object
- Controller
- PaymentController
Constructors
Properties
- endpoint ↔ String
-
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- request ↔ Request
-
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
call(
Request request) → FutureOr< Response> -
inherited
-
handler(
) → FutureOr< Response> -
Must be implemented
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
requestAsJson(
) → Future -
Reads request value and parse as json
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited