Erros
Atualizado:
A API x402 utiliza códigos de status HTTP reais. Cada erro possui o mesmo corpo JSON, e retry_action indica ao seu agente o que fazer a seguir.
Corpo do erro
Nome | Tipo | Descrição |
|---|---|---|
erro | String | Código de erro, consulte a tabela abaixo |
mensagem | String | Mensagem curta e de fácil compreensão |
repetível | Booleano | Se a repetição pode ajudar |
retry_action | String | O que fazer: |
retry_after_seconds | Inteiro | Quando tentar novamente; é igual a |
payment_state | String |
|
authorization_expires_at | String | Até quando sua autorização ainda pode ser executada; não assine uma nova antes de |
order_id, operation_id, poll_url | String | A ordem e a operação à qual o pagamento se refere, quando houver |
bound_wallet | String |
|
facilitator_reason | String | Motivo da falha na verificação de pagamento, a partir de uma lista fixa, ou |
detalhe | String | Detalhes, por exemplo, o caminho do campo inválido: |
Respostas com uma nova citação (quote_expired, payment_expired, quote_bound_to_other_wallet) também contêm os campos de citação e o PAYMENT-REQUIRED cabeçalho.
{
"error": "payment_not_settleable",
"message": "The presented authorization can still be settled",
"retryable": true,
"retry_action": "wait_and_retry",
"retry_after_seconds": 512,
"payment_state": "unused",
"authorization_expires_at": "2026-11-02T10:16:00Z"
}Ações de nova tentativa
retry_action | O que fazer |
|---|---|
| Assine os novos requisitos desta resposta ( |
| Envie a mesma solicitação com o mesmo |
| Em |
| Recomece (nova citação, nova assinatura) não antes de |
| Repetir o mesmo pedido não vai ajudar |
| Entre em contato com o suporte. Não assine uma nova autorização |
Códigos de erro
erro | HTTP | retry_action | Quando |
|---|---|---|---|
| 402 |
| Um endpoint pago foi chamado sem |
| 402 |
| O cabeçalho de pagamento está com formato incorreto ou não está na versão 2 do x402 ( |
| 402 |
| A carteira não tem USDC suficiente. Recarregue a carteira e repita a mesma solicitação enquanto a autorização estiver válida |
| 402 |
| O orçamento está vencido ou já foi pago, e sua autorização também expirou. Um novo orçamento está na resposta |
| 402 |
| A autorização expirou sem ter sido utilizada ou foi cancelada. Nada foi retirado. Há uma nova cotação na resposta |
| 400 |
| Campo inválido, campo desconhecido, JSON inválido, corpo maior que 64 KiB; país, período, quantidade, nível, pacote ou opções indisponíveis; um segundo pacote residencial; regras do endpoint específico |
| 400 |
|
|
| 403 |
|
|
| 403 |
| A carteira está bloqueada ou consta de uma lista de sanções |
| 401 |
| Não |
| 404 |
| A ordem não existe ou o token não é válido para ela |
| 404 |
| A recarga ou o desafio não existe, ou o token não é válido para isso |
| 409 |
| A mesma autorização (pagador e nonce) veio com conteúdo diferente |
| 409 |
| A autorização já não é válida, mas sua autorização ainda pode ser executada. Aguarde até |
| 409 |
| O pagamento está sendo analisado por nossa equipe |
| 409 |
| Outra carteira já utilizou essa citação. Uma nova citação está na resposta |
| 409 |
| Outro pagamento referente a este orçamento está sendo processado |
| 409 |
| O conteúdo da solicitação paga não corresponde ao orçamento, ou uma repetição de uma autorização paga traz outra solicitação |
| 409 |
| Sua carteira já usou isso |
| 429 |
| Um limite foi excedido (Limites) |
| 503 |
| O pagamento ainda está sendo processado. Repita a mesma solicitação em |
| 503 |
| O serviço não está aceitando novos pagamentos temporariamente |
| 503 |
| Uma falha temporária: o preço, o catálogo, a verificação de pagamento ou outro serviço está indisponível |
| 500 |
| Erro inesperado |
Um método HTTP incorreto retorna 405 com o código invalid_request.
Cada resposta do serviço contém o X-Request-Id cabeçalho. Envie-o ao suporte ao relatar um problema.