Soporte para pasarelas de pago personalizadas y tarjetas de regalo en el motor de reservas Plus

Descripción general

El Cloudbeds Booking Engine Plus permite que las propiedades admitan una pasarela de pago personalizada o pagos con tarjetas de regalo mediante JavaScript personalizado. Esto ofrece más flexibilidad para las propiedades que necesitan ofrecer métodos de pago fuera del flujo estándar de Cloudbeds Payments.

Este artículo explica los requisitos, las limitaciones y la configuración básica de EventSystem que se utiliza para registrar una opción de pago personalizada en el Motor de reservas.

Las opciones compatibles incluyen:

  • Integración de una pasarela de pago personalizada mediante la opción de transferencia bancaria
  • Compatibilidad con tarjetas de regalo mediante campos personalizados de huésped

Información importante

Antes de configurar una pasarela de pago personalizada o un flujo de tarjetas de regalo, revisa los siguientes requisitos:

  • Las propiedades deben habilitar la opción de transferencia bancaria en su Cloudbeds PMS para agregar una pasarela de pago personalizada para Booking Engine Plus. 
  • Se requiere un JavaScript personalizado para activar un evento que notifique al Motor de reservas sobre la pasarela de pago personalizada.
  • Solo se puede integrar una (1) pasarela de pago personalizada, lo que significa que las propiedades no pueden ofrecer transferencia bancaria y una pasarela de pago personalizada al mismo tiempo.
  • La compatibilidad con tarjetas de regalo requiere agregar un campo personalizado de huésped para ingresar los números de las tarjetas de regalo.
  • Los métodos de pago personalizados solo son compatibles con entornos alojados del Motor de reservas.
  • Los métodos de pago personalizados no son compatibles con Immersive Experience 2.0.
  • Las instrucciones a continuación aplican solo a Booking Engine Plus.

 Comportamiento del flujo de pago para integraciones de pago personalizadas: En las propiedades con Motor de reservas alojado, el paso de pago puede abrirse en una ventana emergente o modal en lugar de mostrarse como una página de pago integrada.

Los scripts de pago personalizados deben usar el EventSystem del Motor de reservas para registrar la opción de pago personalizada y escuchar la creación de reservas. Los scripts no deben depender del comportamiento de una página de pago integrada, listeners de clics específicos de una página, clics en botones de acordeón ni selectores de la interfaz de usuario para determinar si se seleccionó una opción de pago personalizada.

Flujo de pago del Motor de reservas en el que el huésped hace clic en Continuar y el paso de pago se abre en una ventana emergente o modal
 GIF que muestra el flujo de pago del Motor de reservas alojado, en el que el huésped hace clic en Continuar y el paso de pago se abre en una ventana emergente o modal.

Métodos de pago personalizados y compatibilidad con pasarelas para Immersive Experience

  • Limitaciones actuales: Los métodos de pago personalizados solo son compatibles con entornos alojados del Motor de reservas.
  • Recomendaciones de compatibilidad con pasarelas: No recomendamos usar pasarelas de pago no compatibles en Immersive Experience. Cuando las pasarelas no están en un dominio de Cloudbeds, Cloudbeds no controla la seguridad ni el cumplimiento de PCI del flujo de pago externo.
  • Ruta de soporte: Para recibir orientación o resolver preguntas específicas sobre la implementación de métodos de pago personalizados, contacta directamente a nuestro equipo de Cloudbeds Payments. Ellos gestionan todo el SDK de pagos y son quienes mejor pueden ayudarte.

  Antes de comenzar

