Genel Bakış
Cloudbeds Rezervasyon Motoru Plus artık özel ödeme ağ geçidi entegrasyonuna veya hediye kartı ödemelerini desteklemeye olanak tanıyor, böylece ödeme seçeneklerini yönetmede daha fazla esneklik sağlıyor.
Diğer özellikler şunlardır:
- Banka havalesi seçeneği kullanılarak özel ödeme ağ geçidi entegrasyonu
- Özel misafir alanlarıyla hediye kartı desteği
Önemli Bilgiler
- Tesislerin, Cloudbeds PMS üzerinde banka havalesi seçeneğini etkinleştirmeleri gerekir ki Rezervasyon Motoru Plus için özel ödeme ağ geçidi ekleyebilsinler.
- Rezervasyon Motoruna özel ödeme ağ geçidini bildiren bir etkinliği tetiklemek için özel bir JavaScript gereklidir.
- Sadece bir (1) özel ödeme ağ geçidi entegre edilebilir, yani tesisler hem banka havalesi hem de özel ödeme ağ geçidini aynı anda sunamazlar.
- Hediye Kartı desteği için, hediye kartı numaralarının girilebilmesi adına özel bir misafir alanı eklenmelidir.
- Aşağıdaki talimatlar yalnızca Rezervasyon Motoru Plus için geçerlidir. Cloudbeds Rezervasyon Motorunun eski sürümünü kullanan tesisler bu talimatları takip etmelidir.
🚩Başlamadan Önce
- Not: Burada verilen adımlar, HTML ve CSS konusunda zaten deneyimli olanlar için ek bir bilgi kaynağıdır; sadece deneyimli web geliştiricilere önerilir.
- Kod zamanla güncelliğini yitirebilir ve ek çalışmalar gerekebilir.
- Cloudbeds, grup rezervasyon bileşeni oluşturma, rezervasyon motoru özelleştirmesi veya otel web sitesi tasarımı/geliştirmesi konusunda destek sunmamaktadır.
- Henüz bir web siten yoksa, bu makaleye göz atabilirsin.
- Zaten bir web siten varsa, rezervasyon motorumuzu kurmak için web tasarımcın veya geliştiricinle iletişime geçmeni öneririz.
- Özel bir ödeme seçeneği eklemek için, tesislerin Rezervasyon Motorunun sunduğu EventSystemi kullanacak özel bir JavaScripte sahip olmaları gerekir.
Cloudbeds Rezervasyon Motoru'na Üçüncü Taraf Ödeme Ağ Geçitleri ve Hediye Kartları Ekleme
-
Hesap Menüsü
içindeki Ayarlar sayfasına
git ve Rezervasyon Motoru bölümüne tıkla
- Özelleştir seçeneğine tıkla
- JavaScript alanına aşağıdaki kodu ekle; bu kod, Rezervasyon Motoru hazır olduğunda tetiklenen ve dinlenen on-booking-engine-ready etkinliğine abone olur ve EventSystem kullanarak özel ödeme seçeneğinin kullanımını Rezervasyon Motoruna bildirir
- Kaydet butonuna tıkla
<script>
window.addEventListener('on-booking-engine-ready', (e) => {
const { eventSystem } = e.detail;
eventSystem.dispatchEvent("custom-payment-option-change", {
id: "%PAYMENT_OPTION_ID%",
instructions: "Talimatlar için varsayılan metniniz buraya gelecek.",
name: "Etiket için varsayılan metniniz buraya gelecek.",
});
});
</script>
-
eventSystem.dispatch() fonksiyonunu kullanarak custom-payment-option-change etkinliğini aşağıdaki veri yükü ile tetikle:
-
id [string] 0'dan büyük uzunlukta ve CSS id olarak geçerli (boşluk, noktalı virgül vb. olmamalı) olmalıdır. Önerilen id formatı: kebab-case. %PAYMENT_OPTION_ID% değerini, özel ödeme ağ geçidiniz için kullanmak istediğiniz id ile değiştir. Bu id, kullanıcı arayüzünü özelleştirmek için CSS seçicilerinde kullanılacak.
-
instructions [string] isteğe bağlıdır - kullanıcı özel ödeme seçeneğine tıkladığında gösterilecek talimatlar veya açıklama (akordeon şeklinde genişler). Tesis bu metni göstermek isterse bu değer tanımlanmalıdır ve belirli diller için CSS ile özelleştirilmezse yedek olarak kullanılır.
-
name [string] 0'dan büyük uzunlukta olmalıdır.
-
-
Önemli:
-
Etkinlik veri yükü tüm gereksinimleri karşılamazsa, Özel Ödeme Seçeneği kayıt edilmeyecek ve Banka Havalesi seçeneği gösterilmeye devam edecektir.
-
Cloudbeds PMS'de değişiklikleri kaydet ve Rezervasyon Motoruna eriş. Ödeme sayfasında, özel ödeme ağ geçidin varsayılan kart simgesi ile ödeme seçeneği olarak görünecektir.
-
Özel Ödeme seçeneğinin görünümünü özelleştirmek için Cloudbeds PMS'de özel meta etiketleri ekleyerek özel CSS ekleyebilirsin.
-
- Etiketler için dil bazlı metinler belirtebilirsin:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-name"]::before {
content: "Etiket için diline özel metnin buraya gelecek.";
}
- Talimatlar da dil bazlı olarak yapılandırılabilir:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-instructions"]::before {
content: "Talimatlar için diline özel metnin buraya gelecek.";
}
- Ayrıca bir özel logo/simge de ekleyebilirsin:
// Varsayılan SVG simgesini gizlemek için
[data-id="%PAYMENT_OPTION_ID%-icon"] svg {
display: none;
}
// Simgeyi arka plan resmi olarak ayarlayarak özelleştirmek için
[data-id="%PAYMENT_OPTION_ID%-icon"] {
background-image: url(PAYMENT_OPTION_ICON_URL);
background-size: cover;
background-position: center;
width: 40px;
height: 40px;
}
- Bu noktada, ödeme seçeneğini ekledin ve özelleştirdin. Misafir, Özel Ödeme Seçeneği ile rezervasyon yaptığında, rezervasyon Cloudbeds PMS üzerinde e-banking ödeme yöntemi ile oluşturulacak ve biz herhangi bir ödeme tahsil etmeyeceğiz.
- EventSystem kullanarak, oluşturulan rezervasyonla ilgili verileri almak ve kullanıcıyı ödeme işlemini tamamlaması için ödeme ağ geçidine yönlendirmek amacıyla reservation-created etkinliğini dinleyebilirsin (üçüncü taraf ödeme ağ geçidi entegrasyonları için).
eventSystem.addEventListener('reservation-created', (data) => {
// Rezervasyon oluşturulduktan sonra çalışacak kodun buraya...
})
- reservation-created etkinliği tarafından açığa çıkarılan veri şu şekildedir:
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:="adults:" number;="number;" amount:="amount:" bookedid:="bookedId:" string[];="string[];" kids:="kids:" name:="name:" string;="string;" packageid?:="packageId?:" packagename?:="packageName?:" picture?:="picture?:" price?:="price?:" rateid:="rateId:" roomid:="roomId:" unit?:="unit?:" }="}">;
state?: string;
total_tax?: number;
widget_property?: number;
};</string,>
Yorumlar
Yorum yazmak için lütfen oturum açın: oturum aç.