Skip to main content
Formato do erro A API do Payments responde a uma requisição com falha com um dos três corpos possíveis. Qual corpo você recebe depende de onde o serviço captura a falha, não do endpoint que você chamou. A camada de autenticação e autorização é executada antes de tudo o mais e responde em texto simples, com um motivo isolado e sem código de erro. Uma falha capturada em seguida pelo pipeline de requisição, antes que a camada da API a veja, responde com um corpo JSON simples no application/json. A verificação de idempotência é a regra do pipeline que você encontra com mais frequência. Tudo o que a camada da API captura responde com um documento de problema RFC 9457 no media type application/problem+json.
Definições de campo
  • type – Um URI que identifica o erro no catálogo de erros da Lerian. Construído como https://errors.lerian.studio/v1/<code>.
  • title – O texto do status HTTP, por exemplo Unprocessable Entity.
  • status – O código do status HTTP.
  • detail – Texto sobre esta ocorrência da condição. O texto vem do trecho de código que a gerou.
  • code – Um identificador estável para a condição, no formato PBP-NNNN. Baseie o tratamento nesse valor.
  • errors – Lista opcional de detalhes de validação por campo, cada um com uma message, uma location e o value encontrado ali.
Nos status 500, 502 e 503, o membro detail traz um texto fixo em vez de uma descrição da sua requisição, então leia code para identificar a condição. O corpo simples traz code, title, message e um objeto details opcional. Ele nunca traz type, status ou detail. O membro code guarda o mesmo valor PBP-NNNN nos dois corpos JSON. Baseie o tratamento nesse valor, e trate 401 e 403 pelo status, porque uma recusa da camada de autenticação não traz código. Cinco códigos chegam até você como corpo simples quando a verificação de idempotência os gera: PBP-0002, PBP-0007, PBP-0008, PBP-0012 e PBP-0013. Leia o media type em vez do código para diferenciar as duas formas de corpo, porque o pipeline também responde assim para uma falha que nenhum handler capturou, e essa falha pode trazer qualquer código.

Erros de plataforma


Esses códigos respondem em qualquer endpoint. A camada de transporte e o pipeline de requisição compartilhado os geram, então trate-os em todos os trilhos.

Erros do provedor


Três códigos trazem a resposta do provedor de pagamento sobre uma instrução de pagamento. O PBP-0014 significa que o provedor leu a instrução e a recusou, então corrija a causa antes de enviar uma nova requisição. Para PBP-0015 e PBP-0016, o provedor não deu uma resposta utilizável. O PBP-0014 é gerado antes de esta API escrever qualquer coisa, então repetir a requisição com a mesma chave de idempotência é seguro. PBP-0015 e PBP-0016 deixam o resultado desconhecido, então repita essas com uma nova chave de idempotência.

Erros de boleto


Esses códigos respondem no trilho de boleto: emissão, série de parcelas, cancelamento e obtenção do PDF.

Erros de pagamento


Esses códigos respondem no trilho de pagamento de contas: bankslip, utilities e DARF.

Erros do ledger


Três códigos trazem a resposta do ledger a uma escrita, e o que importa é se o ledger chegou a responder. PBP-0300 e PBP-0302 são recusas: a escrita falhou, então corrija a causa e envie uma nova requisição. PBP-0301 indica que o ledger não deu resposta: o pagamento existe, então não envie nada e, em vez disso, consulte o status dele.

Erros de configuração de webhook


Esses códigos respondem a uma requisição que configura para onde esta API envia as notificações de eventos.

Erros de webhook de entrada do provedor


Esses quatro códigos respondem ao provedor de pagamento que envia eventos de liquidação ao endpoint de webhook. Eles informam a esse chamador qual correção a entrega precisa.