Esta página asume que ya leíste la Descripción general de Secure
Elements: ahí se cubre la carga
del SDK y el flujo compartido de client-token, ambos aplican aquí.
Velo en vivo
La demo genera su propio token y monta los campos automáticamente. Ingresa cualquier número de tarjeta que pase una verificación de Luhn, completa el nombre del titular y envía. Usa Remint token & remount si el formulario deja de responder. Ábrela en su propia pestaña →
Genera un token de tokenización
Llama aPOST /v1/client-token con "purpose": "tokenization":
virtualCardId. Sí requiere un alcance diferente en tu token de acceso — MANAGE_PAYMENT, no CREATE_VIRTUALCARD — y tiene una vida útil más larga (30 minutos por defecto) ya que un usuario tarda más llenando un formulario de tarjeta que haciendo un clic de revelado.
Renderiza los campos
renderFieldsForTokenization no tiene la opción fields: PAN, vencimiento y CVV siempre se montan juntos como un solo iframe combinado, porque la validación del CVV es sensible a la marca (el CVV de Amex tiene 4 dígitos; el de las demás marcas, 3), lo que solo funciona si el campo conoce el número de tarjeta escrito en el campo contiguo dentro del frame. No puedes montarlos de forma independiente como se puede con los campos de createCardViewer.
Móntalo
FluzElementsError por INVALID_STYLE, MOUNT_TIMEOUT o MOUNT_FAILED (el frame no cargó, o esta instancia ya está montada). frameHostOrigin se valida de forma sincrónica cuando llamas a renderFieldsForTokenization, igual que en createCardViewer: un origen no reconocido lanza INVALID_FRAME_HOST_ORIGIN antes de llegar a mount().
Rastrea el estado de los campos
brand solo aparece en el estado de pan, detectada a partir de los dígitos ingresados hasta el momento: amex, visa, mastercard, discover, diners o jcb. Usa isValid para controlar tu propio botón de envío y para los mensajes de validación inline: ninguno de estos campos expone el valor subyacente a tu página.
excludedCardBrands (p. ej. ["amex"]) no bloquea la escritura: fuerza que isValid de pan sea false cuando se detecta una marca coincidente, por lo que el usuario aún puede ingresar el número pero submit() no tendrá éxito hasta que use una tarjeta distinta.
Enviar
Recopila el nombre del titular y la dirección de facturación como inputs normales en tu propia página: el SDK no los renderiza dentro de un frame alojado por Fluz porque no son datos de tarjeta. Si manejarlos tú afecta tu propio alcance PCI DSS depende de tu entorno más amplio de datos de titulares de tarjeta; confírmalo con tu QSA.cardholderName se divide en nombre y apellido solo por el primer espacio: "Mary Ann Smith" se convierte en nombre "Mary", apellido "Ann Smith"; un nombre de una sola palabra se usa como ambos. Para reutilizar una dirección ya existente en la cuenta en lugar de recopilar una nueva, pasa billingAddress: { userAddressId: "<uuid>" }.
submit() casi nunca rechaza, y nunca por una denegación. Solo lanza
sincrónicamente por MOUNT_FAILED (aún no montado) o SUBMIT_FAILED (“ya
hay una llamada a submit() en curso”: ignora una segunda llamada mientras hay
una en progreso). Cualquier otro resultado — éxito, denegación, fallo de
validación, timeout — se resuelve normalmente y llega a través de los
callbacks de abajo.Maneja los resultados
onSuccess se activa cuando la tarjeta se agrega como fuente de fondos. onDeclined se activa para una tarjeta que el procesador rechazó: sigue siendo un resultado normal y esperado, no un error:
onError es para todo lo que no es una denegación normal:
Limpieza
Ejemplo completo
/mint-tokenization-token es tu propia ruta de backend: la que llama a POST /v1/client-token con "purpose": "tokenization" y tu token de acceso OAuth de Fluz.
Próximos pasos
Descripción general de Secure Elements
Generación de tokens, carga del SDK y CSP.
Card Reveal
La otra capacidad de Secure Elements: mostrar a un usuario los datos de su propia tarjeta.
Demo en vivo
Prueba el formulario para agregar tarjeta ejecutándose contra staging.
Integraciones de ejemplo
Ejemplos ejecutables en HTML plano y React de entrada segura de tarjeta con un servidor que genera tokens.