Visão Geral
O Motor de Reservas Plus da Cloudbeds permite que as propriedades suportem um processador de pagamento personalizado ou pagamentos com vale-presente por meio de JavaScript personalizado. Isso oferece mais flexibilidade para propriedades que precisam oferecer formas de pagamento fora do fluxo padrão do Cloudbeds Payments.
Este artigo explica os requisitos, limitações e a configuração básica do EventSystem usada para registrar uma opção de pagamento personalizada no Motor de Reservas.
As opções suportadas incluem:
- Integração de processador de pagamento personalizado usando a opção de transferência bancária.
- Suporte a vale-presente com campos personalizados para hóspedes.
Informações importantes
Antes de configurar um processador de pagamento personalizado ou fluxo de trabalho com cartão presente, revise os seguintes requisitos:
- As propriedades devem ativar a opção de transferência bancária no seu PMS da Cloudbeds para adicionar um processador de pagamento personalizado para o Motor de Reservas Plus.
- É necessário um código JavaScript personalizado para disparar um evento que notifique o Motor de Reservas sobre o processador de pagamento personalizado.
- Apenas um (1) processador de pagamento personalizado pode ser integrado, ou seja, as propriedades não podem oferecer transferência bancária e um processador personalizado ao mesmo tempo.
- O suporte a Vale-Presente requer a adição de um campo personalizado para hóspedes para inserir os números dos vale-presentes.
- Formas de pagamento personalizadas são suportadas apenas em ambientes hospedados do Motor de Reservas.
- Formas de pagamento personalizadas não são suportadas no Immersive Experience 2.0.
- As instruções abaixo se aplicam somente ao Motor de Reservas Plus.
Comportamento do fluxo de pagamento para integrações personalizadas: Para propriedades com Motor de Reservas hospedado, a etapa de pagamento pode abrir em uma janela em vez de ser exibida como uma página de pagamento incorporada.
Os scripts de pagamento personalizados devem usar o EventSystem do Motor de Reservas para registrar a opção de pagamento personalizado e monitorar a criação de reservas. Os scripts não devem depender do comportamento da página de pagamento incorporada, de monitores de clique específicos da página, de cliques no botão do tipo acordeão ou de seletores de UI para determinar se uma opção de pagamento personalizado foi selecionada.
Formas de Pagamento Personalizadas e Suporte a Processadores para o Immersive Experience
- Limitações Atuais: Formas de pagamento personalizadas são suportadas apenas em ambientes hospedados do Motor de Reservas.
- Recomendações de Suporte a Processadores:Não recomendamos o uso de processadores de pagamento não suportados no Immersive Experience. Quando os processadores não estão em um domínio da Cloudbeds, a Cloudbeds não controla a segurança nem a conformidade PCI do fluxo de pagamento externo.
- Caminho de Suporte: Para orientações específicas de implementação ou dúvidas sobre formas de pagamento personalizadas, entre em contato diretamente com nossa equipe do Cloudbeds Payments. Eles gerenciam todo o SDK de pagamentos e estão na melhor posição para te ajudar.
Antes de começar
Os passos deste artigo são destinados a programadores web experientes que conhecem HTML, CSS e JavaScript. O código pode ficar desatualizado e exigir trabalho adicional.
- A Cloudbeds não oferece suporte para criação de widget de reservas em grupo, personalização do motor de reservas ou design/desenvolvimento de site para hotel.
- Se você não tem um site e deseja um, confira este artigo.
- Se você já tem um site, entre em contato com seu designer, desenvolvedor web, revendedor ou parceiro de integração para instalar ou manter scripts personalizados do Motor de Reservas.
- Para adicionar uma opção de pagamento personalizada, a propriedade deve usar um código JavaScript personalizado com o EventSystem do Motor de Reservas.
Adicione processadores de pagamento de terceiros e vale-presentes ao Motor de Reservas da Cloudbeds
- Vá para a página de Configurações
em seu menu da Conta
e clique na seção do Motor de Reservas;
- Clique em Personalizar;
- Adicione o código JavaScript personalizado no campo JavaScript;
- Clique em Salvar.
O códigoJavaScript personalizado deve se inscrever no evento on-booking-engine-ready. Esse evento é disparado quando o Motor de Reservas está pronto para ativar e monitorar eventos.
O script também deve disparar o evento custom-payment-option-change para notificar o Motor de Reservas que uma opção de pagamento personalizada está disponível.
<script>
window.addEventListener('on-booking-engine-ready', (e) => {
const { eventSystem } = e.detail;
eventSystem.dispatchEvent("custom-payment-option-change", {
id: "%PAYMENT_OPTION_ID%",
instructions: "Seu texto padrão para as instruções vai aqui.",
name: "Seu texto padrão para a etiqueta vai aqui.",
});
});
</script>
Use eventSystem.dispatchEvent() para disparar o evento custom-payment-option-change com a seguinte carga:
- id [string]:Obrigatório. Deve ter comprimento maior que 0 e ser válido para uso como um id CSS. Não use espaços, pontos e vírgulas ou caracteres especiais que não sejam válidos em seletores CSS. O formato sugerido é kebab-case. Substitua %PAYMENT_OPTION_ID% pelo id do processador de pagamento personalizado. Esse id também é usado pelos seletores CSS para personalizar a interface.
- instructions [string]:Opcional. Exibe instruções ou uma descrição quando o hóspede expande a opção de pagamento personalizada (expandida como um acordeão). Esse valor precisa ser definido se a propriedade quiser mostrar esse texto e servirá como fallback caso o texto específico do idioma não seja personalizado via CSS.
- name [string]:Obrigatório. Deve ter comprimento maior que 0.
Observações Importantes:
- Se a carga do evento não atender a todos os requisitos, a Opção de Pagamento Personalizada não será registrada, e a opção Transferência Bancária continuará sendo exibida.
- Após salvar as alterações no PMS da Cloudbeds, abra o Motor de Reservas e teste o fluxo de finalização da compra.
- O processador de pagamento personalizado deve aparecer como uma opção de pagamento durante a etapa de pagamento.
- Se o Motor de Reservas hospedado abrir a etapa de pagamento em uma janela, a opção de pagamento personalizada ainda deve ser registrada através do EventSystem do Motor de Reservas.
- Você pode especificar textos baseados no idioma para as etiquetas:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-name"]::before {
content: "Seu texto específico para o idioma da etiqueta vai aqui.";
}
- Instruções também podem ser configuradas com base no idioma:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-instructions"]::before {
content: "Seu texto específico para o idioma das instruções vai aqui.";
}
- E você também pode adicionar um logotipo/ícone personalizado:
// Para ocultar o ícone SVG padrão
[data-id="%PAYMENT_OPTION_ID%-icon"] svg {
display: none;
}
// Para personalizar o ícone definindo-o como uma imagem de fundo
[data-id="%PAYMENT_OPTION_ID%-icon"] {
background-image: url(PAYMENT_OPTION_ICON_URL);
background-size: cover;
background-position: center;
width: 40px;
height: 40px;
}
- Neste ponto, você adicionou e personalizou a opção de pagamento para usar a Opção de Pagamento Personalizada. Quando um hóspede fizer uma reserva usando a Opção de Pagamento Personalizada, a reserva será criada no PMS da Cloudbeds com uma forma de pagamento e-banking, e nenhum pagamento será coletado pela Cloudbeds.
- Usando o EventSystem, você pode escutar o evento reservation-createdpara obter os dados sobre a reserva criada e redirecionar o usuário para o processador de pagamentos para completar o pagamento (para integrações com processadores de pagamentos de terceiros).
eventSystem.addEventListener('reservation-created', (data) = {
// Seu código para executar após a criação da reserva...
})
Use o EventSystem do Motor de Reservas para registrar a opção de pagamento personalizada e monitorar a criação da reserva. Evite depender apenas de monitores de clique específicos da página, cliques em botões de acordeão ou seletores de interface para determinar se a opção de pagamento personalizada foi selecionada.
- Os dados expostos pelo evento reservation-created têm a seguinte estrutura:
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;
};
Resolução de problemas no comportamento do processador de pagamentos personalizado
Verifique o seguinte:
- Confirme que a opção Transferência Bancária esteja habilitada no PMS da Cloudbeds.
- Confirme que o. código JavaScript personalizado foi adicionado na guia "Personalizar" do Motor de Reservas.
- Confirme que a carga do evento custom-payment-option-change inclui uma id e nome válidos.
- Confirme que a id não contém espaços, ponto e vírgula ou caracteres inválidos para seletor CSS.
- Confirme que apenas um processador de pagamentos personalizado está configurado.
Se a carga do evento não atender a todos os requisitos, a opção de pagamento personalizada não será registrada, e a opção Transferência Bancária continuará a ser exibida.
Verifique o seguinte:
- Confirme que o script personalizado escuta o evento reservation-created.
- Confirme que o script não depende apenas de monitores de clique específicos da página, cliques em botões de acordeão ou seletores da interface.
- Confirme que a URL do processador de pagamentos Terceiro e os parâmetros de redirecionamento são válidos.
A Cloudbeds pode confirmar o comportamento esperado do Motor de Reservas. Alterações no código JavaScript personalizado devem ser feitas pelo desenvolvedor web da propriedade, revendedor ou parceiro de integração.
Comentários
Por favor, entre para comentar.