Naplata se otvara u jednom od dva načina.
Panel je ugrađeni panel prikazan unutar vaše stranice. Na stolnim računalima uvlači se s desne strane, ograničen na pane.width; na mobilnim uređajima uvlači se odozdo. Posjetitelj ostaje na vašoj web-lokaciji, a panel se zatvara kada pritisne Escape ili klikne zatamnjeno područje.
Skočni prozor zaseban je prozor preglednika, centriran na zaslonu posjetitelja. Klijent prati zatvaranje prozora kako bi mogao ukloniti pozadinu.
Ugrađena naplata zahtijeva pouzdano ishodište
Način rada panela prikazuje Entase naplatu u iframeu na vašoj domeni, stoga je dopušten samo za domene koje ste izričito ovlastili. Dodajte svaku domenu koja otvara naplatu u Pouzdana ishodišta u Postavke → Integracije – pogledajte Integracije i prilagodba naplate.
Važno je je li uključen prefiks www.. Ako niste sigurni koji oblik poslužuje vaša web-lokacija, dodajte oba.
Ako vaša domena nije na popisu, naplata i dalje radi – jednostavno se otvara kao skočni prozor.
Kako se razrješava 'auto'
Uz zadanu vrijednost checkoutMode: 'auto', klijent odlučuje ovim redoslijedom:
- Nije HTTPS → skočni prozor. Ugrađena naplata nikad se ne koristi na nesigurnoj stranici.
localhostili127.0.0.1→ panel, uz upozorenje zapisano u konzolu. To je pogodnost za razvoj kako biste mogli graditi s ugrađenim rasporedom; ne govori ništa o tome je li vaša produkcijska domena dopuštena.- U suprotnom → klijent pita Entase smije li ovo ishodište koristiti ugrađenu naplatu, šaljući
pkza identifikaciju računa. Ako odgovor uključuje panel, način postaje panel.
Dok taj odgovor ne stigne, način je skočni prozor. To je ponašanje koje će vas najvjerojatnije iznenaditi: provjera je asinkrona, pa poziv book() pokrenut odmah pri učitavanju stranice – prije nego što je posjetitelj imao priliku bilo što kliknuti – i dalje može otvoriti skočni prozor na savršeno konfiguriranoj domeni. U praksi stvarni klik uvijek stiže dugo nakon završetka provjere. Ako naplatu otvarate automatski, nametnite način umjesto da se oslanjate na otkrivanje.
Nametanje načina rada
Izričito postavite checkoutMode kako biste u potpunosti preskočili otkrivanje:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', checkoutMode: 'popup' });Ili ga nadjačajte za jednu rezervaciju:
entase.book('EVENT_ID', { checkoutMode: 'popup' });Nametanje načina 'pane' na domeni koja nije pouzdano ishodište ne daje dopuštenje – panel se otvara, ali naplata unutar njega ne može komunicirati s vašom stranicom. Upotrijebite 'popup' kao svjestan odabir, a 'auto' ostavite kada želite ugrađenu naplatu svugdje gdje je dopuštena.
Neprepoznata vrijednost zanemaruje se i tretira kao 'auto'.
Čitanje i promjena načina rada tijekom izvođenja
entase.getCheckoutMode(); // 'pane' ili 'popup' – nikad 'auto'
entase.setCheckoutMode('popup'); // primjenjuje se na svaki kasniji poziv book()getCheckoutMode() vraća razriješeni način rada, pa prikazuje što će se zapravo dogoditi. Ponovno postavljanje načina na 'auto' ponovno pokreće otkrivanje.
Blokatori skočnih prozora
Preglednici dopuštaju window.open() samo tijekom korisničke geste. Pozovite book() izravno unutar obrađivača klika – ne nakon await, fetch ili setTimeout, kada je gesta već istekla i skočni prozor je blokiran.
// Blokirano: geste više nema kada se pokrene book().
button.addEventListener('click', async () => {
const event = await fetch('/api/current-event').then(r => r.json());
entase.book(event.id);
});
// U redu: prvo razriješite id, otvorite pri kliku.
button.addEventListener('click', () => entase.book(button.dataset.eventId));To utječe samo na način rada skočnog prozora. Način rada panela stvara element na stranici i ne podliježe tome.