> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Checklist para producción

> Usa esta checklist para asegurar una transición fluida al modo Live

Después de probar tu integración en modo test, hay algunas tareas que debes completar antes de salir a producción con el producto de Payment Initiation. El ambiente de test de Fintoc es funcionalmente muy similar al modo live, pero es importante realizar pruebas para configurar correctamente tu ambiente live.

***

<Info>
  **Asegúrate de que tu integración admita cambios compatibles con versiones anteriores**

  Hacemos constantemente cambios compatibles con versiones anteriores a nuestra API para agregar nuevas funcionalidades. Asegúrate de que tu integración pueda soportar tales cambios una vez que salgas a producción. Para más información, lee nuestra guía sobre [Cambios en la API](/es/v2023-11-15/docs/home/changes).
</Info>

* [ ] **Configura las API Keys de Live en tu backend**

En tu dashboard, navega a la pestaña API Keys. Asegúrate de estar en modo Live verificando el indicador de toggle en la esquina inferior izquierda.

<Frame>
  <img src="https://mintcdn.com/fintoc-49b8bee8/YQmOnq8Zegydl6oL/images/3f3098c12c490eba82c12603f93e4874ed03ccc76e7510ceaf8accb247ec1124-Captura_de_pantalla_2025-01-14_a_las_11.08.33.png?fit=max&auto=format&n=YQmOnq8Zegydl6oL&q=85&s=44d5d015efe67f1d37b84aa8c31fd878" width="2186" height="508" data-path="images/3f3098c12c490eba82c12603f93e4874ed03ccc76e7510ceaf8accb247ec1124-Captura_de_pantalla_2025-01-14_a_las_11.08.33.png" />
</Frame>

Genera tu Live Secret Key y configúrala en tu backend para hacer solicitudes a la API en modo Live.

<Warning>
  **Solo puedes acceder a tu Secret API Key una vez**

  Solo podrás copiar y ver tu API Key cuando la actives o rotes. Asegúrate de almacenarlas de forma segura en tu backend.
</Warning>

<br />

* [ ] **Configura nuevos webhooks para mantener tu aplicación sincronizada con Fintoc**

Los webhooks creados en modo test no notificarán a tu aplicación sobre eventos que ocurren en modo Live. Necesitarás configurar nuevos webhooks en tu ambiente de producción para manejar cualquier evento relacionado con una Checkout Session.

Si necesitas ayuda configurando nuevos webhooks, revisa nuestra [Guía de Webhooks](/es/v2023-11-15/docs/resources/webhooks-walkthrough).

Hay varios eventos que puedes configurar desde el dashboard o la API para recibir notificaciones sobre el proceso de pago, pero hay cuatro eventos asociados al procesamiento de una Checkout Session que son críticos para la operación y se envían vía webhook: `checkout_session.finished`, `checkout_session.expired`, `payment_intent.succeeded` y `payment_intent.failed`. Revisa nuestra [Guía de Webhooks](/es/v2023-11-15/docs/resources/webhooks-walkthrough) para entender cómo funcionan los webhooks de Fintoc y cómo puedes configurar tus endpoints de Webhook.

<br />

* [ ] Asegúrate de seguir nuestras [Pautas de UX](/es/v2023-11-15/docs/payments/checkout-ux-guidelines)

**Elige el botón de pago correcto para tu checkout**: nuestra investigación ha demostrado que el botón de pago tiene efectos importantes en la conversión.

**Lanza el widget sin redirigir al cliente**: integrar el widget de pago de esta forma promueve la confianza, haciendo más probable que el usuario ingrese sus credenciales bancarias y finalice el pago.

**Asegúrate de que no haya elementos visuales adicionales durante el flujo de pago**: mantener el flujo de pago limpio y simple mejora la experiencia general del pago.

**Redirige correctamente al usuario final después de realizar un pago**: ya sea que el pago sea exitoso o no, es importante reducir la incertidumbre y confirmar el estado final del pago del cliente.

