Skip to main content
O plugin Bank Transfer divide a configuração em três níveis. Você pode alterar a maioria das decisões de negócio em tempo de execução, sem reiniciar o serviço. A identidade do tenant e o escopo da organização Midaz cumprem propósitos diferentes. Mantenha-os separados. A claim JWT tenantId do contexto da requisição autenticada resolve o tenant. O tenant controla o isolamento em nível de infraestrutura: seleciona o banco de dados da plataforma de multi-tenancy e concede acesso aos segredos com escopo de tenant. O header X-Organization-Id define o escopo da organização Midaz dentro desse tenant. Toda rota de transferência com escopo de organização exige esse header, em todos os modos de deployment. Uma requisição retorna 400 se omitir o header ou enviar um valor que não seja um UUID válido. Processos em segundo plano, como o poller de TED IN e os workers de reconciliação, não recebem headers de requisição. Em deployments single-tenant, esses processos usam a variável de ambiente ORGANIZATION_ID como contexto de organização.

Níveis de configuração


O plugin Bank Transfer tem três níveis de configuração:
  • Configuração de infraestrutura (o DevOps a gerencia) controla URLs, credenciais, configurações de autenticação e timeouts. As alterações precisam de reinicialização do serviço.
  • Configurações do tenant (o time de produto as gerencia via Admin API) controlam limites de transferência, políticas de tarifas e sobrescritas de horário de funcionamento. As alterações entram em vigor sem reiniciar o serviço.
  • Configurações de conta (o time de produto as gerencia via Admin API) controlam limites e restrições para contas individuais. As alterações entram em vigor sem reiniciar o serviço.

Decisões de negócio que você pode configurar


GPMs e times de produto se importam com estas configurações. Você as gerencia todas via Admin API em tempo de execução, sem deploy.

Limites de transferência

Defina tetos de volume diário e mensal em dois níveis:
  • Por organização — aplica-se às transferências de uma organização Midaz dentro do tenant resolvido
  • Por conta — aplica-se a uma conta específica do usuário final (sobrescreve os padrões da organização)
Os limites cobrem tanto o valor total quanto o número de transações. Defina-os para gerenciar riscos e atender aos requisitos do BACEN.

Política de tarifas

Controle se o plugin cobra tarifa em transferências TED OUT, TED IN e P2P. O Fees Engine define as regras de tarifa e as aplica por organização. Consulte Fees Engine para detalhes de configuração.

Fail-open vs. fail-closed

Se o serviço de cálculo de tarifas estiver indisponível quando uma transferência é executada, você tem duas opções:
  • Fail-open — permite que a transferência prossiga sem tarifa
  • Fail-closed — bloqueia a transferência até que o serviço de tarifas esteja disponível novamente
A política padrão do serviço de tarifas é fail-open (FEES_FAIL_CLOSED_DEFAULT=false). Altere-a por organização via Admin API quando precisar que indisponibilidades do serviço de tarifas bloqueiem as transferências. O TED IN tem seu próprio interruptor de segurança, BTF_FEES_TED_IN_FAIL_OPEN, que é true por padrão. Se o plugin-fees estiver indisponível, o plugin credita os fundos recebidos com tarifa=0.

Recebimento de TED IN

Transferências recebidas ficam desabilitadas por padrão. Habilite o TED IN por organização após configurar suas credenciais JD SPB e iniciar o worker de polling.

Sobrescritas de horários de funcionamento

O plugin aplica a janela de funcionamento do TED do BACEN por padrão. Você pode definir janelas personalizadas por política de tenant dentro dos limites do BACEN — por exemplo, transferências apenas no horário comercial.

Configuração de infraestrutura


O DevOps define as variáveis de ambiente de deploy (URLs, credenciais, TLS, persistência, integrações, chaves de segurança). Essas variáveis requerem reinicialização do serviço. Consulte a referência completa em Variáveis de ambiente.

Configuração em tempo de execução (Admin API)


Você gerencia as configurações de nível de tenant e de conta via Admin API, sem reinicialização. As alterações entram em vigor imediatamente (sujeito ao TTL do cache para configurações de tenant). As configurações disponíveis incluem:
  • Limites de transferência (diário e mensal, por organização e por conta)
  • Comportamento de tarifas (fail-open ou fail-closed quando o serviço de tarifas está indisponível)
  • Recebimento de TED IN (habilitado ou desabilitado por organização)
  • Sobrescritas de horários de funcionamento (janelas personalizadas dentro dos limites do BACEN)
Consulte a referência da Admin API para a lista completa de campos configuráveis e o formato das requisições.

Configurações gerenciadas pelo systemplane

O systemplane (Admin API) gerencia as configurações abaixo em tempo de execução, não no momento do deploy. Cada uma tem um nome de variável de ambiente correspondente que ainda existe na base de código. O carregador de configuração ignora essas variáveis de ambiente e registra um WARN de depreciação se você as definir. Atribuí-las via ambiente não tem efeito. Use o systemplane para alterá-las.
Definir qualquer um dos nomes acima via ambiente não tem efeito. Em vez disso, o carregador registra um WARN de depreciação. Esses nomes existem apenas como gêmeos de ambiente depreciados de configurações gerenciadas em runtime/systemplane.
Quando o CORS não está configurado, a origem permitida padrão é o wildcard *. Qualquer origem pode então chamar a API, e o plugin não a valida na inicialização. Em produção, defina origens explícitas pela chave de systemplane cors.allowed_origins em vez do wildcard.