https://github.com/jscodedevlopment/asaas-payment-microservice
Este repositório contém um microserviço desenvolvido em NestJS que encapsula toda a integração com a API do Asaas. O objetivo é fornecer, de forma centralizada e reutilizável por várias aplicações, funcionalidades de: Criação de clientes Geração de cobranças (boleto, cartão de crédito, PIX) Criação e consulta de links de pagamento etc...
https://github.com/jscodedevlopment/asaas-payment-microservice
Last synced: about 1 year ago
JSON representation
Este repositório contém um microserviço desenvolvido em NestJS que encapsula toda a integração com a API do Asaas. O objetivo é fornecer, de forma centralizada e reutilizável por várias aplicações, funcionalidades de: Criação de clientes Geração de cobranças (boleto, cartão de crédito, PIX) Criação e consulta de links de pagamento etc...
- Host: GitHub
- URL: https://github.com/jscodedevlopment/asaas-payment-microservice
- Owner: JsCodeDevlopment
- Created: 2025-04-26T12:17:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-29T20:55:50.000Z (about 1 year ago)
- Last Synced: 2025-04-29T21:37:44.297Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 125 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Microserviço de Pagamentos Asaas
Este repositório contém um microserviço desenvolvido em NestJS que encapsula toda a integração com a API do Asaas. O objetivo é fornecer, de forma centralizada e reutilizável por várias aplicações, funcionalidades de:
- Criação de clientes
- Geração de cobranças (boleto, cartão de crédito, PIX)
- Criação e consulta de links de pagamento
- Consulta de parcelas de planos de pagamento
- Gestão de notificações (email, SMS, WhatsApp, voz)
- Documentação automática de todas as rotas via Swagger
### Principais Benefícios
- **Desacoplamento**: toda a lógica de comunicação com a API do Asaas está isolada em módulos dedicados.
- **Tipagem Forte**: uso de DTOs e interfaces para garantir segurança de tipo em todas as requisições.
- **Configuração Centralizada**: via `@nestjs/config`, mantendo segredos e URLs em variáveis de ambiente.
- **Documentação Viva**: Swagger disponível em `/api` para explorar e testar todos os endpoints.
---
## Arquitetura
O projeto segue a arquitetura modular do NestJS e padrões de Clean Architecture:
- **AppModule**: ponto de entrada, carrega configurações globais e importa os módulos de recurso.
- **Configs** (`src/config`): arquivos de configuração de ambiente para Asaas e Swagger, usando `registerAs`.
- **AsaasModule**: módulo dinâmico (via `registerAsync()`) marcado como `@Global`, que provê `AsaasService` configurado com `HttpModule`.
- **Feature Modules**:
- **CustomersModule**: gerencia criação de clientes
- **PaymentsModule**: emite cobranças e consulta parcelas
- **PaymentLinksModule**: cria e consulta links de pagamento
- **NotificationsModule**: obtém e atualiza notificações
- **DTOs** (`src//dto`): definem formatos de entrada e saída para cada endpoint.
- **Swagger**: configurado dinamicamente via `swagger.config.ts` e exposto em `/api`.
```
asaas/
├── asaas.module.ts (Global)
├── asaas.service.ts
config/
├── asaas.config.ts
└── swagger.config.ts
customers/
├── dto/
│ ├── create-customer.dto.ts
│ └── customer-response.dto.ts
├── customers.controller.ts
├── customers.module.ts
└── customers.service.ts
notifications/
├── dto/
│ ├── notification-request.dto.ts
│ └── notification-response.dto.ts
├── notifications.controller.ts
├── notifications.module.ts
└── notifications.service.ts
payment-links/
├── dto/
│ ├── create-payment-link.dto.ts
│ └── payment-link-response.dto.ts
├── payment-links.controller.ts
├── payment-links.module.ts
└── payment-links.service.ts
payment/
├── dto/
│ ├── create-payment.dto.ts
│ └── payment-response.dto.ts
├── payment.controller.ts
├── payment.module.ts
└── payment.service.ts
```
---
## Instalação
1. **Clone o repositório**
```bash
git clone https://github.com/seu-usuario/payment-gateway-microservice-asaas.git
cd payment-gateway-microservice-asaas
```
2. **Instale as dependências**
```bash
npm install
```
3. **Configure variáveis de ambiente**
Crie um arquivo `.env` na raiz do projeto com o conteúdo abaixo:
```dotenv
ASAAS_API_KEY=
ASAAS_BASE_URL=https://sandbox.asaas.com/api/v3
SWAGGER_TITLE=Microserviço de Pagamentos Asaas
SWAGGER_DESCRIPTION=Microserviço desenvolvido em NestJS que encapsula toda a integração com a API do Asaas
SWAGGER_VERSION=1.0.0
SWAGGER_PATH=docs
PORT=3000
```
4. **Execute em modo de desenvolvimento**
```bash
npm run start:dev
```
5. **Acesse a documentação**
Abra no navegador:
````
http://localhost:8000/docs
````
---
## Tecnologias Utilizadas.
## Desenvolvedor.
| Foto | Nome | Cargo |
| ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------- | ------------------- |
|
| [Jonatas Silva](https://github.com/JsCodeDevlopment) | FullStack Developer |
---