> ## 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.

# Escucha los eventos del Widget

Al usar el callback `onEvent`, este se llamará para cada evento disponible en el widget. El callback debe definirse de la siguiente manera:

```javascript onEvent definition example theme={null}
function onEvent(eventName, metadata) {
	// use eventName and metadata
}
```

Aquí, `eventName` es un string que indica el evento que gatilló el callback, y el atributo `metadata` es un objeto que contiene información relevante sobre el evento que gatilló el callback. Puede ser posible que algunos de los atributos de `metadata` sean `null`.

| Parámetro   | Descripción                                      |
| :---------- | :----------------------------------------------- |
| `timestamp` | Momento en el tiempo en que se gatilló el evento |

<Warning>
  El objeto `metadata` puede incluir más campos con el tiempo, por lo que no deberías asumir que sus campos son solo los documentados hoy.
</Warning>

## Lista de eventos

Los eventos disponibles en el widget son los que se documentan en la tabla a continuación:

| Nombre del evento                      | Descripción                                                                                                                                                      |
| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `opened`                               | Se gatilla cuando se abre el widget                                                                                                                              |
| `on_terms_and_conditions`              | Se gatilla cuando el usuario visita los términos y condiciones                                                                                                   |
| `codi_helper`                          | Se gatilla cuando el usuario visita la guía de ayuda de CoDi                                                                                                     |
| `on_available_institutions`            | Se gatilla cuando el usuario entra a la vista para seleccionar la institución financiera                                                                         |
| `on_request_bank`                      | Se gatilla cuando el usuario entra a la vista para solicitar un nuevo banco                                                                                      |
| `on_authentication_form`               | Se gatilla cuando el usuario entra a la vista para autenticarse con su institución financiera                                                                    |
| `codi_username_required`               | Se gatilla cuando se le pide al usuario que ingrese su teléfono móvil para recibir una solicitud de pago CoDi                                                    |
| `payment_in_progress`                  | Se gatilla cuando se le pide al usuario seleccionar el proveedor de pago                                                                                         |
| `creating_link`                        | Se gatilla cuando la institución financiera está verificando las credenciales y Fintoc está conectando la cuenta                                                 |
| `link_created`                         | Se gatilla cuando la institución financiera aprueba las credenciales y se crea un `Link` en Fintoc                                                               |
| `selecting_account`                    | Se gatilla cuando el usuario entra a la vista para seleccionar una cuenta                                                                                        |
| `payment_intent_confirmation_required` | Se gatilla cuando se le pide al usuario autorizar el pago                                                                                                        |
| `app_authentication_required`          | Se gatilla cuando la entidad financiera necesita un segundo factor vía aplicación para autenticarse                                                              |
| `creating_subscription`                | Se gatilla cuando el usuario empieza a intentar crear una suscripción                                                                                            |
| `payment_direct_transfer`              | Se gatilla cuando el usuario ve la pantalla de transferencia directa                                                                                             |
| `device_authentication_required`       | Se gatilla cuando la entidad financiera necesita un segundo factor vía dispositivo físico para autenticarse                                                      |
| `card_authentication_required`         | Se gatilla cuando la entidad financiera necesita un segundo factor vía tarjeta de coordenadas para autenticarse                                                  |
| `sms_authentication_required`          | Se gatilla cuando la entidad financiera necesita un segundo factor vía SMS para autenticarse                                                                     |
| `email_authentication_required`        | Se gatilla cuando la entidad financiera necesita un segundo factor vía email para autenticarse                                                                   |
| `captcha_authentication_required`      | Se gatilla cuando la entidad financiera necesita un segundo factor vía captcha para autenticarse                                                                 |
| `validating_second_factor`             | Se gatilla cuando la entidad financiera está validando el segundo factor ingresado por el usuario                                                                |
| `subscription_created`                 | Se gatilla cuando una suscripción se crea correctamente                                                                                                          |
| `subscription_aborted`                 | Se gatilla cuando una restricción impide que Fintoc complete la suscripción. Esto podría ocurrir, por ejemplo, si la misma suscripción ya se ha completado antes |
| `payment_created`                      | Se gatilla cuando un pago es exitoso                                                                                                                             |
| `payment_error`                        | Se gatilla cuando un pago falla                                                                                                                                  |
| `payment_selecting_auth`               | Se gatilla cuando el usuario está seleccionando un método de segundo factor para autenticarse                                                                    |
| `validating_payment`                   | Se gatilla cuando Fintoc está validando el pago                                                                                                                  |
| `closed`                               | Se gatilla cuando el usuario cierra el widget                                                                                                                    |
| `on_error`                             | Se gatilla cuando ocurre un error en el flujo                                                                                                                    |
