Kassa avautuu yhdessä kahdesta tilasta.
Paneeli on sivullasi renderöitävä upotettu paneeli. Työpöydällä se liukuu sisään oikealta, ja sen enimmäisleveys on pane.width; mobiilissa se liukuu ylös alareunasta. Vierailija pysyy sivustollasi, ja paneeli sulkeutuu, kun hän painaa Escape-näppäintä tai napsauttaa himmennettyä aluetta.
Ponnahdusikkuna on erillinen selainikkuna, joka sijoitetaan vierailijan näytön keskelle. Asiakas seuraa, milloin ikkuna suljetaan, jotta se voi poistaa taustan.
Upotettu kassa edellyttää luotettua alkuperää
Paneelitila renderöi Entase-kassan iframe-kehyksessä verkkotunnuksellasi, joten se on sallittu vain verkkotunnuksissa, jotka olet nimenomaisesti valtuuttanut. Lisää jokainen kassan avaava verkkotunnus kohdassa Asetukset → Integraatiot olevaan Luotetut alkuperät -luetteloon – katso Integraatiot ja kassan mukauttaminen.
Sillä, sisältyykö www.-etuliite, on merkitystä. Jos et ole varma, kummassa muodossa sivustosi palvelee sisältöä, lisää molemmat.
Jos verkkotunnuksesi ei ole luettelossa, kassa toimii silti – se vain avautuu ponnahdusikkunana.
Miten 'auto' ratkaistaan
Oletusarvolla checkoutMode: 'auto' asiakas päättää tässä järjestyksessä:
- Ei HTTPS → ponnahdusikkuna. Upotettua kassaa ei koskaan käytetä suojaamattomalla sivulla.
localhosttai127.0.0.1→ paneeli, ja konsoliin kirjataan varoitus. Tämä helpottaa kehitystä, jotta voit rakentaa upotettua asettelua vasten; se ei kerro mitään siitä, onko tuotantoverkkotunnuksesi sallittu.- Muussa tapauksessa → asiakas kysyy Entaselta, saako tämä alkuperä käyttää upotettua kassaa, ja lähettää tilin tunnistamiseen
pk-arvon. Jos vastaus sisältää paneelin, tilaksi tulee paneeli.
Kunnes vastaus saapuu, tila on ponnahdusikkuna. Tämä toiminta todennäköisimmin yllättää sinut: tarkistus on asynkroninen, joten heti sivun latautuessa – ennen kuin vierailijalla on ollut mahdollisuutta napsauttaa mitään – tehty book()-kutsu voi silti avata ponnahdusikkunan täysin oikein määritetyllä verkkotunnuksella. Käytännössä todellinen napsautus tapahtuu aina pitkään sen jälkeen, kun tarkistus on valmistunut. Jos avaat kassan automaattisesti, pakota tila sen sijaan, että luottaisit tunnistukseen.
Tilan pakottaminen
Aseta checkoutMode nimenomaisesti ohittaaksesi tunnistuksen kokonaan:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', checkoutMode: 'popup' });Tai ohita se yksittäisessä varauksessa:
entase.book('EVENT_ID', { checkoutMode: 'popup' });'pane'-tilan pakottaminen verkkotunnuksella, joka ei ole luotettu alkuperä, ei myönnä käyttöoikeutta – paneeli avautuu, mutta sen sisällä oleva kassa ei voi kommunikoida sivusi kanssa. Käytä 'popup'-tilaa tietoisena valintana ja jätä 'auto' käyttöön, kun haluat upotetun kassan kaikkialla, missä se on sallittu.
Tunnistamaton arvo ohitetaan ja käsitellään arvona 'auto'.
Tilan lukeminen ja muuttaminen ajon aikana
entase.getCheckoutMode(); // 'pane' tai 'popup' – ei koskaan 'auto'
entase.setCheckoutMode('popup'); // koskee kaikkia myöhempiä book()-kutsujagetCheckoutMode() palauttaa ratkaistun tilan, joten se kertoo, mitä todella tapahtuu. Tilan asettaminen takaisin arvoon 'auto' suorittaa tunnistuksen uudelleen.
Ponnahdusikkunoiden estäjät
Selaimet sallivat window.open()-kutsun vain käyttäjän eleen aikana. Kutsu book() suoraan napsautuskäsittelijän sisällä – älä await-, fetch- tai setTimeout-kutsun jälkeen, sillä silloin ele on jo vanhentunut ja ponnahdusikkuna estetään.
// Estetty: ele on poissa, kun book() suoritetaan.
button.addEventListener('click', async () => {
const event = await fetch('/api/current-event').then(r => r.json());
entase.book(event.id);
});
// Toimii: selvitä tunniste ensin, avaa napsautuksella.
button.addEventListener('click', () => entase.book(button.dataset.eventId));Tämä koskee vain ponnahdusikkunatilaa. Paneelitila luo elementin sivulle eikä siihen sovelleta tätä rajoitusta.