Skip to main content
Con el payload construido y un nonce vigente, crea la instancia de FlexPaymentForms y monta el formulario en tu DOM.
Necesitas un nonce vigente del API Nonce y el payload de Construcción del payload antes de continuar.

Parámetros del constructor

Expande cada bloque para revisar los campos que puedes enviar al constructor.

Datos obligatorios

Controla el comportamiento visual general del componente.
Define los medios de pago que Flex mostrará al comprador.Debes enviar display_settings.methods con los métodos de pago que necesitas visualizar en Flex.
Configura los idiomas disponibles dentro del formulario.

Inicializar y montar Flex

1

Crea la instancia

Envía el nonce, el payload y la configuración que necesite tu integración.
2

Crea el contenedor

Agrega al HTML el elemento donde Flex generará su DOM.
3

Renderiza el formulario

Monta la instancia y entrega las funciones que procesarán la respuesta, el seguimiento y los errores.
Si defines i18n.default_language, utiliza uno de los idiomas incluidos en i18n.languages.
#flex-container es solo un ejemplo. Puedes usar otro selector, siempre que el elemento exista antes de ejecutar paymentForm.init(...).

Comportamiento responsive

Flex conserva su estructura interna mientras el contenedor externo calcula una escala adecuada para el viewport.

Web

Mantiene la escala original cuando el formulario cabe en la ventana.

Celular

Reduce el formulario proporcionalmente para evitar cortes horizontales.

Contenido dinámico

Recalcula la altura cuando Flex cambia de paso o método de pago.

Ejemplo de implementación

Este ejemplo visual usa una presentación popup. La inicialización, los callbacks y el desmontaje descritos más adelante también aplican a las presentaciones embebida y expandida.

Ciclo de vida de la instancia

paymentForm.terminate?.() finaliza los procesos internos, listeners y recursos que mantiene la instancia de Flex. Esta operación es diferente de eliminar el formulario del DOM (flexContainer.innerHTML = "") y aplica a cualquier tipo de presentación.
El operador ?. ejecuta terminate() solo cuando el método existe. Esto evita un error si la versión cargada de Flex no implementa ese método.

Cuándo desmontar según la presentación

En los tres casos, primero procesa cualquier resultado pendiente y luego ejecuta unmountFlex() antes de actualizar la presentación visual.
No modifiques los estilos internos de Flex. Ejecuta unmountFlex() cuando retires el formulario, sin importar si está embebido, dentro de un popup o en una vista expandida.

Pantalla de resultado propia

Cuando configuras settings.display_result_screen: false, Flex no presenta su pantalla final. Tu aplicación debe recibir el response, evaluar el estado de la transacción y mostrar una pantalla de resultado propia.
1

Monta el formulario

paymentForm.init(...) renderiza Flex dentro del contenedor.
2

Recibe el resultado

Flex ejecuta responseCallback(response). Lee el resultado desde response.transaction.state y realiza las validaciones de negocio correspondientes.
3

Muestra tu pantalla

Guarda el response en el estado de tu aplicación y navega o renderiza la pantalla de resultado del comercio.
4

Desmonta Flex

Cuando el resultado ya fue procesado, ejecuta terminate(), limpia el contenedor y actualiza la presentación embebida, popup o expandida.
No ejecutes terminate() antes de recibir y procesar responseCallback(response). Si finalizas la instancia antes, puedes interrumpir el flujo y perder el resultado que Flex todavía no ha entregado.

Limpieza reutilizable

Encapsula la inicialización y el desmontaje en un controlador independiente del framework. Puedes usarlo desde JavaScript puro o conectarlo al ciclo de vida de React, Vue, Angular u otra tecnología.

JavaScript

Ejecuta destroy() antes de retirar el contenedor de la página.

Aplicación SPA

Conecta destroy() al cambio de ruta o al desmontaje de la vista.

Presentación dinámica

Ejecútalo al ocultar el bloque embebido, cerrar el popup o contraer la vista expandida.
container.replaceChildren() vacía el contenido de forma equivalente a container.innerHTML = "", sin depender de un framework específico.
terminate() no devuelve la respuesta del pago. El resultado siempre llega mediante el primer callback de paymentForm.init(...). Revisa Capturar funciones callback para interpretar y confirmar la operación.

Gestionar el cierre con show_close_button

Configura settings.show_close_button: true para mostrar el botón de cierre nativo de Flex. Esta opción funciona en las presentaciones embebida, popup y expandida.
Cuando el comprador pulsa el botón, Flex envía el mensaje cerro el carrito mediante onErrorCallback. Aunque utiliza el callback de error, este mensaje representa una acción voluntaria del comprador y no un fallo técnico.

Mostrar el botón

Activa show_close_button dentro de settings.

Interpretar el evento

Identifica el mensaje exacto cerro el carrito en onErrorCallback.

Cerrar la presentación

Ejecuta onClose() para desmontar Flex y actualizar la interfaz.
Implementa una rama exclusiva para el cierre voluntario y conserva los demás mensajes como errores técnicos:
El flujo de cierre es show_close_buttononErrorCallbackonClose()unmountFlex(). hideFlexPresentation() representa la lógica visual de tu aplicación: retirar el bloque embebido, ocultar el popup o contraer la vista expandida.
Ejecuta onClose() solo cuando el mensaje completo sea cerro el carrito. Cualquier otro valor recibido en onErrorCallback debe continuar por el manejo de errores técnicos.

Antes de publicar

Comprueba el componente en estos escenarios:
Los callbacks no reemplazan la confirmación del pago desde backend. Continúa con la guía de callbacks para interpretar el resultado.

Siguiente paso

Capturar funciones callback

Define responseCallback, trackingCallback y onErrorCallback para reaccionar correctamente al flujo.

Construcción del payload

Si todavía no armaste el objeto de la operación, vuelve a la guía del payload.