Pular para o conteúdo principal
O DevOps define estas variáveis no momento do deploy. Uma mudança exige reinício do serviço. As configurações de tempo de execução e de negócio ficam em Configuração. Nas tabelas abaixo, a coluna Padrão / Obrigatório mostra o valor padrão. Um qualificador em negrito (por exemplo Obrigatório, Obrigatório em produção, Obrigatório se habilitado) marca uma variável que você deve definir. — significa sem padrão.

Configuração de infraestrutura


Esta seção é para times de DevOps. O DevOps define estas variáveis no momento do deploy. Uma mudança entra em vigor apenas depois de um reinício do serviço.

Aplicação

TLS

Headers de proxy

Defina estes quando o serviço roda atrás de um load balancer ou proxy reverso. Eles permitem ao serviço ler o IP real do cliente para rate limiting e logs de auditoria.

Autenticação

Este plugin delega a autorização ao Access Manager. Configure a conexão com as variáveis abaixo.
Quando PLUGIN_AUTH_ENABLED=true, o PLUGIN_AUTH_ADDRESS deve usar HTTPS em ambientes de produção. O serviço rejeita um endereço HTTP na inicialização.

Declaração de permissões

Na inicialização, o serviço pode publicar a sua declaração de permissões no Access Manager. Com IDP_DECLARATION_ENABLED=true, o serviço não sobe quando uma das outras três variáveis está vazia, ou quando PLUGIN_AUTH_ENABLED não é true. Quando o Access Manager recusa a publicação ou não responde, o serviço sobe mesmo assim.

Escopo da organização

PostgreSQL

Réplica do PostgreSQL

Configure uma réplica de leitura para aliviar as consultas. Todos os campos usam os valores do primário quando não definidos.

MongoDB

O serviço usa o MongoDB para persistir os eventos de auditoria das transferências. Ele não sobe sem uma conexão MongoDB válida.

Redis

O Redis é uma dependência obrigatória. Ele guarda em cache as chaves de idempotência e detecta duplicatas. Se o Redis estiver indisponível na inicialização ou ficar inacessível em tempo de execução, o serviço se reporta como DOWN à sonda de readiness. Ele então para de aceitar requisições.

Conexão JD SPB

O plugin valida as variáveis da JD apenas quando JD_BASE_URL está definida.

Polling da JD

O padrão de JD_POLLING_ENABLED é false, para deploys mais seguros. Defina ORGANIZATION_ID antes de habilitá-lo. Os workers em segundo plano injetam esse valor no contexto das chamadas downstream ao CRM e ao Midaz.

Serviços externos (Midaz)

O Bank Transfer pede ao Midaz que crie um índice de metadata de transação para as suas leituras de correlação. Essa chamada precisa da permissão settings post do Midaz, nos dois modos de tarifa.
Com o auto padrão, o Bank Transfer passa para native sozinho assim que lê o Midaz 4.1.0 ou posterior. Se seus pacotes de tarifas ainda estão no plugin-fees, o Midaz não encontra nenhum pacote, e as transferências novas ficam sem tarifa. Defina MIDAZ_FEE_MODE=legacy antes de atualizar o Midaz e depois siga Migrar as tarifas do Bank Transfer para o Midaz.

Serviços externos (CRM)

Serviços externos (Fees)

Estas variáveis configuram o plugin-fees e valem apenas quando o modo de tarifa é legacy. O BTF_FEE_ENABLED liga o plugin-fees. Quando false (padrão), o plugin não monta nenhum adaptador do plugin-fees, e cada transferência legacy segue com tarifa 0 e sem chamada HTTP. As outras variáveis FEES_* entram em vigor apenas quando BTF_FEE_ENABLED=true. No modo native, o BTF_FEE_ENABLED não liga nem desliga tarifas: quem faz isso é o pacote de tarifas do Midaz no ledger.

JD Courier

Estas variáveis conectam o plugin ao JD Courier, que faz o relay das transferências entre cores para o outro core da sua instituição. No modo multi-tenant, o plugin não usa COURIER_BASE_URL, COURIER_CLIENT_ID nem COURIER_CLIENT_SECRET.

RabbitMQ

Quando o streaming está habilitado, o plugin pode fazer fan-out dos eventos de ciclo de vida das transferências para o RabbitMQ, para os consumidores downstream.

Outbox de streaming

O subsistema de streaming publica os eventos de transferência no tópico único da aplicação lerian.streaming.plugin-br-bank-transfer em um broker Redpanda/Kafka, por meio de um outbox transacional. Você deve habilitá-lo para a entrega de webhooks de saída (WEBHOOK_ENABLED=true exige STREAMING_ENABLED=true). Enquanto o streaming está desligado, o plugin descarta os eventos: ligá-lo depois publica apenas os eventos novos.

Entrega de webhooks

A entrega de webhooks de saída exige o RabbitMQ e o outbox de streaming. O worker de webhook consome os eventos de uma fila do RabbitMQ e os entrega aos endpoints dos assinantes.

Telemetria (OpenTelemetry)

Licença

Criptografia

Criptografia no nível de campo para os dados sensíveis em repouso. Cada chave deve ser uma chave AES-256 de 32 bytes codificada em hexadecimal (64 caracteres hexadecimais). As duas chaves são obrigatórias em produção. Fora de produção, uma chave vazia desabilita a criptografia daquele campo.