Atsiskaitymo langas informuoja jūsų puslapį apie savo veiksmus. Užsiprenumeruokite naudodami on():
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Vienas klausytojas vienam įvykio pavadinimui
on() išsaugo vieną atgalinio iškvietimo funkciją kiekvienam įvykio pavadinimui. Užregistravus antrą atgalinio iškvietimo funkciją tam pačiam pavadinimui, pirmoji pakeičiama – ji nepridedama prie esamos:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a pašalinama; vykdoma tik boff() pašalina viską, kas užregistruota konkrečiam pavadinimui. Ji nepaiso jokios jai perduotos atgalinio iškvietimo funkcijos, todėl off('checkout.closed', b) ir off('checkout.closed') atlieka tą patį veiksmą.
Jei kelios jūsų puslapio dalys turi reaguoti į tą patį įvykį, užregistruokite vieną atgalinio iškvietimo funkciją ir joje paskirstykite veiksmus.
Kelių įvykių prenumeravimas vienu metu
Abu metodai priima tarpais atskirtų pavadinimų eilutę arba pavadinimų masyvą ir kiekvienam jų užregistruoja tą pačią atgalinio iškvietimo funkciją:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Duomenų objektas
Kiekviena atgalinio iškvietimo funkcija gauna vieną objektą:
| Laukas | Tipas | Aprašymas |
|---|---|---|
name | string | Įvykio pavadinimas, naudingas, kai viena atgalinio iškvietimo funkcija apdoroja kelis įvykius. |
context | object | Yra eventID – įvykis, kuriam priklauso šis atsiskaitymo langas. |
data | object | Su įvykiu susijusi išsami informacija. |
Galimi įvykiai
| Pavadinimas | Kada suveikia |
|---|---|
checkout.ready | Atsiskaitymo langas įkeltas ir paruoštas sąveikai. Tuo metu klientas taip pat perduoda clientContext, kurį perdavėte į book(). |
checkout.closed | Atsiskaitymo langas uždarytas. Klientas pašalina skydelį arba langą ir foninį uždangalą. |
checkout.consent | Lankytojas atsakė į pranešimą apie sąlygas. data.consent yra true, kai jis sutiko, o klientas tai įsimena, todėl kitą kartą šis žingsnis praleidžiamas. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Klaustytojai išlieka per atskirus užsakymus
Klaustytojai priklauso egzemplioriui, o ne užsakymui. Užregistruokite juos vieną kartą, sukūrę klientą, ir jie bus taikomi kiekvienam book() iškvietimui. Norėdami atskirti užsakymus, naudokite payload.context.eventID:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});Iškvietus destroy(), visų jų veikimas sustabdomas – egzempliorius visiškai nustoja klausytis pranešimų iš atsiskaitymo lango.
Kitų šaltinių pranešimai ignoruojami
Klientas priima tik pranešimus iš Entase atsiskaitymo lango šaltinio, todėl nesusijęs postMessage srautas jūsų puslapyje niekada nepasieks jūsų atgalinio iškvietimo funkcijų.