pagseguro / pagseguro-modulo-prestashop

Módulo de Checkout Transparente para integração com PrestaShop 1.6, 1.7 e 8.0 - Oficial PagBank
Open Software License 3.0
50 stars 92 forks source link

Checkout transparente - "Fica girando e não libera a tela de checkout para o pagamento" #49

Closed osmansantos closed 5 years ago

osmansantos commented 5 years ago

configurei em minha loja o pagseguro porem quando vou no pagamento aparece um tela de carregando e nunca sair, alguem pode me ajudar com isso ??

prestabr commented 5 years ago

Boa Tarde osmansantos,

Desculpe a demora e obrigado pelo seu contato!

O módulo depende essencialmente de JavaScript para funcionar corretamente e conseguir carregar a tela de checkout para posteriormente processar as transações com sucesso.

Eventuais problemas de programação JavaScript no Layout (Tema da sua loja), em módulo de terceiro ou na execução de Scripts externos podem ocasionar conflitos ou até o travamento de determinadas funcionalidades, que dependem exclusivamente do JavaScript para funcionar.

Para analisar o JavaScript em sua loja basta conferir a documentação do módulo neste link "6 - Debug para soluçoes de problemas": https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#user-content-6---debug-para-solu%C3%A7oes-de-problemas

Basicamente, ao acessar a tela de Checkout, abra o Inspetor de Elementos do Navegador e verifique o que está sinalizado como erro, fica em destaque na cor vermelha normalmente sinalizado como "Uncaught Error".

Realizando as correções o módulo passará a funcionar normalmente. Para fins de testes você também pode tentar instalar uma loja padrão, sem tema e módulo de terceiro, customizações, etc, para te ajudar a depurar o que há de errado no código de sua loja.

Abraço.

Atenciosamente, Equipe PrestaBR

osmansantos commented 5 years ago

fiz os teste em outra loja e ta com o mesmo erro

Em qua, 5 de jun de 2019 às 15:54, PrestaBR notifications@github.com escreveu:

Boa Tarde osmansantos,

Desculpe a demora e obrigado pelo seu contato!

O módulo depende essencialmente de JavaScript para funcionar corretamente e conseguir carregar a tela de checkout para posteriormente processar as transações com sucesso.

Eventuais problemas de programação JavaScript no Layout (Tema da sua loja), em módulo de terceiro ou na execução de Scripts externos podem ocasionar conflitos ou até o travamento de determinadas funcionalidades, que dependem exclusivamente do JavaScript para funcionar.

Para analisar o JavaScript em sua loja basta conferir a documentação do módulo neste link "6 - Debug para soluçoes de problemas": https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#user-content-6---debug-para-solu%C3%A7oes-de-problemas

Basicamente, ao acessar a tela de Checkout, abra o Inspetor de Elementos do Navegador e verifique o que está sinalizado como erro, fica em destaque na cor vermelha normalmente sinalizado como "Uncaught Error".

Realizando as correções o módulo passará a funcionar normalmente. Para fins de testes você também pode tentar instalar uma loja padrão, sem tema e módulo de terceiro, customizações, etc, para te ajudar a depurar o que há de errado no código de sua loja.

Abraço.

Atenciosamente, Equipe PrestaBR

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/pagseguro/prestashop/issues/49?email_source=notifications&email_token=AL5QPFPMR3W2X2MC6Y7UPLTPZADV5A5CNFSM4HSAUWD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXAVTZA#issuecomment-499210724, or mute the thread https://github.com/notifications/unsubscribe-auth/AL5QPFMJGDMTTOSBIRL3BFTPZADV5ANCNFSM4HSAUWDQ .

-- Atenciosamente,

prestabr commented 5 years ago

Boa Noite osmansantos,

Eventuais problemas com JavaScript é o cenário mais comum. Se você tem certeza absoluta que não há nenhum tipo de problema de JavaScript, segue algumas orientações:

