> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluz.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Probar ofertas de Tarjetas Virtuales

> IDs de ofertas listas para usar al emitir tarjetas virtuales en el entorno de staging, además de cómo descubrir ofertas dinámicamente.

Usa estos IDs de oferta para emitir tarjetas virtuales en el entorno de **staging**. Cada tarjeta virtual se crea a partir de una *oferta*, que determina el programa de la tarjeta (red, BIN y recompensas). Los IDs de oferta a continuación están habilitados para staging y se pueden pasar directamente a `createVirtualCard`.

<Warning>
  **Completa KYC primero**

  Las tarjetas virtuales solo se pueden emitir en una cuenta que haya completado la verificación de identidad. Hasta que la cuenta — y, en el caso de una empresa, sus beneficiarios finales — apruebe KYC/KYB, `getVirtualCardOffers` puede devolver vacío y `createVirtualCard` fallará. Ejecuta la verificación antes de hacer pruebas. Consulta [Verificación KYC de Usuario](/features/user-kyc-verification) para saber cómo enviarla, y obtén identidades de prueba en [Probar flujos de KYC](/test-kyc-flows).
</Warning>

<Note>
  **Solo staging**

  Estos IDs de oferta se aceptan únicamente en el endpoint de staging (`https://transactional-graph.staging.fluzapp.com/api/v1/graphql`). Serán rechazados en producción, donde debes recuperar un ID de oferta activo desde [Obtener ofertas de Tarjeta Virtual](/features/get-virtual-card-offers).
</Note>

## IDs de oferta en staging

| Offer ID                               | Program                                                  | Network    |
| -------------------------------------- | -------------------------------------------------------- | ---------- |
| `5b22153c-7c1e-4a66-9d2c-e786da7e9393` | Tarjeta Virtual - Mastercard Prepago                     | Mastercard |
| `e5d209d2-97b2-4636-9531-b3a459e34651` | Tarjeta Virtual Bloqueada por Marca - Mastercard Prepago | Mastercard |
| `0a6f66ec-a615-47cb-a850-ef971f7054b8` | Tarjeta Virtual de Carga Única - Mastercard Prepago      | Mastercard |
| `490032ad-2e67-4ef0-92ff-cd7071332716` | Tarjeta Virtual Recargable - Mastercard Prepago          | Mastercard |

## ¿Cuál oferta deberías elegir?

Cada programa emite una tarjeta Mastercard prepago, pero difieren en dónde se puede gastar la tarjeta y cómo se financia. Elige la que coincida con el comportamiento que quieres probar:

<AccordionGroup>
  <Accordion title="Tarjeta Virtual" icon="credit-card">
    El programa de propósito general: una tarjeta prepago estándar de uso múltiple que se puede gastar en cualquier lugar donde se acepte Mastercard, dentro de los límites de gasto que configures. Comienza aquí si solo quieres ejecutar el camino feliz de punta a punta.
  </Accordion>

  <Accordion title="Tarjeta Virtual Bloqueada por Marca" icon="store">
    Una tarjeta restringida a un solo comercio o marca. Las transacciones en cualquier otro comercio se rechazan. Úsala para probar controles de gasto restringidos por comercio — por ejemplo, una tarjeta que solo funciona con un proveedor.
  </Accordion>

  <Accordion title="Tarjeta Virtual de Carga Única" icon="banknote">
    Una tarjeta financiada una sola vez, en la creación. El saldo se carga por adelantado y se va consumiendo — no se puede recargar después. Úsala para probar flujos de tarjetas de valor fijo y desechables como pagos únicos a proveedores o desembolsos.
  </Accordion>

  <Accordion title="Tarjeta Virtual Recargable" icon="refresh-ccw">
    Una tarjeta cuyo saldo se puede recargar después de la creación. Úsala para probar tarjetas de larga duración que se reponen repetidamente — asignaciones recurrentes, tarjetas de equipo o gasto continuo de suscripciones.
  </Accordion>
</AccordionGroup>

## Flujo recomendado

En lugar de codificar un ID de oferta, recomendamos descubrir ofertas en tiempo de ejecución: la lista devuelta refleja exactamente a qué tiene derecho tu cuenta. Es una secuencia rápida de dos llamadas.

<Steps>
  <Step title="Listar ofertas disponibles">
    Llama a `getVirtualCardOffers` y toma un `offer_id` de la respuesta.
  </Step>

  <Step title="Crear la tarjeta">
    Pasa ese `offer_id` a `createVirtualCard`. Una respuesta exitosa devuelve un `virtual_card_id` con estado `ACTIVE`.
  </Step>
</Steps>

<CodeGroup>
  ```graphql Step 1 — Get offers theme={null}
  query {
    getVirtualCardOffers(input: {}) {
      offer_id
      program_name
      bank_name
      rewardValue
    }
  }
  ```

  ```graphql Step 2 — Create a card theme={null}
  mutation {
    createVirtualCard(input: {
      offerId: "5b22153c-7c1e-4a66-9d2c-e786da7e9393"
      spendLimit: 5.00
      idempotencyKey: "<any unique string>"
    }) {
      virtual_card_id
      status
      initial_amount
    }
  }
  ```
</CodeGroup>

<Tip>
  Mantén `spendLimit` en o por debajo de tu saldo disponible — la tarjeta se financia desde tu saldo de Fluz, por lo que un límite mayor fallará con un error de saldo insuficiente. Una prueba de \$5 es el primer intento más seguro. Puedes omitir la dirección de facturación en tu primera tarjeta para mantener simple el camino feliz; agrega una más tarde con [Agregar dirección de Tarjeta Virtual](/features/add-virtual-card-address).
</Tip>

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Crear Tarjeta Virtual" icon="credit-card" href="/features/create-virtual-cards">
    La referencia completa de `createVirtualCard`: entradas, financiamiento y el ciclo de vida de la tarjeta.
  </Card>

  <Card title="Probar flujos de KYC" icon="id-card" href="/test-kyc-flows">
    Identidades de prueba que devuelven cada resultado de verificación: aprobado, rechazado y duplicado.
  </Card>
</CardGroup>

**¿Quieres saber más?** Contáctanos en [partnerships@fluz.app](mailto:partnerships@fluz.app). Habla con nuestros expertos para más información o para solicitar una demo.
