Tratamento de erros

RFC 7807 Problem Details — formato único.

Erros

Seguimos RFC 7807 Problem Details. Toda resposta de erro tem o mesmo shape:

{
  "type": "https://docs.stone.com.br/errors/card_declined",
  "title": "Cartão recusado pelo emissor",
  "status": 402,
  "code": "card_declined",
  "detail": "O emissor recusou a transação (motivo: 51 — saldo insuficiente).",
  "request_id": "req_8K2x9Lp...",
  "param": "payment.card.number"
}
HTTPSignificado
400Requisição malformada
401Token inválido/expirado
402Pagamento recusado (negócio)
403Sem permissão (escopo)
404Recurso não existe
409Conflito (idempotência, estado inválido)
422Validação semântica falhou
429Rate limit
5xxFalha interna — retry com backoff