O módulo do PagSeguro não é criptografado (não necessita de Loaders instalados na hospedagem para funcionar), também não utiliza override e não se conecta na loja Addons do PrestaShop.

As únicas exigências do módulo são essas:

Faça alguns testes:

Na mesma hospedagem que está a sua loja em produção tente instalar uma loja limpa: https://download.prestashop.com/download/releases/prestashop_1.6.1.24.zip, na sequência instale o módulo do PagSeguro: https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro.

Com a loja limpa, faça um comparativo com a loja em produção, tente localizar o que há de diferente entre elas para identificar a origem do problema.

Verifique também se o módulo foi instalado corretamente e se as tabelas do banco de dados estão cadastradas, tabelas: https://github.com/pagseguro/prestashop/blob/master/1.6.x/checkout-transparente/pagseguropro/sql/install.php

Com a certeza que não há problemas de JavaScript e que os passos acima foram seguidos, se mesmo assim não funcionar, sugerimos que verifique se a hospedagem está bem configurada.

Outra opção é procurar um profissional para te auxiliar.

Lembrando que este módulo é homologado e amplamente utilizado por muitas lojas em produção.

Abraço.

Atenciosamente, Equipe PrestaBR

osmansantos commented 5 years ago

Realizei todo o processo e mesmo na loja limpa da o mesmo erro segue foto em anexo

Em qua, 5 de jun de 2019 às 21:04, PrestaBR notifications@github.com escreveu:

Boa Noite osmansantos,

Eventuais problemas com JavaScript é o cenário mais comum. Se você tem certeza absoluta que não há nenhum tipo de problema de JavaScript, segue algumas orientações:

O módulo do PagSeguro não é criptografado (não necessita de Loaders instalados na hospedagem para funcionar), também não utiliza override e não se conecta na loja Addons do PrestaShop.

As únicas exigências do módulo são essas:

  • PHP 5.4.x à 7.x.x;
  • Biblioteca cURL ativa na hospedagem (padrão em qualquer pacote PHP);
  • Obrigatório o uso de certificado SSL com o protocolo TLS 1.2 (padrão na maioria das hospedagens);

Faça alguns testes:

Na mesma hospedagem que está a sua loja em produção tente instalar uma loja limpa: https://download.prestashop.com/download/releases/prestashop_1.6.1.24.zip, na sequência instale o módulo do PagSeguro: https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro .

Com a loja limpa, faça um comparativo com a loja em produção, tente localizar o que há de diferente entre elas para identificar a origem do problema.

Verifique também se o módulo foi instalado corretamente e se as tabelas do banco de dados estão cadastradas, tabelas: https://github.com/pagseguro/prestashop/blob/master/1.6.x/checkout-transparente/pagseguropro/sql/install.php

Com a certeza que não há problemas de JavaScript e que os passos acima foram seguidos, se mesmo assim não funcionar, sugerimos que verifique se a hospedagem está bem configurada.

Outra opção é procurar um profissional para te auxiliar.

Lembrando que este módulo é homologado e amplamente utilizado por muitas lojas em produção.

Abraço.

Atenciosamente, Equipe PrestaBR

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/pagseguro/prestashop/issues/49?email_source=notifications&email_token=AL5QPFNEORBA2KNVZCRN7MTPZBIAXA5CNFSM4HSAUWD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXBLKXI#issuecomment-499299677, or mute the thread https://github.com/notifications/unsubscribe-auth/AL5QPFJGXPTGRNK7QSEXINTPZBIAXANCNFSM4HSAUWDQ .

-- Atenciosamente,

prestabr commented 5 years ago

Boa Tarde osmansantos,

Veio faltando o anexo...

Infelizmente não conseguimos reproduzir esse tipo de problema do nosso lado, é algo bem específico nos seus testes ou na sua loja / hospedagem.

Tenta fazer os testes com calma, confere todos os detalhes, tenta reproduzir em outra hospedagem, no módulo verifica se o ambiente é produção e o token também (token produção é diferente do sandbox), etc.

Abraço.

