Gateways, métodos e default configurável.
Kobana Gateway Bancário (boleto + PIX), Pagar.me (cartão), Mock (testes). Default por método controlado por flag. Credenciais criptografadas. Múltiplos gateways do mesmo provider.
Sistema

3
providers (Kobana, Pagar.me, Mock)
2
environments (SANDBOX, PRODUCTION)
4
flags de default por método
AES-256-GCM
credentials encrypt
Providers em GatewayProvider
KOBANA
Gateway nativo da Kobana. Boleto registrado em 40+ bancos, PIX cobrança e imediato.
- Conciliação por webhook em tempo real
- Link kdoc.to compartilhável
- Juros + multa + desconto configuráveis
PAGARME
Cartão de crédito tokenizado. 3DS opcional. Bandeiras visa, mastercard, elo, amex.
- PCI compliant (PAN nunca passa pelo nosso servidor)
- Antifraude integrado
- Recurring tokens para retries
MOCK
Gateway de testes. Simula aprovação/recusa baseado em padrões. Útil em sandbox.
- Simulação de aprovação/recusa
- Códigos especiais
- Sandbox testing
Recursos do GatewayService
Múltiplos Gateways do Mesmo Provider
Útil para A/B test de taxas, segmentação por valor, sandbox em paralelo com produção.
- A/B test de taxas
- Segmentação por valor
- Sandbox em paralelo
Ambientes Isolados
GatewayEnvironment SANDBOX | PRODUCTION. Cada com credentials separadas. Sandbox usado em testes sem cobrança real.
- SANDBOX | PRODUCTION
- Credentials separadas
- Sem cobrança real em sandbox
Por Empresa
companyId opcional vincula gateway a uma Company. Útil para SaaS com múltiplos CNPJs.
- companyId opcional
- Multi-CNPJ
- Por empresa
Credentials Criptografadas
Campo credentials (JSON) criptografado em repouso com AES-256-GCM. Acesso apenas via service.
- AES-256-GCM em repouso
- Acesso só via service
- JSON criptografado
Ativação/Desativação
Flag isActive. Desativados não recebem novas cobranças mas mantêm histórico.
- Flag isActive
- Histórico preservado
- Sem nova cobrança
Webhooks Inbound
Cada provider tem callback handler dedicado. Worker callback processa com idempotência por idempotencyKey.
- Handler dedicado por provider
- Worker callback
- Idempotência por idempotencyKey
