KIRVEXDOCS

Erros

Códigos de erro retornados pela API Kirvex.

Toda resposta de erro segue o envelope canônico:

{
  "error": {
    "type": "...",
    "code": "...",
    "message": "...",
    "param": "field-name",
    "request_id": "evt_...",
    "retryable": false,
    "vendor": "pagarme"
  }
}

request_id é sempre retornado também via header x-request-id para correlação com nossos logs.

Códigos por tipo

invalid_request

codehttpretryabledescrição
validation_error400falseBody / query não bate com o schema
idempotency_conflict409falseIdempotency-Key reutilizada com body diferente
validation_error404falseRecurso não encontrado (charge, refund, customer)
validation_error409falseEstado inválido (refund de charge não succeeded etc)
test_mode_unavailable422falseChave sk_test_ pediu algo sem sandbox: método sem sandbox do adquirente configurado, ou operação que só existe com dinheiro real (saque, antecipação, cripto, recebedor, assinatura, link de pagamento). Nada foi cobrado — o modo de teste nunca cai para produção

authentication

codehttpretryabledescrição
unauthorized401falseAPI key faltando, mal-formada, não reconhecida ou revogada

rate_limit

codehttpretryabledescrição
rate_limited429trueLimite por merchant excedido — reduza o ritmo

vendor

codehttpretryabledescrição
vendor_unavailable503trueAdquirente fora do ar / sem capacidade para o método
card_declined402falseAdquirente recusou cobrança no cartão

compliance

codehttpretryabledescrição
kyc_required403falseMerchant precisa completar onboarding

api

codehttpretryabledescrição
internal_error500falseErro interno — abra ticket com request_id

Boas práticas

  • Sempre logar request_id quando uma requisição falhar; é a chave para suporte resolver o caso.
  • Respeitar retryable — se for false, retentar não vai ajudar; corrija o input.
  • Backoff exponencial em 429 e em 503 vendor_unavailable. Comece em 1 s, dobre a cada tentativa, até 5 min.
  • vendor_ref sai populado no objeto Charge mesmo em casos de falha; útil para reconciliar com extrato do adquirente.

On this page