Los pasos de este artículo están dirigidos a desarrolladores web con experiencia que estén familiarizados con HTML, CSS y JavaScript. El código puede quedar desactualizado y requerir trabajo adicional.

  • Cloudbeds no ayuda a crear widgets de reservas de grupo, personalizaciones del motor de reservas ni diseños/desarrollos de sitios web para hoteles.
  • Si no tienes un sitio web y quieres uno, consulta este artículo.
  • Si ya tienes un sitio web, contacta a tu diseñador web, desarrollador web, revendedor o socio de integración para instalar o mantener scripts personalizados del Motor de reservas.
  • Para agregar una opción de pago personalizada, la propiedad debe usar JavaScript personalizado con el EventSystem del Motor de reservas.

Agregar pasarelas de pago de terceros y tarjetas de regalo al Motor de reservas de Cloudbeds

Paso 1: Acceder a la pestaña Personalizar
  1. Ve a la página Configuración Configuración.pngdel menú de tu Cuenta Menú de cuenta.pngy haz clic en la sección Motor de reservas
  2. Haz clic en Personalizar
  3. Agrega el JavaScript personalizado al campo JavaScript
  4. Haz clic en Guardar

El JavaScript personalizado debe suscribirse al evento on-booking-engine-ready. Este evento se dispara cuando el Motor de reservas está listo para activar y escuchar eventos.

El script también debe disparar el evento custom-payment-option-change para notificar al Motor de reservas que hay una opción de pago personalizada disponible.

<script>
window.addEventListener('on-booking-engine-ready', (e) => {
  const { eventSystem } = e.detail;

eventSystem.dispatchEvent("custom-payment-option-change", {
id: "%PAYMENT_OPTION_ID%",
instructions: "Your default text for the instructions goes here.",
name: "Your default text for the label goes here.",
});
});

 Al guardar cambios en el campo JavaScript, Cloudbeds puede pedirte que completes la autenticación multifactor step-up (MFA) antes de guardar los cambios. Después de guardar, abre el Motor de reservas y prueba el flujo de pago para confirmar que la opción de pago personalizada aparezca como se espera. 

Obtén más información: MFA step-up para campos HTML y JavaScript personalizados del Motor de reservas.

Paso 2: Usar EventSystem

Usa eventSystem.dispatchEvent() para disparar el evento custom-payment-option-change con la siguiente carga útil:

  • id [string]: Obligatorio. Debe tener una longitud mayor que 0 y debe ser válido para usarse como ID de CSS. No uses espacios, puntos y coma ni caracteres especiales que no sean válidos en selectores CSS. El formato sugerido es kebab-case. Reemplaza %PAYMENT_OPTION_ID% por el ID de la pasarela de pago personalizada. Este ID también se usa en selectores CSS para personalizar la interfaz de usuario.
  • instructions [string]: Opcional. Muestra instrucciones o una descripción cuando el huésped expande la opción de pago personalizada, que se muestra como un acordeón. Este valor debe definirse si la propiedad quiere mostrar ese texto, y funcionará como respaldo si el texto específico por idioma no se personaliza con CSS.
  • name [string]: Obligatorio. Debe tener una longitud mayor que 0.

 Notas importantes: 

  • Si la carga útil del evento no cumple todos los requisitos, la opción de pago personalizada no se registrará y la opción de transferencia bancaria seguirá apareciendo.
  • Después de guardar los cambios en Cloudbeds PMS, abre el Motor de reservas y prueba el flujo de pago.
  • La pasarela de pago personalizada debería mostrarse como opción de pago durante el paso de pago.
  • Si el Motor de reservas alojado abre el paso de pago en una ventana emergente o modal, la opción de pago personalizada debe registrarse igualmente mediante el EventSystem del Motor de reservas.
Paso 3: Personalizaciones adicionales
  • Puedes especificar textos por idioma para las etiquetas:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-name"]::before {
  content: "Your lang-specific text for the label goes here.";
}
  • Las instrucciones también se pueden configurar por idioma:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-instructions"]::before {
  content: "Your lang-specific text for the instructions goes here.";
}
  • Además, puedes agregar un logo/ícono personalizado:
// Para ocultar el ícono SVG predeterminado
[data-id="%PAYMENT_OPTION_ID%-icon"] svg {
  display: none;
}

