Requisitos previos
- Una cuenta de Fluz: crearás credenciales de API de staging y acuñarás un token de acceso en los Pasos 1–2 más abajo.
- Las solicitudes van al endpoint GraphQL del sandbox. Nada aquí cobra una tarjeta real — consulta Entorno de Staging vs. Live.
- Cada mutación necesita un
idempotencyKeyúnico (un UUID generado por el cliente) para que una solicitud solo se procese una vez — consulta Idempotencia.
Antes de comenzar
Excepto para acuñar tu token (Paso 2), cada llamada es una solicitudPOST a un único endpoint GraphQL, autenticada con tu bearer token:
El flujo completo
Regístrate y registra una app
Crea una cuenta de Fluz en fluz.app, luego abre la Consola de Desarrolladores y crea una nueva aplicación Staging. Cuando aparezcan las credenciales, copia tu
clientId y clientSecret — el secret se muestra solo una vez.Guía completa: Prepara tus cuentas.Intercambia credenciales por un token de acceso
Acuña un token de acceso de usuario de corta duración y con alcance a partir de las credenciales de tu app. Esta llamada va al servicio OAuth; cada llamada posterior usa el token devuelto como credencial Bearer.Almacena el
accessToken devuelto y envíalo como Authorization: Bearer <accessToken> en cada solicitud a continuación. Los tokens son de corta duración (expiresIn está en segundos): acuñalos del lado del servidor y renuévalos antes de que expiren. Detalles completos: Credenciales de API.Fondea tu saldo de Fluz
Las tarjetas virtuales se fondean desde tu cuenta cuando se usan — de forma predeterminada desde tu saldo de Fluz (
FLUZ_BALANCE). Asegúrate de que haya suficiente saldo disponible para cubrir el límite de gasto que planeas establecer. Puedes fondear de dos maneras:- Manualmente, a través del sitio web de Fluz en sandbox.
- Programáticamente, mediante la mutación
depositCashBalance.
Depositar vía API (depositCashBalance)
Depositar vía API (depositCashBalance)
Recupera un ID de fuente de fondos con El Quickstart de tarjeta de regalo recorre este paso con todo detalle, incluyendo cómo recuperar IDs de métodos de pago con
getWallet, luego deposita:getWallet.¿Prefieres fondear tarjetas desde una cuenta bancaria vinculada? Establece
primaryFundingSource: BANK_ACCOUNT al crear la tarjeta (Paso 5) y pasa el bankAccountId — no se necesita saldo prefondeado.Explora programas de tarjeta y elige una oferta
Cada tarjeta virtual se emite contra un programa de tarjeta (una “oferta”): el programa determina la red, el banco emisor, la tasa de recompensas y los límites de gasto dentro de los cuales debe permanecer tu tarjeta. Recupera los programas disponibles para tu cuenta con Las ofertas están ordenadas por
getVirtualCardOffers.rewardValue, por lo que los programas con mayor ganancia aparecen primero. Puedes filtrar con el input opcional — cardType (DEBIT / PREPAID), cardNetwork (MASTERCARD / VISA) y cardBrandLocked. Referencia completa: Obtener ofertas de tarjeta virtual.En el sandbox, estos programas de prueba siempre están disponibles:Guarda el
offerId que quieras y toma nota de sus programLimits: el spendLimit que establezcas en el siguiente paso debe ajustarse al límite del programa para la duración elegida.Crea la tarjeta, configurada para tu caso de uso
Emite la tarjeta con Las tres ejecutan la misma mutación:
createVirtualCard. La configuración del input es lo que convierte una tarjeta genérica en una hecha a la medida: elige el patrón que coincida con lo que estás construyendo:- Compra única
- Suscripción con tope mensual
- Tarjeta presupuestada y acotada en el tiempo
Una tarjeta para exactamente una transacción. Establece
spendLimit al monto de la compra y lockCardNextUse: true para que la tarjeta se bloquee sola después de su primera autorización — nada más podrá serle cobrado.Variables
La configuración, de un vistazo
El máximo que se puede cobrar a la tarjeta — solo se te cobra lo que realmente se use. Debe ajustarse al límite del programa para la duración elegida.
Cómo se restablece el límite.
LIFETIME limita el gasto total; DAILY / WEEKLY / MONTHLY lo convierten en un presupuesto periódico — la opción adecuada para suscripciones y asignaciones de equipo.Bloquea la tarjeta después de su primer uso exitoso — el patrón de “tarjeta virtual de un solo uso” para pagos únicos a proveedores.
Fecha
yyyy-mm-dd en la que la tarjeta se congela. Acota tarjetas a un proyecto, viaje o período de contrato.De dónde se toma el gasto.
FLUZ_BALANCE usa tu saldo prefondeado; BANK_ACCOUNT debita de una cuenta vinculada (requiere bankAccountId).De forma predeterminada, una tarjeta también puede tomar de saldos prepago (tarjeta de regalo) y de recompensas. Establece ambos en
false para tarjetas solo en efectivo que consumen únicamente del userCashBalanceId especificado — lo más limpio para contabilidad.Metadatos de gasto opcionales adjuntos a la transacción resultante — las categorías se crean en el primer uso. Consulta Agregar detalles de gastos.
Dirección de facturación: si tu cuenta no tiene una registrada, pasa un
billingAddress (o un userAddressId guardado). Debe ser una dirección EE. UU. real y entregable — sin apartados postales — o la creación fallará con VC-0025. Consulta Requisitos de formato de direcciones.Conserva el
virtualCardId de la respuesta — lo usarás para revelar la tarjeta a continuación. Si la creación falla, revisa Códigos de error de tarjeta virtual.Revela los detalles de la tarjeta
La respuesta de creación omite deliberadamente los números sensibles. Recupera el PAN completo, CVV y vencimiento con Requiere el scope
revealVirtualCardByVirtualCardId — esto es lo que tú (o tu usuario) introduces en un checkout o agregas a una billetera móvil.REVEAL_VIRTUALCARD.Gasta y luego observa la actividad
Usa los detalles revelados en cualquier lugar donde se acepte la red de la tarjeta, dentro de los límites que estableciste. Luego obtén la actividad de la tarjeta con Requiere los scopes
getVirtualCardTransactions para confirmar el cargo — la misma consulta potencia tableros de gasto, conciliación y monitoreo de declinaciones.PCI_COMPLIANCE y REVEAL_VIRTUALCARD. Omite virtualCardIds para obtener actividad de todas las tarjetas de la cuenta y filtra por rango de fechas para vistas tipo estado de cuenta. Referencia completa: Obtener transacciones de tarjeta virtual.¿Terminaste con la tarjeta? Bloquéala (lockVirtualCard)
¿Terminaste con la tarjeta? Bloquéala (lockVirtualCard)
Las tarjetas con Requiere el scope
lockCardNextUse o una lockDate se manejan solas. Para bloquear cualquier otra tarjeta bajo demanda:EDIT_VIRTUALCARD. El bloqueo es reversible — consulta Desbloquear tarjeta virtual.Listo 🎉
Has emitido una tarjeta virtual creada para un trabajo específico: elegiste un programa, configuraste controles de gasto, revelaste la tarjeta y seguiste su actividad. Desde aquí, profundiza más:Editar, bloquear y administrar tarjetas
Cambia límites, apodos y fechas de bloqueo en tarjetas existentes.
Billeteras digitales y PINs
Envía tarjetas a Apple Pay / Google Wallet y configura PINs.
Emisión masiva
Crea hasta 10,000 tarjetas en una sola orden.
Envía tarjetas a otros
Distribuye tarjetas a destinatarios por enlace, email o SMS.
¿Quieres saber más? Contáctanos en support@fluz.app para hablar con nuestros expertos o solicitar una demostración.