🚀 Lanzamiento v2.3: Activa y desactiva métodos de pago para tu Conekta Checkout desde el Panel, sin tocar tu código. Ver documentación →

Tokenizador Web

Casos de uso

El Tokenizer Web es útil en los siguientes escenarios:

  1. Tokenizar una tarjeta para crear una orden con su cargo — el token generado se usa directamente al crear una orden de pago de cargo único.
  2. Tokenizar una tarjeta para guardarla y ejecutar cargos bajo demanda — el token se asocia a un customer y la tarjeta queda disponible para cobros posteriores iniciados por el comercio en cualquier momento, sin intervención del cliente.
  3. Tokenizar una tarjeta para crear suscripciones — el token se asocia a un customer que se inscribe en un plan, habilitando cobros recurrentes automáticos.

Inicializar el iframe

Un iframe es un documento HTML que está incrustado dentro de otro en un sitio Web.

  1. El iframe se compone de una parte de HTML y una parte de JavaScript
<html>

<head>
  <meta charset="utf-8">
  <title>Checkout</title>
  <script type="text/javascript" src="https://pay.conekta.com/v1.0/js/conekta-checkout.min.js"></script>
</head>

<body>
  <div id="conektaIframeContainer" style="height: 1350px;"></div>
  <script type="text/javascript">
    const options = {
      backgroundMode: 'lightMode',
      colorPrimary: '#081133',
      colorText: '#585987',
      colorLabel: '#585987',
      hideLogo: false,
      inputType: 'minimalMode',
      excludeCardNetworks: [],
    };

    const config = {
      targetIFrame: "#conektaIframeContainer",
      publicKey: "key_xxxxxxxxxxxxxxxx",
      locale: 'es',
    };

    const callbacks = {
      onCreateTokenSucceeded: function(token) {
        console.log(token)
      },
      onCreateTokenError: function(error) {
        console.log(error)
      },
      onGetInfoSuccess: function(loadingTime) {
        console.log(loadingTime)
      },
    };

    window.ConektaCheckoutComponents.Card({
      config,
      callbacks,
      options
    })
  </script>
</body>

</html>

Parámetros: config

CampoTipoRequeridoDescripción
targetIFramestringSelector CSS del contenedor donde se renderiza el iframe
publicKeystringLlave pública de tu cuenta Conekta. Obtén tus llaves
localestringNoIdioma del componente. Valores: es (español), en (inglés). Default: es

Parámetros: options

Todos los campos de options son opcionales y permiten personalizar la apariencia del componente.

CampoTipoDescripciónValores posibles
backgroundModestringTema visual del componentelightMode, darkMode
colorPrimarystringColor principal: botón y bordes activos. Formato hexadecimalEj. #081133
colorTextstringColor del texto dentro de los inputs. Formato hexadecimalEj. #585987
colorLabelstringColor de las etiquetas de los campos. Formato hexadecimalEj. #585987
hideLogobooleanOculta el logo de Conekta en el iframetrue, false (default: false)
inputTypestringEstilo visual de los inputsflatMode, minimalMode
excludeCardNetworksarrayRedes de tarjeta a excluir del formulario["Visa"], ["Mastercard"], ["Amex"]

Callbacks

EventoCuándo se disparaQué hacer
onCreateTokenSucceededLa tarjeta fue tokenizada correctamenteRecupera el token.id y úsalo para crear el customer u orden en tu servidor
onCreateTokenErrorOcurrió un error durante la tokenizaciónMuestra un mensaje de error al usuario y permite que reintente
onGetInfoSuccessEl iframe terminó de cargarÚsalo para medir tiempos de carga o mostrar el formulario al usuario una vez listo

Personalización del Tokenizer

Submit externo

Por defecto, el token se genera cuando el usuario hace clic en el botón Finalizar del iframe. Si necesitas controlarlo desde tu propio botón o lógica, activa el modo ExternalSubmit.

Cómo activarlo

1. Agrega useExternalSubmit: true al objeto config:

const config = {
  targetIFrame: "#conektaIframeContainer",
  publicKey: "key_xxxxxxxxxxxxxxxx",
  locale: 'es',
  useExternalSubmit: true,
};

2. Define la función que disparará el envío desde tu código:

let submitConektaPayment = () => {};

const submitPayment = () => {
  submitConektaPayment();
};

3. Agrega onUpdateSubmitTrigger a los callbacks para recibir la función de envío del iframe:

const callbacks = {
  onCreateTokenSucceeded: function(token) { console.log(token) },
  onCreateTokenError: function(error) { console.log(error) },
  onUpdateSubmitTrigger: function(submitFunction) {
    submitConektaPayment = submitFunction;
  },
};

4. Llama a submitPayment() desde tu botón o lógica cuando quieras generar el token:

<button onclick="submitPayment()">Pagar</button>

Did this page help you?