Este microsserviço simula um Gateway de Pagamento de alta disponibilidade e baixo acoplamento. Desenvolvido sob a ótica da Engenharia de Software moderna e inspirado nos desafios arquiteturais do ecossistema , o projeto utiliza FastAPI para garantir processamento assíncrono, validação estrita de contratos de dados e escalabilidade horizontal.
A aplicação foi estruturada focando em Separação de Preocupações (SoC) e performance de I/O:
- Processamento Assíncrono: Utilização intensiva de
async/awaitno event loop do FastAPI para lidar com alto volume de concorrência sem bloqueio de threads. - Data Transfer Objects (DTOs): Implementação de tipagem estrita e validação de schemas de entrada/saída através do Pydantic V2, garantindo que o core da aplicação processe apenas dados íntegros.
- Idempotência e Rastreabilidade: Geração de identificadores únicos universais (UUIDv4) no momento da ingestão da requisição, facilitando auditoria e tracing distribuído.
Core Financeiro
- Processamento transacional assíncrono.
- Geração automática de
transaction_id(UUID). - Auditoria em tempo real via buffer de memória.
Infraestrutura e Segurança (Roadmap)
- Persistência Volumétrica: Migração do estado em memória para um banco de dados relacional (PostgreSQL) via ORM (SQLAlchemy).
- Autenticação: Implementação de API Keys e JWT (Bearer) para proteção de endpoints sensíveis.
- Qualidade: Cobertura de testes unitários e de integração utilizando
pytest.
A documentação interativa completa (OpenAPI/Swagger) está disponível em /docs ao rodar a aplicação.
| Método | Endpoint | Descrição Técnica | Status Esperado |
|---|---|---|---|
POST |
/processar |
Ingestão de payload, validação de regras e efetivação do pagamento. | 201 Created |
GET |
/historico |
Recupera a coleção completa do log de operações transacionais. | 200 OK |
GET |
/transacao/{id} |
Busca granular por chave primária (UUID) de uma transação específica. | 200 OK / 404 Not Found |
- Python 3.14 ou superior instalado.
- Gerenciador de pacotes
pip.
-
Clonagem do Repositório:
git clone [https://github.com/MarcosSoftwareEngineering/python-payment-gateway.git](https://github.com/MarcosSoftwareEngineering/python-payment-gateway.git) cd python-payment-gateway -
Isolamento de Ambiente (Virtualenv):
python -m venv venv # Ativação (Windows) .\venv\Scripts\activate # Ativação (Linux/macOS) source venv/bin/activate
-
Instalação de Dependências:
pip install fastapi uvicorn pydantic
Para subir o servidor ASGI com hot-reload ativo (ideal para desenvolvimento):
uvicorn main:app --reloadAcesse a interface visual para testes de chamadas HTTP: 👉 http://127.0.0.1:8000/docs
Marcos Vinicius Estudante de Engenharia de Software | Desenvolvedor full stack