numeric do PostgreSQL. Essa mudança substitui a estrutura anterior de amount e scale e marca um passo importante para melhorar a precisão, escalabilidade e experiência do desenvolvedor em todas as operações financeiras.
O que há de novo?
Anteriormente, o Midaz armazenava valores monetários usando:
amount: um inteiro brutoscale: o número de casas decimais
amount = 100, scale = 2
Este modelo foi substituído por um único campo mais preciso e simplificado:
value: uma string representando um número decimal (ex.:"12.50"é armazenado exatamente como"12.50")
O
value deve ser enviado como uma string nas requisições da API — não como float ou inteiro — para garantir precisão arbitrária e evitar erros de arredondamento que frequentemente ocorrem com representações de ponto flutuante em operações financeiras.Por que isso importa
A migração para
numeric elimina diversas limitações do modelo anterior:
- Sem necessidade de normalização de escala: Não é preciso alinhar casas decimais manualmente antes de realizar operações.
- Lógica pré-transação mais simples: Verificações de saldo e reservas se tornam diretas — sem ajustes de escala necessários.
- Experiência de API mais limpa: Envie e receba valores em sua forma decimal exata, sem se preocupar com conversões de inteiros.
- Precisão dinâmica: O banco de dados armazena apenas os dígitos decimais necessários — sem padding ou truncamento.
value = "12.50"é armazenado e retornado exatamente como"12.50", sem transformações ou perda de precisão.
O que devo fazer?
O formato
amount + scale agora está descontinuado.value. Se você está atualmente usando amount e scale, é importante iniciar seu processo de migração imediatamente.
O Midaz continuará suportando o formato antigo temporariamente, mas o suporte será descontinuado em uma versão futura.
Recomendamos:
- Atualizar suas requisições de API para enviar o campo
valuecomo decimal. - Revisar qualquer lógica de normalização interna e remover referências a
amountescale. - Testar fluxos principais — como transferências, pré-transações e cálculos de taxas — usando o novo formato.
Precisa de ajuda na migração?
Nossa equipe está aqui para ajudar. Se você precisa de ajuda para atualizar sua integração ou validar a consistência dos dados, estamos prontos para apoiar você durante a transição.O formato anterior de
amount e scale continuará sendo suportado durante uma janela de descontinuação. Um cronograma formal para a descontinuação será anunciado. Enquanto isso, clientes são fortemente encorajados a adotar a nova estrutura o mais rápido possível.
