Enlaces de pago — Resumen
Un Enlace de pago es una URL compartible que deja al comprador
en un checkout alojado que ya has configurado. Sin SDK, sin
integración de servidor: emítelo en el dashboard, compártelo, y el
mismo webhook payment.settled se dispara cuando los fondos se
confirman on-chain.
Bajo el capó, un Enlace de pago es una CheckoutSession: “Enlace de pago” es solo el nombre del lado dashboard para una sesión que no fue creada por un flujo de SDK iniciado por el comprador. Mismo contrato de webhook, misma liquidación on-chain, mismas tarifas.
Usos comunes:
- Facturar a un cliente puntual sin escribir código
- Páginas de venta donde no tienes un carrito personalizado
- Seguimientos B2B: pega el enlace en un email
- Páginas de propina de importe fijo estilo “Cómprame un café”
Crea uno
Crea enlaces de pago en el dashboard:
- Inicia sesión en el dashboard del comerciante
- Pagos → Enlaces de pago → + Nuevo enlace
- Elige una de dos rutas:
- Nueva orden: introduce line items, moneda, información del cliente y metadatos opcionales. El dashboard crea la Order y el Enlace de pago en una sola llamada.
- Orden existente: elige una orden
PENDING(p. ej. el comprador abandonó el enlace anterior). Reemite un enlace fresco respaldado por la misma orden, así que el historial de orden permanece intacto. - En New order puedes cambiar a Solo importe para cobrar un importe fijo sin listar productos.
- Guarda → el dashboard muestra la URL
https://checkout.infraio.xyz/cst_…con un botón de copiar y descarga de código QR. Los enlaces de modo de prueba usancheckout-dev.infraio.xyzasí que el entorno está codificado en el hostname.
Cada Enlace de pago es de un solo uso hoy: una vez que un comprador
paga, la sesión es COMPLETED. Si una sesión expira antes del
pago (TTL por defecto 30 minutos), abre la página de detalle de
la orden y haz clic en Re-crear enlace para emitir uno fresco
contra la misma orden.
Lo que ve el comprador
- Aterrizan en
checkout.infraio.xyz/<session_key>: la misma UI de checkout alojado que obtendrías de una sesión emitida por SDK. - Pasan por el flujo estándar de elegir-activo → enviar-fondos → esperar-confirmación descrito en Checkout — Resumen.
payment.settledse dispara en tu webhook con la orden, intent, recibo, tx hash on-chain y conteo de confirmaciones: el mismo payload que cualquier otro pago liquidado. Consulta Webhooks para el esquema.
Lo que te da el dashboard
La superficie de Enlaces de pago hoy se envía con:
- Vista de lista: cada enlace que has emitido, paginado por cursor, con estado, importe, número de orden padre, cliente, expiración y apertura de un clic a la URL del comprador.
- Filtros: estado (
ACTIVE/COMPLETED/EXPIRED/CANCELED), rango de fechas y búsqueda de texto completo a través del número de orden, nombre del cliente, email o ref externa. - Exportación CSV: un clic, respeta los filtros actuales.
- Tira KPI: conteos por estado para el entorno actual
(
liveotest), que coinciden con lo que muestra la tabla. - Página de detalle: resumen de orden, historial de sesiones (cada intento para esta orden), historial on-chain con enlaces a block explorer y una acción Re-crear enlace para sesiones que expiraron antes del pago.
Limitaciones hoy
- Sin API programática: los enlaces deben crearse en el
dashboard. Puedes crear sesiones equivalentes de un solo
uso vía
POST /b2b/v1/checkout-sessions/quick(consulta Referencia de la API), pero los enlaces compartibles se crean solo en el dashboard. - Sin autenticación por comprador: cualquiera con la URL puede pagar. Cada enlace es de un solo uso, lo que limita este riesgo.
- El branding es global: el enlace usa tu logo a nivel comerciante, color de marca y radio de borde de Settings → Branding. Los overrides de branding por enlace no están disponibles.
Ver también
- Conceptos → Sesiones: qué está pasando en la capa de sesión e intent mientras un comprador está pagando.
- Checkout → Resumen: qué ve el comprador efectivamente.
- Webhooks → Resumen: el evento
payment.settledal que reacciona tu servidor.