* [ ] **Maneja correctamente los casos extremos relacionados con webhooks**

Algunos pagos pueden tener campos nulos si el usuario sale a mitad del proceso. Asegúrate de manejar estos casos como se muestra en nuestra [guía de pagos](/es/v2023-11-15/docs/payments/copy-of-accept-a-payment).

<br />

* [ ] **Especifica la cuenta donde quieres recibir los payouts**

Si estás usando [Fintoc Collects](/es/v2023-11-15/docs/payments/fintoc-collect-payments), necesitarás especificar la cuenta bancaria en la que quieres recibir los payouts. Para hacerlo, envía un correo a tu Account Executive especificando:

🇨🇱

* Nombre del banco
* Tipo de cuenta
* Número de cuenta
* RUT
* Correo de notificaciones

🇲🇽

* Nombre de la empresa
* Nombre del banco
* CLABE
* RFC
* Correo de notificaciones
* Dirección de la empresa

<br />

* [ ] **Realiza pruebas de certificación**

Antes de pasar a producción, debes asegurarte de que tu integración se haya realizado correctamente. **Las pruebas que realizaremos involucran pagos reales**, por lo tanto debes:

* Pedirle a tu Sales Executive que active el modo Live en tu cuenta. **Debes poder lanzar el widget en este modo**. Si lo deseas, puedes realizar las pruebas en un sitio de desarrollo, pero siempre usando las credenciales del modo Live y realizando pagos reales.
* Tener tus endpoints de webhook [configurados en modo Live](/es/v2023-11-15/docs/resources/webhooks-walkthrough/webhooks-activating#add-an-endpoint-through-the-dashboard).

**Pruebas de Payment Initiation**

1. Completa un pago exitoso usando Fintoc.\
   **Resultados esperados:**
   1. Puedes iniciar correctamente una Checkout Session y [mostrar el widget](/es/v2023-11-15/docs/resources/widget/widget-web-integration). Si tu flujo de pago requiere que el usuario ingrese su RUT (en CL) o número de teléfono (en MX) antes del pago, el widget se despliega con el [campo username precompletado](/es/v2023-11-15/docs/resources/widget/widget-web-integration#username-object)
   2. Después de finalizar el flujo de pago, rediriges correctamente al usuario final a una página de confirmación en tu sitio.
   3. Tu sistema registra el pago como exitoso y se disparan el resto de tus procesos (por ejemplo, enviar un correo de confirmación).
2. Crea una nueva Checkout Session y cierra el widget antes de autorizar el pago.\
   **Resultados esperados:**
   1. Tu frontend redirige al usuario final a una página donde puede reintentar el pago o elegir otro método de pago.
   2. Tu sistema registra el pago como fallido usando [webhooks](/es/v2023-11-15/docs/resources/webhooks-walkthrough)
3. Simula una Checkout Session donde el usuario final autoriza la transacción en su app bancaria y cierra la pestaña inmediatamente después.\
   **Resultados esperados:**
   1. Tu sistema registra el pago como exitoso después de recibir el webhook de confirmación.
   2. Se disparan el resto de tus procesos (por ejemplo, enviar un correo de confirmación).
4. Simula un pago que resulta en un estado pendiente.\
   **Resultados esperados:**
   1. Tu sistema registra el pago como pendiente después de recibir el webhook `checkout_session.finished` con un estado final pendiente.
   2. Se muestra un mensaje al usuario final indicando que el pago aún no ha sido confirmado.
   3. Puedes decidir cómo manejar el resto del flujo de pago según los requisitos de tu negocio y nuestra [guía de pagos pendientes](/es/v2023-11-15/docs/payments/fintoc-collect-payments/dealing-with-payment-exceptions#how-to-deal-with-pending-payments).

* [ ] **Sal a producción**

Después de completar las pruebas de certificación, estás listo para poner tu integración en Live.
