Skip to main content
A API v2 usa os códigos HTTP para indicar o resultado e devolve os erros em um envelope error:
Trate os erros pelo code. O texto de message pode mudar sem aviso.

Tipos de erro


Erro de validação

Quando algum campo é inválido, a resposta é 422 com code: "validation_error". O param aponta o primeiro campo inválido e o message descreve o problema:
Resposta (HTTP 422)

Pagamento recusado (402)

Um 402 não é erro de requisição. Ele indica que o pagamento foi processado e recusado. A resposta traz o recurso completo (pedido, assinatura ou fatura) com status: "failed" e o motivo em failure_reason:
Resposta (HTTP 402)
Nunca exiba o message para o pagador. Em uma recusa por fraude, ele descreve o motivo técnico. Use o customer_message.

Motivos de recusa (failure_reason.code)

As rotas que podem responder 402 são: POST /v2/orders, POST /v2/orders/{id}/capture, POST /v2/orders/{id}/confirm, POST /v2/subscriptions, POST /v2/invoices/{id}/pay e POST /v2/invoices/{id}/confirm.

Catálogo de códigos

400 — Requisição inválida

401 — Não autenticado

403 — Bloqueado

Estes erros trazem customer_message para exibir ao pagador.

404 — Não encontrado

409 — Conflito

422 — Não processável

429 — Muitas requisições

Estes erros trazem o header Retry-After com os segundos até a próxima tentativa.

500 e 502 — Falha no processamento


Respostas fora do envelope

Algumas respostas de infraestrutura não usam o envelope error:
Trate essas respostas pelo status HTTP. Em um 429, respeite o header Retry-After. Veja Idempotência e limites.