Documentación
Errores
Todos los errores usan RFC 7807 (application/problem+json). El campo code es estable; usa ese, no el texto, para decidir qué hacer.
Formato
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/problem+json
{
"type": "https://pagos.express/docs/errors/idempotency_key_reuse",
"title": "Idempotency key reused with a different request body",
"status": 422,
"code": "idempotency_key_reuse",
"detail": "…"
}typeapunta a la sección de ese código en esta página.validation_errorañadeerrors[]conpathymessage.rate_limitedañadeRetry-Afteren los encabezados.
Códigos
| code | HTTP | Qué hacer |
|---|---|---|
validation_error | 400 | El cuerpo o los parámetros no pasan la validación. `errors[]` trae la ruta y el mensaje de cada campo. |
| 401 | Falta la clave, es inválida, fue revocada o el token OAuth expiró. | |
subscription_required | 402 | Crear enlaces en vivo requiere una suscripción activa. |
forbidden | 403 | La credencial no puede hacer esto: modo equivocado, sin permiso o agente sin alcance. |
not_found | 404 | El recurso no existe en tu cuenta y modo. |
link_already_paid | 409 | El enlace ya se pagó; no se puede desactivar ni volver a cobrar. |
no_active_connection | 409 | Ninguna pasarela del enlace tiene conexión activa en este modo. Conecta Stripe o eCart Pay en el dashboard, o elige una ya conectada. |
request_in_flight | 409 | Otra petición con la misma Idempotency-Key sigue en curso. Reintenta con la misma clave. |
link_expired | 410 | El enlace pasó su vencimiento. |
api_moved | 410 | Llamaste a la API en el host del sitio. Usa https://api.pagos.express. |
idempotency_key_reuse | 422 | Misma Idempotency-Key con otro cuerpo u operación. Genera una clave nueva para la nueva intención. |
provider_rejected | 422 | La pasarela rechazó la operación de forma definitiva (por ejemplo, un importe fuera de rango). |
rate_limited | 429 | Excediste el límite por minuto. Respeta `Retry-After`. |
internal_error | 500 | Error inesperado. Reintenta con la misma Idempotency-Key. |
| 503 | La pasarela no respondió o el resultado es incierto. La reserva se conserva; reintenta después. | |
| 503 | El envío de correo no está configurado en este despliegue. | |
| 503 | La facturación de plataforma no está configurada. | |
| 409 | No hay conexión con CFDI Express activa o falta elegir el emisor. Conéctala en el dashboard. | |
invoicing_rejected | 422 | CFDI Express o el SAT rechazaron la factura (datos fiscales, saldo o emisor). Corrige y vuelve a solicitarla. |
Los errores 5xx y request_in_flight son reintentables con la misma Idempotency-Key. Los 4xx restantes requieren corregir la petición.