Utsjekkingen rapporterer tilbake til siden din hva den gjør. Abonner med on():
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Én lytter per hendelsesnavn
on() lagrer ett tilbakekall per hendelsesnavn. Hvis du registrerer et nytt tilbakekall med samme navn, erstatter det det første – det legges ikke til:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a er borte; bare b kjøresoff() fjerner det som er registrert for et navn. Den ignorerer eventuelle tilbakekall du sender inn, så off('checkout.closed', b) og off('checkout.closed') gjør det samme.
Hvis flere deler av siden din må reagere på samme hendelse, registrerer du ett tilbakekall og distribuerer videre fra innsiden av det.
Abonnere på flere hendelser samtidig
Begge metodene godtar en streng med navn atskilt av mellomrom eller en matrise med navn, og registrerer det samme tilbakekallet for hvert av dem:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Nyttelasten
Hvert tilbakekall mottar ett objekt:
| Felt | Type | Beskrivelse |
|---|---|---|
name | string | Hendelsesnavnet, nyttig når ett tilbakekall håndterer flere. |
context | object | Inneholder eventID – arrangementet denne utsjekkingen tilhører. |
data | object | Hendelsesspesifikke detaljer. |
Tilgjengelige hendelser
| Navn | Når den utløses |
|---|---|
checkout.ready | Utsjekkingen er lastet inn og klar til å samhandle med. Dette er også når klienten overleverer clientContext som du sendte til book(). |
checkout.closed | Utsjekkingen er lukket. Klienten rydder bort panelet eller vinduet og fjerner bakteppet. |
checkout.consent | Den besøkende svarte på varselet om vilkår. data.consent er true når de godtok, og klienten husker dette slik at trinnet hoppes over neste gang. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Lyttere overlever enkeltbestillinger
Lyttere tilhører instansen, ikke en bestilling. Registrer dem én gang, etter at du har opprettet klienten, så gjelder de for hvert book()-kall. Bruk payload.context.eventID for å skille bestillinger fra hverandre:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});Hvis du kaller destroy(), stopper alle – instansen slutter helt å lytte etter meldinger fra utsjekkingen.
Meldinger fra andre kilder ignoreres
Klienten godtar bare meldinger fra Entase-utsjekkingens opphav, så ikke-relatert postMessage-trafikk på siden din vil aldri nå tilbakekallene dine.