# Lista para producción

Lo que debes cumplir antes de mover dinero real.

Cuando todas las casillas estén marcadas, tu integración puede salir a producción. Cambiar de ambiente sólo cambia la base y la llave.

- [ ] KYB aprobado. [Conceptos](/docs/conceptos/). Escenario: `kyb_required`.
- [ ] Contrato firmado, con la cláusula de responsabilidad por montos. [Límites](/docs/limites/#montos).
- [ ] Giro mercantil, representante legal e identificación entregados a FITAL. [Soporte](/docs/soporte/).
- [ ] Ciclo completo probado en la cuenta de prueba: pago, fallo, devolución. [Cuenta de prueba](/docs/sandbox/cuenta-de-prueba/). Escenarios: `payment_completed`, `payment_failed`, `payment_returned`.
- [ ] Reintento con misma clave probado ante timeout. [Reintentos](/docs/recetas/reintentos/).
- [ ] 429 y 503 manejados con espera. [Límites](/docs/limites/). Escenarios: `rate_limited`, `service_unavailable`.
- [ ] Firma de webhook verificada, con rechazo de firma mala y de timestamp vencido. [Verificar la firma](/docs/webhooks/verificar-firma/).
- [ ] Duplicados y desorden de eventos resueltos. [Webhooks](/docs/webhooks/#duplicados-y-desorden).
- [ ] Manejo de `returned` después de `completed` y de un pago que se reabre. [Conciliar](/docs/recetas/conciliar/). Escenario: `payment_returned`. La reapertura no tiene escenario: [simula sus eventos](/docs/sandbox/cuenta-de-prueba/#webhooks-simulados).
- [ ] Llave de producción en gestor de secretos, nunca en código, con su rotación prevista antes de los 180 días. [Vencimiento](/docs/autenticacion/#vencimiento).
- [ ] IP de salida registradas en la llave. [IP permitidas](/docs/seguridad/ip-permitidas/). Escenario: `ip_not_allowed`.
- [ ] Firewall abierto a las IP de webhooks, si aplica. [IP de webhooks](/docs/seguridad/ip-webhooks/).
- [ ] Comportamiento ante caída total definido. [Salud y estado](/docs/salud-y-estado/#caída-total). Escenario: `status_degraded`.
- [ ] Cambio de base y llave por configuración, sin tocar código. [Ambientes](/docs/ambientes/).
- [ ] `request_id` guardado en tus registros. [Soporte](/docs/soporte/).
- [ ] Primer pago real de monto pequeño, con resultado conciliado. [Conciliar](/docs/recetas/conciliar/).

## Errores comunes

- Salir sin registrar IP: una llave de producción sin lista no opera y responde `403 ip_not_allowed`.
- Probar sólo el camino feliz.

## Qué sigue

[Seguridad](/docs/seguridad/).