Atenciosamente, Equipe PrestaBR

fredec commented 5 years ago

Alguém conseguiu resolver? Estou com o mesmo problema...

prestabr commented 5 years ago

Boa Noite fredec,

Tudo bem?

Desuculpe a demora para retornar a sua mensagem.

Este problema mencionado pelo osmansantos é conflito de javascript na tela de checkout, originado pelo tema (layout da loja) ou módulo de terceiro. Não é um Bug ou falha do módulo de checkout transparente que disponibilizamos aqui no Git.

A forma mais simples de identificar problemas de javascript na loja é utilizar o Inspetor de Elementos do Navegador, mais detalhes neste link: https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#6---debug-para-solu%C3%A7oes-de-problemas

Vale lembrar que o TOKEN de produção é diferente do sandbox. https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#1---ativa%C3%A7%C3%A3o

Só para garantir verifica se no banco de dados da sua loja as tabelas "ps_pagseguropro" e "ps_pagseguropro_logs" estão exatamente iguais à deste arquivo: https://github.com/pagseguro/prestashop/blob/master/1.6.x/checkout-transparente/pagseguropro/sql/install.php

Atenciosamente, Equipe PrestaBR

AndreyDias1979 commented 5 years ago

Boa noite estou tentando configurar o PagSeguro - Checkout Transparente v1.1.4 - por PrestaBR porem apresenta o mesmo problema dos demais, seguindo as dicas acima fiz uma verificação e apresentou alguns erros gostaria de orientações segue o print da tela:

https://www.linebor.com.br/print2.jpg

AndreyDias1979 commented 5 years ago

https://www.linebor.com.br/print2.jpg

prestabr commented 5 years ago

Boa noite estou tentando configurar o PagSeguro - Checkout Transparente v1.1.4 - por PrestaBR porem apresenta o mesmo problema dos demais, seguindo as dicas acima fiz uma verificação e apresentou alguns erros gostaria de orientações segue o print da tela:

https://www.linebor.com.br/print2.jpg

Boa Noite AndreyDias1979,

Só revisando...:

Se os itens acima estiverem ok só resta conflito de JavaScript na sua tela de checkout.

O módulo depende essencialmente de JavaScript para funcionar corretamente e conseguir processar as transações com sucesso.

Eventuais problemas de programação JavaScript ou a execução de Scripts externos no Layout podem ocasionar conflitos ou até o travamento de determinadas funcionalidades que dependem exclusivamente do JavaScript para funcionar.

Você já fez alguns testes desabilitando os caches e compressões no PrestaShop?

Acesse no Back Office a tab “Parâmetros Avançados > Desempenho > CCC (COMBINAÇÃO, COMPRESSÃO E CACHE)”.

Marque as opções “Cache inteligente para JavaScript”, “Comprimir JavaScript inline em HTML” e “Mover o JavaScript para o final” como Não. Também limpe o cache no botão que fica no canto superior direito dessa tab, com o nome "Limpar cache".

É comum tem algum detalhe de JavaScript customizado no tema da loja, que não segue as melhores práticas de desenvolvimento, e acabam não suportanto as otmizações que o CCC proporcionam - gerando conflitos diversos.

Faz os testes com calma, verifica todos os detalhes. Experimenta desativar alguns módulos do tema para tentar identificar a origem do problema. Se for possível, cria uma ambiente de testes com a loja funcionando com o tema padrão (Default-Bootstrap), para ver o módulo funcionando legal.

Por favor, posta aqui pra gente o resultado.

Atenciosamente, Equipe PrestaBR

AndreyDias1979 commented 5 years ago

Olá, consegui fazer funcionar alterando o tipo de criptografia!

Parâmetros Avançados => Desempenho => CRIPTOGRAFANDO Marquei => (Algorítmo) Use a classe Blowfish adaptada

Assim o script funcionou!

https://www.linebor.com.br/print3.jpg

AndreyDias1979 commented 5 years ago

Porem UMA DÚVIDA!

