<!-- Source: https://docs.infraio.xyz/es/get-started/introduction -->
<!-- Last updated: 2026-10-04 -->

# Introducción

## La forma de un pago

Un comerciante integrando InfraIO Pay trata con cuatro piezas en
movimiento:

### Sesión de checkout

Creas una sesión en el lado del servidor con artículos de línea y totales.
La respuesta lleva una `session_key` (`cst_…`) y una `checkout_url`.
Las sesiones tienen límite de tiempo (por defecto 30 minutos) y son de un solo uso.

### Página de checkout alojada

Cargas nuestro SDK de navegador y abres la sesión: popup, redirect
o iframe incrustado. El comprador elige una combinación cadena ×
activo (USDT en Polygon, ETH en Base, …), ve una dirección de
depósito generada + QR, y envía fondos desde su wallet.

### Confirmación de pago

InfraIO Pay vigila la red relevante para transferencias
entrantes que coincidan con la dirección de depósito por pedido (CREATE2) de la sesión.
Una vez que se alcanza el número de confirmaciones configurado
(p. ej. 12 en Ethereum mainnet, 5 en Polygon: ver
[Cadenas y activos](https://docs.infraio.xyz/es/concepts/chains)), el PaymentIntent
subyacente se mueve a `SETTLED` y la Orden padre se mueve a `PAID`.

En TRON, Solana y TON no hay dirección de depósito. La wallet del comprador paga directamente a tu wallet de Tesorería (TronLink, un QR de Solana Pay o TON Connect) e InfraIO Pay reconoce ese pago. Ver [Cadenas y activos](https://docs.infraio.xyz/es/concepts/chains).

> Los pagos van directo a tus wallets de Tesorería — InfraIO Pay nunca retiene tus fondos.

### Webhook

Enviamos (mediante POST) un evento firmado `payment.settled` a tu URL de webhook
registrada. Tu servidor verifica la firma, busca la orden y procede con el
cumplimiento del pedido.

## El modelo de datos en un diagrama

```
CheckoutSession  ←  1:1  →  Order  ←  1:N  →  PaymentIntent
   (con límite de tiempo)       (permanente)       (uno por intento)
```

Piensas en **Órdenes** para el cumplimiento del pedido, creas **Sesiones** para
cobrar pago, y el sistema gestiona **PaymentIntents** detrás de
escena para reintentos y selección de red.

## Lo que manejamos vs. lo que manejas tú

| InfraIO Pay maneja | Tú manejas |
| --- | --- |
| UI de checkout alojado (dirección de depósito, QR, selector de activos) | Creación de catálogo + Orden en tu DB |
| Monitorización de cadena + lógica de confirmación a través de 8 cadenas EVM más TRON, Solana y TON (próximamente) | Receptor de webhook + verificación de firma |
| Checkout multi-activo de stablecoins (USDT, USDC por red) | Mapeo de nuestro `order_id` ↔ tu ID de orden vía `external_ref` |
| Contabilidad de reembolsos (máquina de estados, dashboard, API) | Firma + difusión de la tx de reembolso on-chain |
| Claves de modo de prueba + webhooks de prueba aislados | Financiación de wallets testnet desde faucets |

> **Note:**
>
> No tenemos custodia de los fondos del comerciante. Las
> transferencias comprador-a-comerciante ocurren **directamente**
> on-chain; nosotros somos la capa de indexador + reconciliación
> que te dice cuándo se confirmó la transferencia.

## Modo de prueba vs modo live

Cada cuenta empieza en **modo de prueba**. Las claves de prueba
llevan prefijo `pk_test_` / `sk_test_`. Las claves live (`pk_live_`
/ `sk_live_`) están disponibles después de completar la verificación
de la cuenta y añadir una wallet de Tesorería para cada red en la que
quieres recibir (firmas un mensaje para demostrar que la controlas).

La misma URL base de la API sirve ambas: el entorno se determina
por el prefijo de la clave, no por la URL. El modo de prueba corre
contra **testnets reales** (Sepolia, Base Sepolia, BSC Testnet,
etc.): no hay cadena simulada. Para disparar un pago de prueba
necesitas fondos testnet reales desde un faucet.

## Contacto / soporte

¿Preguntas o necesitas ayuda? Escribe a [contact@lartech.xyz](mailto:contact@lartech.xyz).

## Lo que InfraIO Pay no es

- **No es un custodio.** Los fondos se mueven del comprador a tu wallet
  de Tesorería on-chain directamente. Nunca tenemos tu saldo.
- **No requiere una wallet nuestra.**
  Los clientes pagan desde su propia wallet (el checkout
  alojado tiene una opción WalletConnect integrada).
  [InfraIO Wallet](https://docs.infraio.xyz/es/wallet/overview) es una wallet con passkey
  independiente y sin custodia, y no es obligatoria.
- **No es una pasarela fiat-cripto.** Los compradores pagan en el activo
  cripto que tienen; no convertimos.
- **No es un gateway de Bitcoin.** Stablecoins en 8 redes EVM más TRON, Solana y TON (próximamente); sin Bitcoin ni Lightning. Ver [Cadenas y activos](https://docs.infraio.xyz/es/concepts/chains) para la matriz vigente.

## Qué sigue

- [Inicio rápido](https://docs.infraio.xyz/es/get-started/quickstart): copia-pega tu
  primera integración en ~10 minutos.
- [Conceptos → Sesiones](https://docs.infraio.xyz/es/concepts/sessions): el modelo de
  datos en profundidad.
- [SDK → JavaScript](https://docs.infraio.xyz/es/sdks/javascript): el único SDK publicado
  hoy.
- [Precios y comisiones](https://docs.infraio.xyz/es/concepts/pricing): niveles por volumen y descuentos.
- [App para comerciantes](https://docs.infraio.xyz/es/get-started/merchant-app): gestiona tu negocio desde el móvil.
