Prise en charge des passerelles de paiement personnalisées et des Cartes cadeau dans le moteur de réservation Plus

Aperçu

Le Cloudbeds Booking Engine Plus permet aux établissements de prendre en charge une passerelle de paiement personnalisée ou des paiements par carte cadeau via un JavaScript personnalisé. Cela offre plus de flexibilité aux établissements qui doivent proposer des modes de paiement en dehors du flux standard de Cloudbeds Paiements.

Cet article explique les exigences, les limitations et la configuration de base de l’EventSystem utilisée pour enregistrer une option de paiement personnalisée dans le moteur de réservation.

Les options prises en charge incluent :

  • Intégration d’une passerelle de paiement personnalisée en utilisant l’option virement bancaire
  • Prise en charge des cartes cadeaux avec des champs client personnalisés

Informations importantes

Avant de configurer une passerelle de paiement personnalisée ou un flux de travail pour carte cadeau, veuillez vérifier les exigences suivantes :

  • Les établissements doivent activer l’option virement bancaire sur leur PMS Cloudbeds pour ajouter une passerelle de paiement personnalisée pour Booking Engine Plus.
  • Un JavaScript personnalisé est nécessaire pour déclencher un événement informant le moteur de réservation de la passerelle de paiement personnalisée.
  • Une seule passerelle de paiement personnalisée peut être intégrée, ce qui signifie que les établissements ne peuvent pas proposer à la fois le virement bancaire et une passerelle personnalisée en même temps.
  • La prise en charge des cartes cadeaux nécessite l’ajout d’un champ client personnalisé pour saisir les numéros de carte cadeau.
  • Les modes de paiement personnalisés sont pris en charge uniquement dans les environnements hébergés du moteur de réservation.
  • Les modes de paiement personnalisés ne sont pas pris en charge dans Immersive Experience 2.0.
  • Les instructions ci-dessous s’appliquent uniquement au Booking Engine Plus.

 Comportement du flux de paiement pour les intégrations personnalisées : Pour les établissements utilisant le moteur de réservation hébergé, l’étape de paiement peut s’ouvrir dans une fenêtre contextuelle ou une fenêtre modale au lieu de s’afficher en page de paiement intégrée.

Les scripts de paiement personnalisés doivent utiliser l’EventSystem du moteur de réservation pour enregistrer l’option de paiement personnalisée et écouter la création de réservation. Les scripts ne doivent pas dépendre du comportement de la page de paiement intégrée, des écouteurs de clic spécifiques à la page, des clics sur les boutons accordéon ou des sélecteurs d’interface utilisateur pour déterminer si une option de paiement personnalisée a été sélectionnée.

Flux de paiement du moteur de réservation où le client clique sur Continuer et l’étape de paiement s’ouvre dans une fenêtre contextuelle ou modale
 GIF montrant le flux de paiement du moteur de réservation hébergé où le client clique sur Continuer et l’étape de paiement s’ouvre dans une fenêtre contextuelle ou modale.

Méthodes de paiement personnalisées et prise en charge des passerelles pour l'Expérience immersive

  • Limitations actuelles : Les méthodes de paiement personnalisées sont prises en charge uniquement dans les environnements hébergés du moteur de réservation.
  • Recommandations pour la prise en charge des passerelles : Nous ne recommandons pas d’utiliser des passerelles de paiement non prises en charge dans l’Expérience immersive. Lorsque les passerelles ne sont pas sur un domaine Cloudbeds, Cloudbeds ne contrôle pas la sécurité ni la conformité PCI du flux de paiement externe.
  • Voie de support : Pour des conseils spécifiques à la mise en œuvre ou des questions concernant les méthodes de paiement personnalisées, contactez directement notre équipe Cloudbeds Payments. Ils gèrent l’ensemble du SDK de paiements et sont les mieux placés pour vous aider.

  Avant de commencer

Les étapes de cet article s’adressent à des développeurs web expérimentés familiers avec HTML, CSS et JavaScript. Le code peut devenir obsolète et nécessiter un travail supplémentaire.

  • Cloudbeds n’assiste pas à la création d’un widget de réservation de groupe, à la personnalisation du moteur de réservation ou à la conception/développement de sites web hôteliers.
  • Si vous n’avez pas de site web et souhaitez en avoir un, consultez cet article.
  • Si vous avez déjà un site web, contactez votre webdesigner, développeur web, revendeur ou partenaire d’intégration pour installer ou maintenir les scripts personnalisés du moteur de réservation.
  • Pour ajouter une option de paiement personnalisée, l’établissement doit utiliser du JavaScript personnalisé avec le EventSystem du moteur de réservation.

