O cliente regista tudo o que comunica na consola do browser, com o prefixo [Entase API]. Comece por abrir a consola.
O checkout abre como uma janela pop-up em vez de um painel
A causa habitual, pela ordem em que vale a pena verificar:
- O domínio não é uma origem fidedigna. Adicione-o em Definições → Integrações, correspondendo ao prefixo
www.que o seu site efetivamente disponibiliza – consulte Integrações e personalização do checkout. - A página não é disponibilizada através de HTTPS. O checkout incorporado nunca é utilizado numa página não segura.
- Não existe uma chave publicável. Sem
pk, o cliente não consegue verificar se o checkout incorporado é permitido, pelo que permanece numa janela pop-up. book()foi executado demasiado cedo. A verificação de permissão é assíncrona e o modo é janela pop-up até receber uma resposta. Um checkout aberto automaticamente ao carregar a página pode antecipar-se a essa resposta – consulte Modos de checkout.connect-srcé bloqueado pela sua Política de Segurança de Conteúdo, pelo que a verificação nunca é concluída. A consola mostrará o pedido bloqueado.
entase.getCheckoutMode() indica o modo resolvido e é a forma mais rápida de distinguir problemas de configuração de problemas de temporização.
"Modo de checkout em painel ativado para localhost"
É esperado durante o desenvolvimento. O cliente assume o modo de painel em localhost e 127.0.0.1 para que possa desenvolver com base no esquema incorporado e apresenta um aviso porque essa suposição não diz nada sobre produção. Adicione o seu domínio real às origens fidedignas antes da publicação.
A janela pop-up é bloqueada
Os browsers só permitem abrir uma janela durante uma ação do utilizador. Chame book() de forma síncrona dentro do manipulador de clique, não após um await, um fetch ou um setTimeout. Consulte Modos de checkout.
O painel abre vazio
O iframe do checkout foi bloqueado. Permita https://www.entase.com na diretiva frame-src da sua Política de Segurança de Conteúdo – consulte Instalar o cliente.
"Entase is not defined"
O script ainda não tinha terminado de carregar quando o seu código foi executado. Isto acontece quando client.js é carregado com async ou defer, ou é colocado depois do script que o utiliza. Aguarde pelo evento entase:ready – consulte Instalar o cliente.
"Trying to book an event after the Client has been destroyed"
destroy() foi chamado na instância e esta já não pode ser utilizada. Numa aplicação de página única, isto normalmente significa que um componente desmontou o respetivo cliente, enquanto uma referência partilhada se manteve. Crie uma nova instância para a nova vista.
"Entase frame initialization failed. Container not found."
Apenas para o widget incorporado. O código obj na configuração não corresponde a nenhum elemento na página. O id do contentor tem de ser entase_ seguido pelo mesmo código, e tem de existir no DOM antes de o widget ser inicializado – verifique se há um erro de escrita ou se existe um contentor apresentado mais tarde pelos seus próprios scripts.
Só é executado o último listener de evento
on() mantém uma chamada de retorno por nome de evento, e o registo de uma segunda substitui a primeira. Registe-a uma vez e distribua a partir dessa chamada de retorno – consulte Eventos.
A janela pop-up abre no ecrã errado
O ponto central é calculado quando a instância é criada e não é atualizado quando o visitante move a janela do browser. Recalcule-o antes da reserva com setTopWindowCenter() – consulte Referência de métodos.
Faltam parâmetros de rastreio nas encomendas
O cliente autónomo não lê o URL da sua página. Encaminhe você mesmo os parâmetros para tprm – consulte Rastreio e consentimento. Tenha em atenção que setTracking() substitui todo o objeto em vez de fazer a respetiva fusão, pelo que uma chamada posterior pode eliminar silenciosamente parâmetros anteriores.