Ödeme sayfası, ne yaptığını sayfanıza bildirir. on() ile abone olun:
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Etkinlik adı başına tek dinleyici
on(), etkinlik adı başına bir geri çağırma işlevi depolar. Aynı ad için ikinci bir geri çağırma işlevi kaydetmek ilkini değiştirir – ona eklenmez:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a is gone; only b runsoff(), bir ad için kaydedilmiş olan her şeyi kaldırır. Kendisine ilettiğiniz geri çağırma işlevini yok sayar; dolayısıyla off('checkout.closed', b) ve off('checkout.closed') aynı işlemi yapar.
Sayfanızın birden fazla bölümü aynı etkinliğe tepki vermek zorundaysa, tek bir geri çağırma işlevi kaydedin ve bunun içinden dağıtın.
Aynı anda birden fazla etkinliğe abone olma
Her iki yöntem de boşlukla ayrılmış bir dizeyi veya ad dizisini kabul eder ve aynı geri çağırma işlevini her biri için kaydeder:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Yük
Her geri çağırma işlevi bir nesne alır:
| Alan | Tür | Açıklama |
|---|---|---|
name | string | Etkinlik adı; tek bir geri çağırma işlevi birden fazlasını işlediğinde kullanışlıdır. |
context | object | eventID içerir – bu ödeme sayfasının ait olduğu etkinlik. |
data | object | Etkinliğe özgü ayrıntı. |
Kullanılabilir etkinlikler
| Ad | Ne zaman tetiklenir |
|---|---|
checkout.ready | Ödeme sayfası yüklendi ve etkileşime hazır. Bu aynı zamanda istemcinin book() işlevine ilettiğiniz clientContext değerini devraldığı andır. |
checkout.closed | Ödeme sayfası kapandı. İstemci paneli veya pencereyi kaldırır ve arka plan katmanını temizler. |
checkout.consent | Ziyaretçi koşullar bildirimini yanıtladı. Kabul ettiklerinde data.consent değeri true olur ve istemci bunu hatırlar; böylece bu adım bir sonraki sefer atlanır. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Dinleyiciler tek tek rezervasyonlardan sonra da kalır
Dinleyiciler bir rezervasyona değil, örneğe aittir. Bunları istemciyi oluşturduktan sonra bir kez kaydedin; her book() çağrısına uygulanırlar. Rezervasyonları birbirinden ayırmak için payload.context.eventID kullanın:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});destroy() çağrısı bunların tümünü durdurur – örnek, ödeme sayfasından gelen iletileri tamamen dinlemeyi bırakır.
Diğer kaynaklardan gelen iletiler yok sayılır
İstemci yalnızca Entase ödeme sayfası kaynağından gelen iletileri kabul eder; bu nedenle sayfanızdaki ilgisiz postMessage trafiği geri çağırma işlevlerinize asla ulaşmaz.