Knowledge Center Blog
  • Theme
  • Auto
  • Light
  • Dark
English EN (US)
Language ✕
  • Deutsche
  • Eesti
  • English
  • Español
  • Français
  • Hrvatski
  • Italiano
  • Latviešu
  • Lietuvių
  • Lëtzebuergesch
  • Malti
  • Nederlands
  • Português (BR)
  • Português (PT)
  • Română
  • Slovenčina
  • Slovenščina
  • Srpski
  • Suomi
  • Türkçe
  • Ελληνικά
  • Български
  • Русский
  • Українська
Log in
Developers Blog
Log in
Home Developers JavaScript client Troubleshooting
Search
Developers
JavaScript client
  • Overview
  • Installing the client
  • Constructor options
  • Checkout modes
  • Opening the checkout
  • Events
  • Methods reference
  • Tracking and consent
  • Advanced embed options
  • Troubleshooting
REST API (v2)
PHP SDK
Node.js SDK
Python SDK
WordPress plugin
JavaScript client

Troubleshooting

The failures that come up most often when integrating the client — inline checkout falling back to a pop-up, blocked windows, missing containers and console warnings.

description View as Markdown

The client logs everything it reports to the browser console, prefixed with [Entase API]. Open the console first.

The checkout opens as a pop-up instead of a panel

The usual cause, in the order worth checking:

  1. The domain is not a trusted origin. Add it in Settings → Integrations, matching the www. prefix your site actually serves — see Integrations and checkout customization.
  2. The page is not served over HTTPS. Inline checkout is never used on an insecure page.
  3. No publishable key. Without pk the client cannot check whether inline checkout is allowed, so it stays with a pop-up.
  4. book() ran too early. The permission check is asynchronous, and the mode is pop-up until it answers. A checkout opened automatically on page load can outrun it — see Checkout modes.
  5. connect-src is blocked by your Content Security Policy, so the check never completes. The console will show the blocked request.

entase.getCheckoutMode() reports the resolved mode and is the quickest way to tell configuration problems from timing ones.

"Pane checkout mode enabled for localhost"

Expected during development. The client assumes pane mode on localhost and 127.0.0.1 so you can build against the inline layout, and warns because that assumption says nothing about production. Add your real domain to trusted origins before you ship.

The pop-up is blocked

Browsers only allow a window to open during a user gesture. Call book() synchronously inside the click handler, not after an await, a fetch or a setTimeout. See Checkout modes.

The panel opens empty

The checkout iframe was blocked. Allow https://www.entase.com in your frame-src Content Security Policy directive — see Installing the client.

"Entase is not defined"

The script had not finished loading when your code ran. This happens when client.js is loaded with async or defer, or placed after the script that uses it. Wait for the entase:ready event — see Installing the client.

"Trying to book an event after the Client has been destroyed"

destroy() was called on the instance and it can no longer be used. In a single-page application this usually means a component tore down its client while a shared reference stayed in place. Create a new instance for the new view.

"Entase frame initialization failed. Container not found."

Embed widget only. The obj code in the configuration does not match any element on the page. The container's id must be entase_ followed by the same code, and it must exist in the DOM before the widget initializes — check for a typo, or for a container rendered later by your own scripts.

Only the last event listener runs

on() keeps one callback per event name, and registering a second replaces the first. Register once and fan out from inside that callback — see Events.

The pop-up opens on the wrong screen

The centre point is calculated when the instance is created and is not updated when the visitor moves the browser window. Recalculate it before booking with setTopWindowCenter() — see Methods reference.

Tracking parameters are missing from orders

The standalone client does not read your page's URL. Forward the parameters yourself into tprm — see Tracking and consent. Note that setTracking() replaces the whole object rather than merging into it, so a later call can silently drop earlier parameters.

Previous Advanced embed options
Was this article helpful?
On this page
  • The checkout opens as a pop-up instead of a panel
  • "Pane checkout mode enabled for localhost"
  • The pop-up is blocked
  • The panel opens empty
  • "Entase is not defined"
  • "Trying to book an event after the Client has been destroyed"
  • "Entase frame initialization failed. Container not found."
  • Only the last event listener runs
  • The pop-up opens on the wrong screen
  • Tracking parameters are missing from orders
Learn how to Entase.
© 2026 Entase, Inc.

Entase

  • Events
  • Sign up

Platform

  • Pricing
  • Global reach
  • Integration
  • Marketing tools
  • Booking tools
  • Collaboration

Use cases

  • Theater and opera
  • Concerts and parties
  • Expos, fairs and festivals
  • Museums and attractions
  • Tours and experiences
  • Workshops and seminars
  • Fundraising
  • Tournaments

Knowledge center

  • Organizers
  • Attendees
  • Developers
  • Blog

Legal

  • Terms of use
  • Privacy policy
  • Cookies policy
search Questions? Search
auto_awesome LLM? Read llms.txt
support_agent Need help? Start chat