GGateway Docs

Errors

Todo erro de /v1/* tem o mesmo formato:

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Payment not found.",
    "correlationId": "d815caf8-8fe6-46f2-a1b7-2c135c1e2717"
  }
}

correlationId é sempre o mesmo valor do header de resposta X-Request-Idsempre inclua esse valor ao reportar um problema pro suporte.

Códigos por status HTTP

Statuserror.codeQuando
400BAD_REQUESTRequisição malformada.
400VALIDATION_ERRORCorpo não passou na validação (campo obrigatório ausente/inválido — message lista o(s) motivo(s)).
401UNAUTHORIZEDAPI key ausente, inválida ou revogada.
403FORBIDDENChave válida, mas sem permissão pra este recurso.
404NOT_FOUNDRecurso não existe (ou não pertence ao seu escopo — nunca vaza que existe pra outro tenant).
409CONFLICTEstado atual do recurso não permite a operação (ex.: cancelar um pagamento já capturado).
422UNPROCESSABLE_ENTITYMesma Idempotency-Key usada com um corpo diferente do original.
429RATE_LIMITEDLimite de requisições excedido.
502BAD_GATEWAYProvider (adquirente/PSP) devolveu algo inesperado.
503SERVICE_UNAVAILABLEProvider fora do ar.
504GATEWAY_TIMEOUTProvider não respondeu a tempo.
500INTERNAL_ERRORErro nosso — nunca vaza detalhe interno; reporte com o correlationId.

Recusa de cartão não é um erro

Uma recusa (declined) é um resultado de negócio, devolvido como 200 OK com status: "failed" no corpo — nunca um 4xx/5xx. Ver Cards.

Erros de rede/provider indeterminados

Um 504 GATEWAY_TIMEOUT (ou 503) numa operação de criação/captura/cancelamento significa que o resultado real é desconhecido — o provider pode ou não ter processado. Nunca tente de novo cegamente sem uma Idempotency-Key: com ela, um retry seu reusa a mesma tentativa em vez de arriscar duplicar (ver Idempotency).