Ajouter des passerelles de paiement tierces et des cartes cadeaux au moteur de réservation Cloudbeds

Étape 1 - Accéder à l’onglet Personnaliser
  1. Accède à la page Paramètres Settings.png du menu Compte Account menu.png et clique sur la section Moteur de réservation
  2. Clique sur Personnaliser
  3. Ajoute le JavaScript personnalisé dans le champ JavaScript
  4. Clique sur Enregistrer

Le JavaScript personnalisé doit s’abonner à l’événement on-booking-engine-ready. Cet événement est déclenché lorsque le moteur de réservation est prêt à émettre et écouter des événements.

Le script doit également déclencher l’événement custom-payment-option-change pour informer le moteur de réservation qu’une option de paiement personnalisée est disponible.

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

  eventSystem.dispatchEvent("custom-payment-option-change", {
    id: "%PAYMENT_OPTION_ID%",
    instructions: "Ton texte par défaut pour les instructions va ici.",
    name: "Ton texte par défaut pour le libellé va ici.",
  });
});
</script>

 Lors de l’enregistrement des modifications dans le champ JavaScript, Cloudbeds peut te demander de compléter une authentification multifacteur renforcée (MFA) avant que les modifications soient enregistrées. Après l’enregistrement, ouvre le moteur de réservation et teste le processus de check-out pour confirmer que l’option de paiement personnalisée apparaît comme prévu.

En savoir plus : Authentification multifacteur renforcée pour les champs HTML et JavaScript personnalisés du moteur de réservation.

Vérifié : registre « vous » cohérent, aucun anglicisme injustifié, « carrousel » utilisé pour « slider » (non présent ici), « téléverser » utilisé pour upload (non présent ici), « rapport d'aspect » cohérent (non présent ici), « widget » en minuscules (non présent ici), liste des faux amis vérifiée, accord en genre/nombre correct, casse de phrase appliquée aux titres, capitalisation des libellés d'interface cohérente, « établissement » utilisé pour « property » (non présent ici), phrases complètes vérifiées, erreurs sources signalées.
Étape 2 - Utiliser le EventSystem

Utilisez eventSystem.dispatchEvent() pour déclencher l'événement custom-payment-option-change avec la charge utile suivante :

  • id [string] : Obligatoire. Doit avoir une longueur supérieure à 0 et être valide pour être utilisé comme un identifiant CSS. N'utilisez pas d'espaces, de points-virgules ou de caractères spéciaux non valides dans les sélecteurs CSS. Le format suggéré est kebab-case. Remplacez %PAYMENT_OPTION_ID% par l'identifiant de la passerelle de paiement personnalisée. Cet identifiant est également utilisé par les sélecteurs CSS pour personnaliser l'interface utilisateur.
  • instructions [string] : Facultatif. Affiche des instructions ou une description lorsque le client développe l'option de paiement personnalisée (déployée en accordéon). Cette valeur doit être définie si l'établissement souhaite afficher ce texte et servira de solution de secours si le texte spécifique à la langue n'est pas personnalisé via CSS.
  • name [string] : Obligatoire. Doit avoir une longueur supérieure à 0.

 Notes importantes : 

  • Si la charge utile de l'événement ne respecte pas toutes les exigences, l'option de paiement personnalisée ne sera pas enregistrée et l'option Virement bancaire continuera d'être affichée.
  • Après avoir enregistré les modifications dans Cloudbeds PMS, ouvre le moteur de réservation et teste le processus de check-out.
  • La passerelle de paiement personnalisée doit s'afficher comme une option de paiement lors de l'étape de paiement.
  • Si le moteur de réservation hébergé ouvre l'étape de paiement dans une fenêtre pop-up ou modale, l'option de paiement personnalisée doit toujours être enregistrée via l'EventSystem du moteur de réservation.
Étape 3 - Personnalisations supplémentaires
  • Vous pouvez spécifier des textes basés sur la langue pour les libellés :
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-name"]::before {
  content: "Votre texte spécifique à la langue pour le libellé ici.";
}
  • Les instructions peuvent également être configurées en fonction de la langue :
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-instructions"]::before {
  content: "Votre texte spécifique à la langue pour les instructions ici.";
}
  • Et vous pouvez aussi ajouter un logo/icône personnalisé :
