Skip to main content

Erros

Quando uma chamada falha, a troqpay responde com um status HTTP coerente com o problema e um corpo de erro padronizado. Isso facilita investigar o problema e decidir o próximo passo.

Formato do erro

{
  "error": {
    "type": "validation_error",
    "code": "invalid_amount",
    "message": "amount must be greater than zero",
    "requestId": "req_01HR7PR7W2KCFJ4Q58SFT11X31"
  }
}

Status HTTP mais comuns

HTTPQuando normalmente aparece
400Payload inválido ou mal formatado
401Chave ausente ou inválida
403Chave sem permissão
404Recurso não encontrado
409Conflito de idempotência
422Regra de negócio não atendida
429Limite de requisições excedido
500Erro inesperado

Códigos frequentes

CódigoO que normalmente significa
invalid_amountValor ausente, zero ou negativo
invalid_currencyMoeda não suportada
invalid_customerDados do comprador inválidos
checkout_not_foundCheckout inexistente
checkout_expiredCheckout expirado
unauthorizedToken inválido
rate_limitedMuitas requisições em pouco tempo

Como tratar sem dor

Sempre registre o requestId

Ele ajuda você a cruzar logs e investigar erros com mais rapidez.

Retry só quando faz sentido

429 e 5xx costumam pedir retry controlado. 4xx normalmente pedem correção da entrada.

Não esconda a mensagem

message e code ajudam seu backend a decidir a ação correta.

Idempotência reduz ruído

Em operações de criação, uma boa Idempotency-Key evita muitos problemas de duplicidade.