// Para personalizar el ícono configurándolo como imagen de fondo
[data-id="%PAYMENT_OPTION_ID%-icon"] {
background-image: url(PAYMENT_OPTION_ICON_URL);
background-size: cover;
background-position: center;
width: 40px;
height: 40px;
}
  • En este punto, habrás agregado y personalizado la opción de pago para usar la opción de pago personalizada. Cuando un huésped realiza una reserva con la opción de pago personalizada, la reserva se crea en Cloudbeds PMS con un método de pago de banca electrónica, y Cloudbeds no cobra ningún pago.
  • Mediante EventSystem, puedes escuchar el evento reservation-created  para obtener los datos de la reserva creada y redirigir al usuario a la pasarela de pago para completar el pago en integraciones con pasarelas de pago de terceros.
eventSystem.addEventListener('reservation-created', (data) = {
// Tu código para ejecutar después de que se crea una reserva...
})

 Usa el EventSystem del Motor de reservas para registrar la opción de pago personalizada y escuchar la creación de reservas. Evita depender únicamente de listeners de clics específicos de una página, clics en botones de acordeón o selectores de la interfaz de usuario para determinar si se seleccionó la opción de pago personalizada.

  • Los datos expuestos por el evento reservation-created tienen la siguiente estructura:
interface CreatedReservation {
booking_id?: `${number}`;
booking_total?: number;
checkin_date?: string;
checkout_date?: string;
city?: string;
currency_code?: string;
hotel_name?: string;
real_booking_total?: number;
resRooms?: {
adults: `${number}`;
id: `${number}`;
kids: `${number}`;
package: `${number}`;
package_name: string | null;
rate_id: `${number}`;
room_total: `${number}`;
room_type_id: `${number}`;
room_type_name: string;
room_type_photos: ({
TYPE?: string;
alt: string;
cropParam: string | null;
croppedImage: string;
fullPath: string;
galleryPath?: string | null;
id: string;
imageHeight: string;
imageWidth: string;
mime?: string;
originalName: string;
ownerId?: string;
ownerType?: string;
parentId: string;
path: string;
section?: string;
size?: string;
thumbPath: string;
uploadedAt?: string;
utype?: string;
} & {
featured: number;
featuredPath: string | null;
})[];
}[];
rooms?: Record;
state?: string;
total_tax?: number;
widget_property?: number;
};

 


Solución de problemas relacionados con el comportamiento de la pasarela de pago personalizada

La opción de pago personalizada no aparece

Revisa lo siguiente:

  • Confirma que la opción de transferencia bancaria esté habilitada en Cloudbeds PMS.
  • Confirma que el JavaScript personalizado se haya agregado a la pestaña Personalizar del Motor de reservas.
  • Confirma que la carga útil del evento custom-payment-option-change incluya un id y un name válidos.
  • Confirma que el id no incluya espacios, puntos y coma ni caracteres de selectores CSS no válidos.
  • Confirma que solo haya una pasarela de pago personalizada configurada.

Si la carga útil del evento no cumple todos los requisitos, la opción de pago personalizada no se registrará y la opción de transferencia bancaria seguirá apareciendo.

La redirección del pago personalizado no funciona

Revisa lo siguiente:

  • Confirma que el script personalizado escuche el evento reservation-created.
  • Confirma que el script no dependa únicamente de listeners de clics específicos de una página, clics en botones de acordeón o selectores de la interfaz de usuario.
  • Confirma que la URL de la pasarela de pago de terceros y los parámetros de redirección sean válidos.

Cloudbeds puede confirmar el comportamiento esperado del Motor de reservas. Los cambios en el JavaScript personalizado deben ser realizados por el desarrollador web, revendedor o socio de integración de la propiedad.

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 1 de 4

Comentarios

0 comentarios

Inicie sesión para dejar un comentario.