Saltar al contenido

Guías

Errores

Los errores usan el código HTTP adecuado y un cuerpo con un código estable para que tu código decida qué hacer:

JSON
{"error":{"code":"validation_failed","message":"Revisá los campos marcados.","fields":{"amount":"Obligatorio…"},"request_id":"8384c031057ccd7c"}}

Cada respuesta trae X-Request-Id; mencionalo si contactás a soporte.

HTTPCódigoSignificado
400invalid_parameterParámetro de query inválido (ver fields).
400invalid_jsonEl cuerpo no es un objeto JSON.
400credentials_in_urlPusiste un valor de seguridad en la URL.
400invalid_idempotency_keyIdempotency-Key con formato inválido.
401missing_credentials / invalid_credentialsFaltan cabeceras o tienen formato inválido.
401timestamp_out_of_rangeReloj desfasado más de 5 minutos.
401invalid_signatureFirma incorrecta o clave inexistente/regenerada.
401replayed_requestNonce repetido.
403ip_not_allowedIP fuera de la lista permitida.
403merchant_disabledCuenta no habilitada.
404not_found · module_not_found · payment_not_foundNo existe o es de otro comercio.
405method_not_allowedMétodo HTTP incorrecto (ver cabecera Allow).
409module_unavailableMódulo, sitio o cuenta deshabilitados (en producción el sitio tiene que estar verificado).
409payment_not_refundable · refund_already_requestedEl pago no admite devolución o ya tiene una.
413body_too_largeCuerpo mayor a 64 KB.
415unsupported_media_typeContent-Type incorrecto.
422validation_failedRevisá error.fields.
422method_unavailable · no_methods_availableMétodo no disponible para ese módulo, monto o país.
422idempotency_key_reusedMisma Idempotency-Key con otro cuerpo.
429rate_limitedLímite de llamadas; esperá Retry-After segundos.
500internal_errorError nuestro: reintentá y, si sigue, escribinos con el request_id.
503service_unavailableMantenimiento o API desactivada; reintentá después de Retry-After.

Reintentá solo los 429, 500 y 503 (con espera). Para crear pagos o devoluciones, reintentá con la misma Idempotency-Key.