Данные платежа: отправитель, получатель, сумма.
Сервис использует механизм шардирования для хранения платежей в 3 базах данных.
Информация о платеже сохраняется в одной из трех БД для отказоустойчивости и распределения нагрузки.
URL: POST /api/1.0/payment
Пример запроса:
[
{
"accountFrom": "43534-34534-4535-4354",
"accountTo": "3455-3453-3454-5554",
"amount": 5453.23
}
]
Варианты ответов:
201 - данные успешно сохранены
400 - неправильные входные параметры
Пример ответа:
{
"errorCode": 3,
"errorMessage": "Must be at least one payment"
}
URL: GET /api/1.0/payment/4345-3443/sum
Параметры запроса /api/1.0/payment/:accountFrom/sum:
accountFrom - отправитель, у которого будет произведен подсчет общей суммы потраченных средств
Варианты ответов:
200 - данные успешно сохранены
Пример ответа:
{
"accountFrom": "4545-2344-2342-4234",
"sum": 4545.34
}
400 - неправильные входные параметры
Пример ответа:
{
"errorCode": 1,
"errorMessage": "Account 4545-2344-2342-4234 was not found"
}
Код ошибки | Описание |
---|---|
1 | Невозможно найти данных счет |
2 | Неизвестная ошибка |
3 | Неправильные входные параметры |
Название env | Описание | Значение по-умолчанию |
---|---|---|
PAYMENTS_SHARD_01_URL | URL подключения к базе | jdbc:postgresql://localhost:5432/payments1 |
PAYMENTS_SHARD_01_USERNAME | Пользователь, из под которого будет осуществляться подключение | postgres |
PAYMENTS_SHARD_01_PASSWORD | Пароль пользователя | кщще |
PAYMENTS_SHARD_02_URL | URL подключения к базе | jdbc:postgresql://localhost:5432/payments2 |
PAYMENTS_SHARD_02_USERNAME | Пользователь, из под которого будет осуществляться подключение | postgres |
PAYMENTS_SHARD_02_PASSWORD | Пароль пользователя | кщще |
PAYMENTS_SHARD_03_URL | URL подключения к базе | jdbc:postgresql://localhost:5432/payments3 |
PAYMENTS_SHARD_03_USERNAME | Пользователь, из под которого будет осуществляться подключение | postgres |
PAYMENTS_SHARD_03_PASSWORD | Пароль пользователя | кщще |