De Checkout geet an engem vun zwou Modi op.
Pane ass en inline Panel, deen an Ärer Säit gerendert gëtt. Um Desktop rutscht en vu riets eran, begrenzt op pane.width; um Handy rutscht en vun ënnen erop. De Visiteur bleift op Ärem Site, an de Panel geet zou, wann hien Escape dréckt oder op dat ofgedäischtert Gebitt klickt.
Popup ass eng separat Browserfënster, déi am Zentrum vum Écran vum Visiteur ugewise gëtt. De Client iwwerwaacht, ob d'Fënster zougemaach gëtt, fir den Hannergrond ewechzehuelen.
Inline-Checkout erfuerdert eng vertrauenswierdeg Origin
De Pane-Modus rendert den Entase-Checkout an engem iframe op Ärer Domain, dofir ass en nëmme fir Domainen erlaabt, déi Dir explizitt autoriséiert hutt. Füügt all Domain, déi de Checkout opmécht, bei Vertrauenswierdeg Originnen an den Astellungen → Integratiounen derbäi – kuckt Integratiounen an Checkout-Adaptatioun.
Ob de Präfix www. dobäi ass, ass wichteg. Wann Dir net sécher sidd, wéi eng Form Äre Site benotzt, füügt béid derbäi.
Wann Är Domain net an der Lëscht steet, funktionéiert de Checkout trotzdem – en geet einfach als Pop-up-Fënster op.
Wéi 'auto' opgeléist gëtt
Mat dem Standard checkoutMode: 'auto' decidéiert de Client an dëser Reiefolleg:
- Net HTTPS → Pop-up. Inline-Checkout gëtt ni op enger onsécherer Säit benotzt.
localhostoder127.0.0.1→ Pane, mat enger Warnung, déi an der Konsole protokolléiert gëtt. Dëst ass eng Erliichterung fir d'Entwécklung, fir datt Dir mam inline Layout entwéckele kënnt; et seet näischt doriwwer aus, ob Är Produktiouns-Domain erlaabt ass.- Soss → de Client freet Entase, ob dës Origin den inline Checkout benotze kann, a schéckt
pk, fir de Kont z'identifizéieren. Wann d'Äntwert Pane enthält, gëtt de Modus Pane.
Bis dës Äntwert ukënnt, ass de Modus Popup. Dat ass dat Verhalen, dat Iech am warscheinlechsten iwwerrascht: d'Iwwerpréiwung ass asynchron, dofir kann en book()-Opruff, deen direkt beim Luede vun der Säit ausgeléist gëtt – ier de Visiteur d'Chance hat, op eppes ze klicken – nach ëmmer e Pop-up op enger perfekt konfiguréierter Domain opmaachen. An der Praxis kënnt e richtege Klick ëmmer eréischt laang nodeems d'Iwwerpréiwung ofgeschloss ass. Wann Dir de Checkout automatesch opmaacht, forcéiert de Modus amplaz Iech op d'Erkennung ze verloossen.
E Modus forcéieren
Setzt checkoutMode explizitt, fir d'Erkennung komplett z'iwwersprangen:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', checkoutMode: 'popup' });Oder iwwerschreift en fir eng eenzel Buchung:
entase.book('EVENT_ID', { checkoutMode: 'popup' });D'Forcéiere vu 'pane' op enger Domain, déi keng vertrauenswierdeg Origin ass, gëtt keng Erlaabnis – de Panel geet op, awer de Checkout dran kann net mat Ärer Säit kommunizéieren. Benotzt 'popup' als bewosst Wiel, a loosst 'auto' stoen, wann Dir inline Checkout iwwerall do wëllt, wou en erlaabt ass.
En net erkannten Wäert gëtt ignoréiert a wéi 'auto' behandelt.
De Modus wärend der Lafzäit liesen an änneren
entase.getCheckoutMode(); // 'pane' or 'popup' — never 'auto'
entase.setCheckoutMode('popup'); // applies to every later book() callgetCheckoutMode() gëtt de opgeléiste Modus zeréck, also weist et, wat tatsächlech geschitt. Wann Dir de Modus nees op 'auto' setzt, gëtt d'Erkennung nei ausgefouert.
Pop-up-Blockéierer
Browser erlaben window.open() nëmme wärend enger Benotzergeste. Rufft book() direkt an engem Klick-Handler op – net no engem await, engem fetch oder engem setTimeout, well bis dohinner d'Geste ofgelaf ass an de Pop-up blockéiert gëtt.
// Blocked: the gesture is gone by the time book() runs.
button.addEventListener('click', async () => {
const event = await fetch('/api/current-event').then(r => r.json());
entase.book(event.id);
});
// Fine: resolve the id first, open on the click.
button.addEventListener('click', () => entase.book(button.dataset.eventId));Dëst betrëfft nëmmen de Pop-up-Modus. De Pane-Modus baut en Element op der Säit op an ass deem net ënnerworf.