O cliente fazendo a operação o lançamento da venda não aparece no Back Office a tab "Compras" é normal isso?

só consigo localizar a compra na tab Compras => PagSeguro - Transações

https://www.linebor.com.br/print4.jpg

prestabr commented 5 years ago

Olá, consegui fazer funcionar alterando o tipo de criptografia!

Parâmetros Avançados => Desempenho => CRIPTOGRAFANDO Marquei => (Algorítmo) Use a classe Blowfish adaptada

Assim o script funcionou!

https://www.linebor.com.br/print3.jpg

Boa Tarde AndreyDias1979,

Ótima notícia! Muito obrigado pelo seu feedback!

Essas criptografias são responsáveis pelos tokens de toda a loja, cliente, carrinho, etc.

A opção "Use Rijndael com a biblioteca mcrypt" depende que a bibliotecla mcrypt esteja instalada/configurada no pacote php da sua hospedagem. Já a opção "Use a classe Blowfish adaptada" não depende da hospedagem, o PrestaShop resolve.

Atenciosamente, Equipe PrestaBR

prestabr commented 5 years ago

Porem UMA DÚVIDA!

O cliente fazendo a operação o lançamento da venda não aparece no Back Office a tab "Compras" é normal isso?

só consigo localizar a compra na tab Compras => PagSeguro - Transações

https://www.linebor.com.br/print4.jpg

Olá AndreyDias1979,

Esse problema não é normal, aí já é algo relacionado as classes, controllers ou override da PrestaShop. Tenta habilitar o debug para depurar "/config/defines.inc.php".

A tab "Compras" exibe todos os pedidos criados em sua loja, independente do módulo de pagamento que esteja sendo utilizado.

Já a tab "PagSeguro Transações" exibe somente o que é processado pelo módulo pagseguropro.

Boas Vendas! :)

Atenciosamente, Equipe PrestaBR

fredec commented 4 years ago

O problema de ficar carregando eternamente é que o plugin faz um override ao _PS_MODEDEV e define como TRUE. Assim, se tiver qualquer warning na sua loja, não vai funcionar. É só editar o arquivo update.php na raiz do módulo e definir _PS_MODEDEV como FALSE pra funcionar.

Podiam atualizar o plugin com ela em FALSE já, se possível.

prestabr commented 4 years ago

Olá fredec,

O problema de ficar carregando eternamente é que o plugin faz um override ao _PS_MODEDEV e define como TRUE. Assim, se tiver qualquer warning na sua loja, não vai funcionar. É só editar o arquivo update.php na raiz do módulo e definir _PS_MODEDEV como FALSE pra funcionar.

Podiam atualizar o plugin com ela em FALSE já, se possível.

Se fica carregando eternamente significa que tem alguma coisa de errada na loja... O mais comum é problema de JavaScript por conta de layout ruim e edições mal feitas de código, e o módulo depende essencialmente de JavaScript para funcionar no contexto geral. O melhor caminho é corrigir os problemas da loja ao invés de modificar o módulo para se adaptar aos problemas da loja. Soluções paleativas nunca são uma boa ideia, podem surgir outros problemas diversos... A override pontual no update.php não impacta negativamente, só ajuda a identificar problemas.

Boas Vendas! :)

Atenciosamente, Equipe PrestaBR

lhalvesf commented 4 years ago

Estou tendo um problema parecido ao acessar meu checkout tenho o erro:

pagseguropro.js:554 Uncaught ReferenceError: urlImg is not defined at ps_msgFancyBox (pagseguropro.js:554) at ps_getSessionId (pagseguropro.js:21) at HTMLDocument. (pagseguropro.js:947) at fire (core.js:690) at Object.fireWith [as resolveWith] (core.js:711) at Function.ready (core.js:745) at HTMLDocument.completed (core.js:748)

aparentemente as variáveis do módulo não estão sendo trazidas e a transação não ocorre, sabem o que pode ser?

prestabr commented 4 years ago