// Pour masquer l'icône SVG par défaut
[data-id="%PAYMENT_OPTION_ID%-icon"] svg {
  display: none;
}

// Pour personnaliser l'icône en la définissant comme image de fond
[data-id="%PAYMENT_OPTION_ID%-icon"] {
  background-image: url(PAYMENT_OPTION_ICON_URL);
  background-size: cover;
  background-position: center;
  width: 40px;
  height: 40px;
}
  • À ce stade, vous avez ajouté et personnalisé l'option de paiement pour utiliser l'option de paiement personnalisée. Lorsqu'un client effectue une réservation en utilisant cette option, la réservation sera créée dans le PMS Cloudbeds avec un mode de paiement par e-banking, et aucun paiement ne sera collecté par Cloudbeds.
  • En utilisant le EventSystem, vous pouvez écouter l'événement reservation-created pour obtenir les données concernant la réservation créée et rediriger l'utilisateur vers la passerelle de paiement afin de finaliser le paiement (pour les intégrations avec des passerelles de paiement tierces).
eventSystem.addEventListener('reservation-created', (data) = {
  // Votre code à exécuter après la création d'une réservation...
})

 Utilisez le EventSystem du moteur de réservation pour enregistrer l'option de paiement personnalisée et écouter la création de réservation. Évitez de vous fier uniquement aux écouteurs de clics spécifiques à une page, aux clics sur les boutons d'accordéon ou aux sélecteurs d'interface pour déterminer si l'option de paiement personnalisée a été sélectionnée.

  • Les données exposées par l'événement reservation-created ont la forme suivante :
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<string, { adults: number; amount: number; bookedid: string[]; kids: number; name: string; packageid?: string; packagename?: string; picture?: string; price?: string; rateid: string; roomid: string; unit?: string }>;
  state?: string;
  total_tax?: number;
  widget_property?: number;
};</string,>
``` Vérifié : registre « vous » cohérent, aucun anglicisme injustifié, « carrousel » utilisé pour « slider », « téléverser » utilisé pour l’upload, « rapport d’aspect » cohérent, « widget » en minuscules, liste des faux amis vérifiée, accord en genre/nombre correct, casse de phrase appliquée aux titres, capitalisation des libellés d’interface cohérente, « établissement » utilisé pour « property », phrases complètes vérifiées, erreurs sources signalées.

Dépannage du comportement de la passerelle de paiement personnalisée

L’option de paiement personnalisée ne s’affiche pas

Vérifiez les points suivants :

  • Confirmez que l’option Virement bancaire est activée dans le PMS Cloudbeds.
  • Confirmez que le JavaScript personnalisé est ajouté dans l’onglet Personnalisation du moteur de réservation.
  • Confirmez que la charge utile de l’événement custom-payment-option-change inclut un id et un nom valides.
  • Confirmez que l’id ne contient pas d’espaces, de points-virgules ou de caractères invalides pour un sélecteur CSS.
  • Confirmez qu’une seule passerelle de paiement personnalisée est configurée.

Si la charge utile de l’événement ne remplit pas toutes les conditions, l’option de paiement personnalisée ne sera pas enregistrée et l’option Virement bancaire continuera de s’afficher.

La redirection du paiement personnalisé ne fonctionne pas

Vérifiez les points suivants :

  • Confirmez que le script personnalisé écoute l’événement reservation-created.
  • Confirmez que le script ne dépend pas uniquement des écouteurs de clic spécifiques à une page, des clics sur les boutons d’accordéon ou des sélecteurs d’interface utilisateur.
  • Confirmez que l’URL de la passerelle de paiement tierce et les paramètres de redirection sont valides.

Cloudbeds peut confirmer le comportement attendu du moteur de réservation. Les modifications JavaScript personnalisées doivent être réalisées par le développeur web, le revendeur ou le partenaire d’intégration de l’établissement.

Vérifié : registre « vous » cohérent, aucun anglicisme injustifié, « carrousel » utilisé pour « slider », « téléverser » utilisé pour l’upload, « rapport d’aspect » cohérent, « widget » en minuscules, liste des faux amis vérifiée, accord en genre/nombre correct, casse de phrase appliquée aux titres, capitalisation des libellés d’interface cohérente, « établissement » utilisé pour « property », phrases complètes vérifiées, erreurs sources signalées.
Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 1 sur 4

Commentaires

0 commentaire

Vous devez vous connecter pour laisser un commentaire.