10000.
Isso significa que você nunca precisa se perguntar qual formato um campo espera. amount,
platform_fee, net_amount, refunded_amount, fee_returned, seller_debit, balance,
available, reserved, debt e withdrawable seguem todos a mesma convenção.
Cobrança de 10000 centavos (R$ 100,00)
Por que não aceitamos decimal
Enviar10.50 devolve 422, e a explicação vale o minuto de leitura — ela é o motivo de a regra
existir.
Um decimal chega ao servidor como ponto flutuante, e ponto flutuante binário não representa a
maioria dos valores decimais exatamente. A multiplicação por 100 herda esse erro. Os números abaixo
são reais, e o resultado é o mesmo em PHP, JavaScript e Python, porque os três usam IEEE 754 de
64 bits:
Um centavo a menos por venda não aparece no dia. Ele aparece semanas depois, na conciliação do mês,
como uma diferença que não fecha e cuja origem já se perdeu. Recusar o decimal na entrada é o que
poupa você dessa investigação — preferimos devolver um erro claro agora a entregar um número
silenciosamente errado.
Como converter sem errar
A regra que resolve o problema na origem: não deixe o valor virarfloat. Se ele já é um
decimal na sua mão, arredonde explicitamente em vez de truncar.
O que dá errado
validation_failed
Enviar
items não dispensa amount. A soma de quantity * amount de todos os itens precisa bater
exatamente com o amount da cobrança — sem essa conferência, o comprador veria um total diferente
da soma do que está levando.Veja também
Erros
O catálogo completo de códigos e o que fazer em cada um.
Estornos
A aritmética de
amount, fee_returned e seller_debit.Ficou algo de fora? Escreva para suporte@usevext.com. Se o assunto for uma chamada específica, informe o horário dela; se for uma entrega de webhook, informe o
X-Vext-Delivery — é por ele que localizamos a tentativa, a resposta do seu servidor e o horário.