Клиентът записва в конзолата на браузъра всичко, което отчита, с префикс [Entase API]. Първо отворете конзолата.
Плащането се отваря като изскачащ прозорец вместо като панел
Обичайните причини, в реда, в който си струва да ги проверите:
- Домейнът не е надежден източник. Добавете го в Settings → Integrations, като съобразите префикса
www., който сайтът ви действително използва – вижте Интеграции и персонализиране на плащането. - Страницата не се предоставя през HTTPS. Вградено плащане никога не се използва на незащитена страница.
- Няма публикуем ключ. Без
pkклиентът не може да провери дали вграденото плащане е разрешено, затова остава с изскачащ прозорец. book()е изпълнен твърде рано. Проверката на разрешението е асинхронна и режимът е изскачащ прозорец, докато тя не даде отговор. Плащане, отворено автоматично при зареждане на страницата, може да я изпревари – вижте Режими на плащане.connect-srcе блокиран от вашата Content Security Policy, така че проверката никога не завършва. Конзолата ще покаже блокираната заявка.
entase.getCheckoutMode() отчита определения режим и е най-бързият начин да разграничите проблемите с конфигурацията от тези с времето на изпълнение.
"Pane checkout mode enabled for localhost"
Очаквано по време на разработка. Клиентът приема режим на панел за localhost и 127.0.0.1, за да можете да разработвате спрямо вграденото оформление, и предупреждава, защото това допускане не казва нищо за продукционната среда. Добавете реалния си домейн към надеждните източници, преди да пуснете приложението.
Изскачащият прозорец е блокиран
Браузърите позволяват отваряне на прозорец само по време на потребителско действие. Извикайте book() синхронно в обработчика на кликване, а не след await, fetch или setTimeout. Вижте Режими на плащане.
Панелът се отваря празен
Iframe-ът за плащане е блокиран. Разрешете https://www.entase.com в директивата frame-src на вашата Content Security Policy – вижте Инсталиране на клиента.
"Entase is not defined"
Скриптът не е завършил зареждането си, когато кодът ви е бил изпълнен. Това се случва, когато client.js е зареден с async или defer, или е поставен след скрипта, който го използва. Изчакайте събитието entase:ready – вижте Инсталиране на клиента.
"Trying to book an event after the Client has been destroyed"
destroy() е извикан за екземпляра и той вече не може да се използва. В едностранично приложение това обикновено означава, че компонент е премахнал своя клиент, докато споделена референция е останала активна. Създайте нов екземпляр за новия изглед.
"Entase frame initialization failed. Container not found."
Само за вградена джаджа. Кодът obj в конфигурацията не съответства на нито един елемент на страницата. Id на контейнера трябва да бъде entase_, последвано от същия код, и той трябва да съществува в DOM, преди джаджата да се инициализира – проверете за печатна грешка или за контейнер, който вашите скриптове визуализират по-късно.
Изпълнява се само последният слушател на събитие
on() запазва по едно обратно извикване за всяко име на събитие, а регистрирането на второ заменя първото. Регистрирайте се веднъж и разпределяйте обработката в това обратно извикване – вижте Събития.
Изскачащият прозорец се отваря на грешния екран
Централната точка се изчислява при създаването на екземпляра и не се актуализира, когато посетителят премести прозореца на браузъра. Преизчислете я преди резервиране чрез setTopWindowCenter() – вижте Справочник за методите.
Параметрите за проследяване липсват от поръчките
Самостоятелният клиент не чете URL адреса на вашата страница. Предайте сами параметрите в tprm – вижте Проследяване и съгласие. Имайте предвид, че setTracking() заменя целия обект, вместо да го обединява с него, така че по-късно извикване може безшумно да премахне по-ранни параметри.