# Pasar a producción

## Antes de cobrar de verdad, comprueba en prueba

- [ ] Creas un enlace y guardas su `id` junto a tu pedido.
- [ ] Pagas el enlace de prueba y tu sistema lo ve `pagado`.
- [ ] Tu webhook recibe `link.pagado`, **verifica la firma** y responde `200`.
- [ ] Si llega el mismo aviso dos veces, no entregas dos veces.
- [ ] Entregas sólo con `pagado`, nunca por volver a tu `success_url`.
- [ ] Un cobro en `procesando` o `revision` no le pide al cliente pagar otra vez.
- [ ] Probaste los casos difíciles con las claves de prueba: `11111111` (rechazo) y `22222222` (procesando), o `POST /links/:id/simular`. → [Modo prueba](/developers/datos-de-prueba)
- [ ] Tu webhook ignora (no entrega) los avisos con `"mode": "test"`.
- [ ] Tu llave está sólo en tu servidor.

## El día que pasas

Lo único que cambia es **la llave**:

1. Tu cuenta debe estar aprobada (el portal te muestra "Puede cobrar" en Ajustes).
2. En **Integraciones › Llaves de API**, crea una llave de **Producción** (`sk_live_…`).
3. Cámbiala en tu servidor.
4. Haz un cobro real pequeño y confírmalo de punta a punta.

> **Los avisos de prueba y de producción llegan al mismo webhook** (por eso crearlo o cambiarlo por API exige `sk_live_`; desde el portal puedes registrarlo antes de tener la llave de producción), pero cada uno trae `data.mode` (`test` o `live`). Si es `test`, el pago fue simulado: no entregues de verdad.
