💳 Добро пожаловать в Систему управления безопасными платежами! Этот проект состоит из двух микросервисов, предназначенных для обеспечения безопасной обработки платежей и аутентификации пользователей с использованием 3D-Secure.
-
Сервис аутентификации
- 🔒 Управляет регистрацией, входом в систему и управлением пользователями.
- 🛡️ Обеспечивает аутентификацию на основе JWT.
-
Сервис платежей
- 💰 Обрабатывает платежи, генерирует OTP для подтверждения и хранит историю платежей.
- 📝 Регистрация пользователей с проверкой данных.
- 🔑 Аутентификация пользователей на основе JWT.
- 📧 Сброс пароля через электронную почту.
- ⚙️ Управление профилем пользователя.
- 🏦 Создание платежей и подтверждение через OTP.
- 🚦 Управление статусами:
PENDING
,CONFIRMED
,CANCELED
и др. - 🔄 Функционал возвратов и отмены платежей.
- 📜 Просмотр истории платежей для авторизованных пользователей.
- ✉️ Уведомления по электронной почте для OTP и подтверждений.
- Java 21
- Spring Boot (разработка REST API)
- Spring Security + JWT (аутентификация и авторизация)
- Spring Data JPA (взаимодействие с базой данных)
- Spring Data JDBC
- Spring MVC
- Java Mail API (отправка электронной почты)
- HMAC-based OTP (Time-based) (генерация OTP)
- Swagger/OpenAPI (документация API)
- OpenFeign (интеграция между сервисами)
- JAXB API
- Lombok
- PostgreSQL
Метод | Конечная точка | Описание |
---|---|---|
POST | /auth/register |
📝 Регистрация нового пользователя. |
POST | /auth/login |
🔑 Аутентификация и выдача JWT. |
POST | /auth/reset-password |
📧 Запрос на сброс пароля. |
PUT | /auth/update-password |
🔒 Обновление пароля пользователя. |
Метод | Конечная точка | Описание |
---|---|---|
POST | /payments/create |
🏦 Создание нового платежа. |
POST | /payments/confirm |
🔐 Подтверждение платежа через OTP. |
POST | /payments/cancel |
🚫 Отмена ожидающего платежа. |
POST | /payments/refund |
🔄 Возврат подтвержденного платежа. |
GET | /payments/history |
📜 Получение истории платежей. |
GET | /payments/status/{id} |
🚦 Проверка статуса платежа по ID. |
- ☕ Java 21
- 🛠️ Maven
- 🐘 PostgreSQL
git clone https://github.com/Maxim2710/SecureXPay.git
cd SecureXPay
Создайте базы данных PostgreSQL для сервисов:
CREATE DATABASE auth_service_db;
CREATE DATABASE payment_service_db;
Обновите файлы application.yml
в каждом сервисе, указав свои учетные данные для базы данных.
Перейдите в директорию каждого сервиса (auth-service
и payment-service
) и выполните:
mvn spring-boot:run
В корне проекта находится файл docker-compose.yml
. Для запуска всех сервисов выполните:
docker-compose up --build
Откройте Swagger UI в браузере:
- 🔐 Сервис аутентификации:
http://localhost:8080/swagger-ui.html
- 💳 Сервис платежей:
http://localhost:8081/swagger-ui.html
- Аутентификация через JWT обеспечивает безопасные пользовательские сессии.
- OTP на основе времени добавляет дополнительный уровень подтверждения платежей.
- Ролевое управление доступом для выполнения критически важных действий.
Мы рады любым вашим предложениям! Пожалуйста, открывайте issue или отправляйте pull request.
Если у вас есть вопросы, свяжитесь с нами:
- 📧 Электронная почта: pm2710@mail.ru
- 🐙 GitHub Issues