Pular para o conteúdo principal
O Lender é um primitivo da Lerian: ele roda sobre a plataforma, não ao lado dela. Quatro costuras com a plataforma importam quando você o opera — a rota de posting no ledger, o fluxo de eventos, a multi-tenancy e a observabilidade.

A rota de posting no Midaz


O Lender é a fonte de verdade da jornada de crédito; o Midaz é a fonte de verdade dos saldos. Cada evento financeiro que um empréstimo produz é contabilizado no como uma transação de balanceada — e a rota é construída para nunca perder uma contabilização e nunca contabilizar no lugar errado.
1

Um evento de domínio produz uma intenção de posting

Quando um empréstimo é desembolsado, um repagamento é registrado, juros são apropriados ou uma transação é estornada, o Lender persiste uma intenção de posting durável na mesma transação de banco de dados que muda o estado do domínio. A intenção é gravada num outbox transacional, de modo que sobrevive a uma queda entre “o estado mudou” e “foi contabilizado no ledger”.
2

O relay contabiliza uma transação balanceada no Midaz

Um dispatcher do outbox impulsiona o relay do ledger, que contabiliza a transação de partidas dobradas balanceada no Midaz através do SDK oficial. Os lançamentos vêm do perfil contábil do produto.
3

A idempotência é durável

Cada posting carrega uma chave de idempotência determinística calculada pelo Lender. Um posting reexecutado colapsa para a mesma transação do Midaz; a própria janela de idempotência do Midaz é um backstop, não a guarda principal.
4

O roteamento falha fechado

A transação é contabilizada na organização de ledger e no ledger que o perfil contábil resolve. Se o roteamento não consegue resolver um destino não vazio, o posting falha fechado (fail-closed) — o Lender se recusa a contabilizar em vez de gravar num destino vazio ou errado.
O Lender chega ao Midaz através do Access Manager: ele se autentica com credenciais máquina-a-máquina (M2M) e um JWT de vida curta, por tenant.

Eventos do ciclo de vida


O Lender publica um catálogo de 14 eventos de negócio sobre o backbone de streaming da plataforma (RedPanda, através da biblioteca de streaming da Lerian). Cada evento é respaldado pelo outbox, tem escopo por tenant e carrega um source de CloudEvents definido pelo seu deployment, que também serve de namespace para os tópicos de streaming, para que produtos downstream e os seus próprios serviços possam reagir à jornada de crédito à medida que ela avança. Assine pelo source que o seu deployment configura, em vez de um literal fixo.
DomínioEventos
Produtosloan_product.created, loan_product_version.created, loan_product.activated, accounting_profile.configured, loan_charge.applied
Originaçãoloan_application.submitted, loan_application.approved, loan_application.rejected, loan_application.withdrawn, loan_application.disbursed
Servicingrepayment.recorded, repayment_reversal.recorded, loan_schedule.prepayment_applied, loan_schedule.rescheduled
Como os eventos viajam pelo mesmo outbox que o relay do ledger, a entrega de eventos e a contabilização no ledger compartilham uma única garantia de durabilidade: estado, postings e eventos são confirmados juntos.
A jornada brasileira de consignado privado contribui com seus próprios eventos por cima desse catálogo — sinais de margem, averbação e reconciliação. Veja Consignado privado.

Multi-tenancy


Como todo produto Lerian, o Lender é construído para isolamento total de tenants desde a base.
  • Persistência schema-por-tenant quando a multi-tenancy está habilitada, de modo que os dados de um tenant nunca compartilham tabela.
  • Eventos e postings no ledger com escopo por tenant — cada evento emitido e cada transação do Midaz carrega o tenant ao qual pertence.
  • No modo multi-tenant, o relay do ledger resolve um cliente do Midaz por tenant, e o perfil contábil fornece o destino de ledger por tenant (por isso o roteamento falha fechado quando um destino está faltando).
Veja Multi-tenancy para o modelo em nível de plataforma.

Observabilidade


O Lender emite logs estruturados, traces OpenTelemetry e métricas no mesmo stack de observabilidade do restante da plataforma, incluindo métricas de banco de dados, de asserções e de recuperação de panics. Veja Observabilidade.

Próximos passos


Contabilidade e rotinas de apropriação

Aprofunde nas regras de posting, nas rotinas de apropriação e nas referências de lançamento.

Configuração e implantação

Veja as dependências e a configuração que a rota de posting e o fluxo de eventos exigem.