Boa Tarde lhalvesf,

Estou tendo um problema parecido ao acessar meu checkout tenho o erro:

pagseguropro.js:554 Uncaught ReferenceError: urlImg is not defined at ps_msgFancyBox (pagseguropro.js:554) at ps_getSessionId (pagseguropro.js:21) at HTMLDocument. (pagseguropro.js:947) at fire (core.js:690) at Object.fireWith [as resolveWith] (core.js:711) at Function.ready (core.js:745) at HTMLDocument.completed (core.js:748)

aparentemente as variáveis do módulo não estão sendo trazidas e a transação não ocorre, sabem o que pode ser?

Problemas na execução do JavaScript do módulo são causados por fatores externos à ele. Tem mais algum erro no Console? Por favor, consegue postar aqui um print do Console?

Confere estes detalhes:

Atenciosamente, Equipe PrestaBR

lhalvesf commented 4 years ago

Depois de alterar para compressão forçada o erro da urlImage foi resolvido, entretanto agora um segundo erro surgiu.. vejam só https://imgur.com/k9fAnx2

prestabr commented 4 years ago

Boa Tarde lhalvesf,

Depois de alterar para compressão forçada o erro da urlImage foi resolvido, entretanto agora um segundo erro surgiu.. vejam só https://imgur.com/k9fAnx2

Obrigado por verificar os detalhes...

Infelizmente a origem do problema está no layout que você comprou ou em eventuais customizações/edições que você fez (não considerando alterações no Core da PrestaShop).

O módulo de Checkout Transparente depende essencialmente de JavaScript para funcionar corretamente. Qualquer erro de JavaScript acaba ocasionando problemas diversos afetando o módulo negativamente.

A única forma de resolver é depurando manualmente todos os detalhes de JavaScript existentes em sua loja (Sugerimos o auxílio de um profissional). Dica: Faça mais testes desativando os módulos não nativos, com os módulos nativos tente substituí-los pelos do tema Original em /default-bootstrap/. Tente substituir diretórios inteiros como /seutema/js/ ou /modules/nomedomodulo/. Isto vai te ajudar a isolar e identificar a origem do problema.

Para analisar o JavaScript em sua loja e conferir se o módulo está 100% funcional, confere a documentação do módulo neste link "6 - Debug para soluçoes de problemas": https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#user-content-6---debug-para-solu%C3%A7oes-de-problemas

Atenciosamente, Equipe PrestaBR

lhalvesf commented 4 years ago

Boa Tarde lhalvesf,

Depois de alterar para compressão forçada o erro da urlImage foi resolvido, entretanto agora um segundo erro surgiu.. vejam só https://imgur.com/k9fAnx2

Obrigado por verificar os detalhes...

Infelizmente a origem do problema está no layout que você comprou ou em eventuais customizações/edições que você fez (não considerando alterações no Core da PrestaShop).

O módulo de Checkout Transparente depende essencialmente de JavaScript para funcionar corretamente. Qualquer erro de JavaScript acaba ocasionando problemas diversos afetando o módulo negativamente.

A única forma de resolver é depurando manualmente todos os detalhes de JavaScript existentes em sua loja (Sugerimos o auxílio de um profissional). Dica: Faça mais testes desativando os módulos não nativos, com os módulos nativos tente substituí-los pelos do tema Original em /default-bootstrap/. Tente substituir diretórios inteiros como /seutema/js/ ou /modules/nomedomodulo/. Isto vai te ajudar a isolar e identificar a origem do problema.

Para analisar o JavaScript em sua loja e conferir se o módulo está 100% funcional, confere a documentação do módulo neste link "6 - Debug para soluçoes de problemas": https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#user-content-6---debug-para-solu%C3%A7oes-de-problemas

Atenciosamente, Equipe PrestaBR

boa tarde, testei em um novo ambiente e consegui resolver os erros de javascript, entretanto no final da compra ainda recebo uma mensagem de erro: https://imgur.com/6uGeglf

