Pular para o conteúdo principal
O Lender é um serviço só. Dentro dele, oito domínios cuidam da jornada de crédito, um perfil de jurisdição fornece cada regra específica de mercado, e o dinheiro chega ao ledger por uma fila durável em vez de uma chamada inline.

Oito domínios, um serviço


Cada domínio possui as próprias tabelas e as próprias operações. O identificador da conta de empréstimo é a chave que junta os domínios. Você fornece o identificador no desembolso, e cada domínio endereça o empréstimo por ele daí em diante.

O encaixe da jurisdição


As regras de crédito mudam conforme o mercado. Um perfil de jurisdição fornece capacidades específicas de mercado, entre elas:
  • O motor de tributos que calcula retenções no desembolso e tributos sobre receita na apropriação.
  • O calendário de feriados e a convenção de contagem de dias.
  • O método de custo efetivo por trás da divulgação de custo.
  • O registro de tetos que guarda os limites regulados de taxa e de tarifa.
  • As divulgações que o mercado exige.
  • O pipeline de desembolso que roda dentro da transação de desembolso.
  • O validador de produto e a extensão de prévia do cronograma.
  • As políticas de ator que decidem quem pode aprovar e quem pode desembolsar.
Os perfis são compilados no serviço em vez de configurados em runtime. Vêm dois: BR para o Brasil e XX, a base genérica, que não registra crédito. A tabela de jurisdições no banco de dados é uma projeção do que o serviço carrega, então nenhuma chamada de API cria uma jurisdição. Veja Jurisdições.

Como uma requisição é resolvida


Uma requisição passa por até três controles antes de um handler rodar.
1

Autenticação

O Lender espera um JWT bearer. As duas leituras de descoberta de jurisdição são as únicas operações públicas.
2

Resolução do tenant

O tenant nunca é um header, um campo de corpo ou um parâmetro de caminho, então um chamador não consegue escolher um tenant.
3

Resolução da jurisdição

O Lender lê o vínculo de jurisdição do tenant e põe o perfil correspondente no contexto da requisição. A consulta fica em cache por cinco minutos, então uma troca de vínculo passa a valer dentro dessa janela.
Vincule cada tenant a uma jurisdição antes de ele mandar tráfego.

O dinheiro sai pelo outbox


O Lender nunca lança no ledger durante a sua requisição. O caminho tem quatro propriedades:
  1. Um evento de dinheiro, como um desembolso, um pagamento ou uma apropriação de juros, grava uma intenção de lançamento na mesma transação de banco de dados da linha de negócio. Uma queda entre as duas coisas não é possível.
  2. Um dispatcher lê a intenção no outbox e a repassa ao Midaz.
  3. Cada intenção carrega uma chave de idempotência determinística, então um repasse repetido colapsa em uma transação só no ledger.
  4. O roteamento falha fechado. Um lançamento é contabilizado na organização e no ledger que o perfil contábil resolve, e um deploy single-tenant pode recorrer ao padrão configurado dele. Quando nenhum destino é resolvido, o Lender não lança nada.
Configure o endpoint do ledger e as credenciais dele antes de esperar contabilizações. Enquanto eles não resolvem, as intenções esperam no outbox e nada chega ao ledger. O Lender na plataforma cobre o caminho completo, incluindo o que o perfil contábil acrescenta a ele.

O que o serviço expõe


Leia a referência de health e readiness para o contrato de probe compartilhado entre os produtos Lerian.

Armazenamentos


Configuração e deploy lista os ajustes por trás de cada um.

Trabalho disparado por tempo


A rodada de apropriação também roda como job agendado. Cada job tem o próprio padrão de ligado ou desligado e o próprio agendamento, e você pode sobrescrever os dois. Veja Contabilidade e rodadas de apropriação.

Próximos passos


Como funciona a originação

Uma proposta de enviada até desembolsada, e a transação que faz o trabalho.

Conceitos centrais

O vocabulário que o produto inteiro compartilha.

O Lender na plataforma

O caminho de lançamento, o catálogo de eventos e o isolamento entre tenants.

Configuração e deploy

Dependências, o container e os ajustes que moldam um deploy.