Panel de cobros
Seguimiento de enlaces
Enlaces de pago de un solo uso emitidos para huéspedes. El estado se actualiza en tiempo real vía webhook de ONVO.
Enlaces emitidos
| Huésped | Concepto | Monto | Emitido por | Estado | Acciones |
|---|
Emisión
Crear enlace de pago
Capturá los datos del huésped. Al generar, ONVO devuelve un enlace de un solo uso listo para enviar por correo o WhatsApp.
El enlace caduca a las 24 h o tras el primer pago exitoso.
Enlace generado y registrado en seguimiento
Vista del huésped
Checkout hospedado · ONVO
Completá el formulario para previsualizar lo que recibirá el huésped.
Automatización
Notificaciones
Al recibir checkout-session.succeeded de ONVO, se dispara este set de comunicaciones a huésped y administración.
Pago confirmado
Real InterContinental · Costa Rica
Estimada Sra. Rojas, hemos recibido su pago con éxito. Será un privilegio recibirla y brindarle una estadía memorable.
Ver comprobante
ReservaRIC-204871
ConceptoGarantía de reserva
Fecha08 jun 2026
Total pagado$420.00
Gestión de pagos segura · powered by ONVO
Real Hotels & Resorts
Real Hotels & Resorts
Pago recibido
Notificación interna · Front Desk
HuéspedSofía Rojas Mora
ReservaRIC-204871
Emitido porM. Solís
EstadoPagado
Monto$420.00
Conciliación automática · powered by ONVO
Registro de eventos
Documentación técnica
Cómo se conecta a ONVO
Este prototipo opera en modo demo. Acá queda el plano del cableado real para el piloto sobre Cloudflare Workers.
01
Admin crea el enlace
El staff llena el formulario en este panel de marca Real InterContinental.
→
02
Worker llama a ONVO
POST /v1/checkout/sessions/one-time-link con el secret key del lado servidor.→
03
Se envía el
urlEl huésped paga en el Checkout hospedado de ONVO. Nunca ve el dashboard.
→
04
Webhook + notificaciones
checkout-session.succeeded dispara los correos a huésped y admin.1 · Crear el enlace de un solo uso
El backend (Cloudflare Worker) llama al endpoint de ONVO. El metadata guarda la reserva, el huésped y el agente que lo emitió para conciliar después.
// POST a ONVO — secret key SOLO en el servidor await fetch("https://api.onvopay.com/v1/checkout/sessions/one-time-link", { method: "POST", headers: { "Authorization": `Bearer ${ONVO_SECRET_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ lineItems: [{ quantity: 1, unitAmount: 42000, currency: "USD", description: "Garantía de reserva RIC-204871" }], customerEmail: "sofia@correo.com", redirectUrl: "https://cobros.realintercontinental.com/ok", cancelUrl: "https://cobros.realintercontinental.com/cancel", metadata: { reservaId: "RIC-204871", huesped: "Sofía Rojas", agente: "M. Solís" } }) }); // La respuesta trae { url } → se envía al huésped por correo / WhatsApp
2 · Recibir el resultado por webhook
El Worker expone /webhooks/onvo. ONVO envía el evento; se verifica el header X-Webhook-Secret y se dispara el set de notificaciones.
{
"type": "checkout-session.succeeded",
"data": {
"paymentStatus": "paid",
"amountTotal": 42000,
"currency": "USD",
"customer": { "name": "Sofía Rojas", "email": "sofia@correo.com" },
"metadata": { "reservaId": "RIC-204871", "agente": "M. Solís" }
}
}
Stack del piloto real: Cloudflare Workers + D1 para el registro de enlaces. El secret key vive como variable de entorno en el Worker, jamás en el navegador. La misma UI de este prototipo se reusa cambiando solo la capa de datos demo por llamadas a
/api/links.