Skip to Content
Enlaces de pagoResumen
View as Markdown

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:

  1. Inicia sesión en el dashboard del comerciante 
  2. Pagos → Enlaces de pago → + Nuevo enlace
  3. 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.
  4. 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 usan checkout-dev.infraio.xyz así 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

  1. Aterrizan en checkout.infraio.xyz/<session_key>: la misma UI de checkout alojado que obtendrías de una sesión emitida por SDK.
  2. Pasan por el flujo estándar de elegir-activo → enviar-fondos → esperar-confirmación descrito en Checkout — Resumen.
  3. payment.settled se 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 (live o test), 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