prestabr commented 4 years ago

Boa Tarde lhalvesf,

Boa Tarde lhalvesf,

Depois de alterar para compressão forçada o erro da urlImage foi resolvido, entretanto agora um segundo erro surgiu.. vejam só https://imgur.com/k9fAnx2

Obrigado por verificar os detalhes... Infelizmente a origem do problema está no layout que você comprou ou em eventuais customizações/edições que você fez (não considerando alterações no Core da PrestaShop). O módulo de Checkout Transparente depende essencialmente de JavaScript para funcionar corretamente. Qualquer erro de JavaScript acaba ocasionando problemas diversos afetando o módulo negativamente. A única forma de resolver é depurando manualmente todos os detalhes de JavaScript existentes em sua loja (Sugerimos o auxílio de um profissional). Dica: Faça mais testes desativando os módulos não nativos, com os módulos nativos tente substituí-los pelos do tema Original em /default-bootstrap/. Tente substituir diretórios inteiros como /seutema/js/ ou /modules/nomedomodulo/. Isto vai te ajudar a isolar e identificar a origem do problema. Para analisar o JavaScript em sua loja e conferir se o módulo está 100% funcional, confere a documentação do módulo neste link "6 - Debug para soluçoes de problemas": https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#user-content-6---debug-para-solu%C3%A7oes-de-problemas Atenciosamente, Equipe PrestaBR

boa tarde, testei em um novo ambiente e consegui resolver os erros de javascript, entretanto no final da compra ainda recebo uma mensagem de erro: https://imgur.com/6uGeglf

Ótimo, obrigado por confirmar! :)

Esta mensagem de erro do PopUp é genérica, tem que conferir o payload/retorno nos Logs. Mais detalhes:

https://github.com/pagseguro/prestashop/issues/75#issuecomment-567057058

Confere estes posts também: https://github.com/pagseguro/prestashop/issues/58#issuecomment-536658104 https://github.com/pagseguro/prestashop/issues/58#issuecomment-545026313 https://github.com/pagseguro/prestashop/issues/74

Atenciosamente, Equipe PrestaBR

lhalvesf commented 4 years ago

testei, porém meu error não especifica nada.. apenas retorna os dados: https://imgur.com/28YaJHx

prestabr commented 4 years ago

Olá lhalvesf,

Conferiu essa dica de como verificar os detalhes de Logs? https://github.com/pagseguro/prestashop/issues/75#issuecomment-567057058

Atenciosamente, Equipe PrestaBR

lhalvesf commented 4 years ago

Olá lhalvesf,

Conferiu essa dica de como verificar os detalhes de Logs? #75 (comment)

Atenciosamente, Equipe PrestaBR

consegui resolver.. o campo shippingAddressDistrict estava indo vazio.. preenchendo ele resolveu.

Muito obrigado.

prestabr commented 4 years ago

Olá lhalvesf,

Olá lhalvesf, Conferiu essa dica de como verificar os detalhes de Logs? #75 (comment) Atenciosamente, Equipe PrestaBR

consegui resolver.. o campo shippingAddressDistrict estava indo vazio.. preenchendo ele resolveu.

Muito obrigado.

Está perfeito, obrigado pelo feedback! Qualquer problema ficamos à disposição... Boas Vendas! :)

Atenciosamente, Equipe PrestaBR

fredec commented 2 years ago

Comigo o problema ocorreu porque eu tinha um módulo que usava duas variáveis javascript exatamente iguais do PagSeguro: urlImg e urlFuncoes. Só alterei as variáveis no outro módulo (que era próprio) e funcionou redondo.

prestabr commented 2 years ago

Boa Tarde fredec,

Agradecemos o seu feedback! :)

Comigo o problema ocorreu porque eu tinha um módulo que usava duas variáveis javascript exatamente iguais do PagSeguro: urlImg e urlFuncoes. Só alterei as variáveis no outro módulo (que era próprio) e funcionou redondo.

Atenciosamente, Equipe PrestaBR