Makseaken edastab teie lehele teavet oma tegevuse kohta. Tellige sündmused on() abil:
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Üks kuulaja sündmuse nime kohta
on() salvestab ühe tagasikutsefunktsiooni iga sündmuse nime kohta. Teise sama nimega tagasikutsefunktsiooni registreerimine asendab esimese – seda ei lisata esimesele juurde:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a is gone; only b runsoff() eemaldab kõik, mis on nime jaoks registreeritud. See eirab sellele edastatud tagasikutsefunktsiooni, seega off('checkout.closed', b) ja off('checkout.closed') teevad sama asja.
Kui teie lehe mitu osa peavad samale sündmusele reageerima, registreerige üks tagasikutsefunktsioon ja jagage teave selle sees edasi.
Mitme sündmuse tellimine korraga
Mõlemad meetodid aktsepteerivad tühikutega eraldatud stringi või nimede massiivi ning registreerivad sama tagasikutsefunktsiooni iga nime jaoks:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Andmekoormus
Iga tagasikutsefunktsioon saab ühe objekti:
| Väli | Tüüp | Kirjeldus |
|---|---|---|
name | string | Sündmuse nimi, mis on kasulik, kui üks tagasikutsefunktsioon käsitleb mitut sündmust. |
context | object | Sisaldab eventID – sündmust, mille juurde see makseaken kuulub. |
data | object | Sündmusepõhised üksikasjad. |
Saadaolevad sündmused
| Nimi | Millal see käivitatakse |
|---|---|
checkout.ready | Makseaken on laaditud ja sellega saab suhelda. Sel ajal edastab klient ka clientContext-i, mille andsite üle meetodile book(). |
checkout.closed | Makseaken on suletud. Klient eemaldab paneeli või akna ning puhastab tausta. |
checkout.consent | Külastaja vastas tingimuste teatele. data.consent on true, kui ta nõustus, ning klient jätab selle meelde, nii et järgmisel korral jäetakse see samm vahele. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Kuulajad säilivad üksikute broneeringute vahel
Kuulajad kuuluvad eksemplarile, mitte broneeringule. Registreerige need üks kord pärast kliendi loomist ning need rakenduvad igale book()-i kutsele. Kasutage payload.context.eventID-d, et broneeringuid eristada:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});destroy() kutsumine peatab need kõik – eksemplar lõpetab täielikult makseaknalt sõnumite kuulamise.
Muudest allikatest pärit sõnumeid eiratakse
Klient aktsepteerib ainult Entase makseakna päritolust tulevaid sõnumeid, seega ei jõua teie lehel olev sõltumatu postMessage-i liiklus kunagi teie tagasikutsefunktsioonideni.