Referencia de errores
Cada respuesta de error de la API trae un code y un doc_url que apunta aquí. Estos son los 35 códigos de la API, y al final los que pone el SDK.
Autenticación y permisos
invalid_api_key401Clave de API inválida
insufficient_permissions403Permisos insuficientes
forbidden403Acceso denegado
session_required403Requiere sesión
invalid_session401Sesión inválida o caducada
invalid_token401Enlace inválido o caducado
Petición inválida
invalid_request400Petición inválida
amount_below_minimum400Importe por debajo del mínimo
invalid_webhook_url400URL de webhook inválida
invalid_payment_payload400Pago x402 ilegible
authorization_expired400La autorización caducó
authorization_not_yet_valid400La autorización aún no es válida
authorization_not_bound_to_intent400La autorización no está atada al cobro
invalid_signer400La firma no es del pagador
unsupported_chain400Red no soportada
unsupported_signature400Formato de firma que la cadena no liquida
No encontrado
intent_not_found404Cobro no encontrado
not_found404Recurso no encontrado
node_not_registered404Nodeit no registrado
authorization_not_claimed404Autorización no reclamada por este nodeit
Conflicto con el estado actual
intent_already_settled409El cobro ya no se puede cancelar
payment_in_progress409Hay un pago liquidándose
intent_not_payable400El cobro ya no admite pagos
nonce_already_used409Ya hay una autorización viva de este pagador para este cobro
idempotency_key_reused409La Idempotency-Key ya se usó para otro cobro
webhook_endpoint_deleted409El endpoint del webhook se borró
email_taken409Correo ya registrado
already_reviewed409Solicitud ya revisada
Pagos x402
chain_verification_failed402La transacción no prueba el pago
insufficient_payment402El pago x402 no cubre el precio
x402_replay409La transacción ya se usó
Disponibilidad y servidor
node_unavailable502Nodeit no disponible
rate_limited429Demasiadas peticiones
signature_unverifiable503No se pudo verificar la firma ahora
internal_error500Error interno
Del SDK
No los envía la API: los pone el SDK cuando la llamada no obtiene respuesta de CoatiPay.