CrazyStack
Node.js + TypeScript

Gateway de Pagamento Node.js TypeScript

Integração completa de PIX e Cartão de Crédito com Woovi, Stripe e Pagar.me usando Padrão Adapter

payment-gateway.ts
export abstract class PaymentGateway {
abstract createCharge(data: any): Promise<any>;
abstract deleteCharge(id: string): Promise<any>;
abstract getCharge(id: string): Promise<any>;
}
Scroll
Padrão Adapter

Por que usar o Padrão Adapter para Gateway de Pagamento?

Integrar diferentes gateways de pagamento no Node.js pode ser complexo devido às várias APIs e suas peculiaridades. O padrão Adapter com TypeScriptcria uma interface unificada para PIX e cartão de crédito, facilitando manutenção, escalabilidade e integração com Woovi, Stripe e Pagar.me.

Segurança e Tipagem

TypeScript garante tipagem estática e segurança do código em todas as implementações de gateway de pagamento, reduzindo erros em produção.

Flexibilidade e Escalabilidade

Interface comum permite trocar gateways de pagamento facilmente sem alterar o código principal da API Node.js.

Múltiplos Gateways de Pagamento

Suporte nativo para PIX, cartão de crédito e assinaturas em todos os gateways como Woovi, Stripe e Pagar.me.

Arquitetura

Estrutura do Projeto Node.js TypeScript

Organização modular com padrão Adapter para facilitar a manutenção e escalabilidade do código de gateway de pagamento

Estrutura de Diretórios

src/
├── contracts/
│ └── PaymentGateway.ts
├── adapters/
│ ├── WooviAdapter.ts
│ ├── StripeAdapter.ts
│ ├── PagarmeAdapter.ts
│ └── index.ts
└── config/
└── env.ts

Fluxo de Processamento

1
Aplicação solicita pagamento via interface comum
2
Adapter converte para formato específico do gateway
3
Gateway processa e retorna resposta padronizada
Contrato Base
Interface comum que todos os gateways devem implementar
export abstract class PaymentGateway {
abstract createCharge(data: any): Promise<any>;
abstract deleteCharge(id: string): Promise<any>;
abstract getCharge(id: string): Promise<any>;
abstract createSubscription(data: any): Promise<any>;
abstract getSubscription(id: string): Promise<any>;
abstract createCustomer(data: any): Promise<any>;
abstract getCustomer(id: string): Promise<any>;
abstract getChargeByCustomer(data: any): Promise<any>;
}
Integrações

Gateways Suportados

Implemente múltiplos gateways de pagamento com uma única interface

Woovi
PIX Nativo
Gateway brasileiro especializado em PIX com API simples e eficiente
  • Cobrança PIX instantânea
  • Assinaturas recorrentes
  • Gestão de clientes
  • Webhooks em tempo real
Endpoint: api.openpix.com.br
Brasil
Stripe
Global
Plataforma global líder em pagamentos online com SDK robusto
  • Cartões internacionais
  • Checkout otimizado
  • Prevenção de fraudes
  • Dashboard avançado
SDK: stripe (oficial)
Internacional
Pagar.me
Brasil
Solução brasileira completa para pagamentos online e offline
  • PIX e cartões nacionais
  • Boleto bancário
  • Split de pagamentos
  • Antifraude integrado
API: REST com axios
Brasil
Implementação

Exemplo de Código

Veja como é simples implementar um gateway de pagamento usando o padrão Adapter

Woovi Adapter

Implementação do método createCharge para gerar cobranças PIX instantâneas.

Tratamento de erros robusto
Headers de autenticação
Suporte a cobranças existentes
Woovi Adapter - Criação de Cobrança PIX
src/adapters/WooviAdapter.ts
async createCharge(data: any): Promise<any> {
const { correlationID, value, comment } = data;
try {
const { data } = await axios.post(
https://api.openpix.com.br/api/v1/charge?return_existing=true,
{ correlationID, value, comment },
{
headers: {
Authorization: this.apiKey,
content-type: application/json
},
}
);
return data;
} catch (e: any) {
return e?.response?.data;
}
}
Bootcamp

CrazyStack Node.js

Bootcamp completo para desenvolvedores pleno/sênior que desejam dominar Node.js, TypeScript e padrões avançados de projeto.

Conteúdo Avançado

Design Patterns, TDD

Acesso Vitalício

Sem restrições

Projeto Real

Sistema completo

Aulas Divertidas

Personagens brasileiros

O que você vai aprender:

  • Clean Architecture e SOLID
  • Design Patterns avançados
  • TDD e testes de integração
  • Integração com gateways de pagamento
  • Autenticação e autorização
  • Fastify e MongoDB
  • Websockets e comunicação em tempo real
Preço
R$ 399,00
Acesso vitalício