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

PS 1.7 - Unknown web session id (Problema de permissão nos arquivos e diretórios na hospedagem) #80

Closed dredsman closed 4 years ago

dredsman commented 4 years ago

Versao do Prestashop 1.7.5 SSL TLS 1.2 ok PHP cURL ok

Não reconhece bandeir de cartão, não deixa prosseguir. Durante o carregamento da pagina aparece brevemente a msg unknow session id, e depois desaparece.

prestabr commented 4 years ago

Boa Tarde dredsman,

Esse erro indica que o módulo não conseguiu processar o JavaScript para iniciar uma sessão no PagSeguro. Na grande maioria das vezes esse problema ocorre por algum travamento de JavaScript na tela de Checkout da loja.

Sem o início da sessão no PagSeguro o módulo não carrega a bandeira, não processa o pacelamento e a transação/pagamento.

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.

Faça alguns testes:

a) Verifique se o token é de produção e o ambiente também;

b) Verifique se as tabelas do banco de dados "ps_pagseguropro" e "ps_pagseguropro_logs" estão corretamente instaladas;

c) 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.

d) Acessa as configurações do módulo e, verifica se a opção "Exibir parâmetros no Console do navegador?" está habilitada. Confere essas orientações: https://github.com/pagseguro/prestashop/blob/master/1.7.x/checkout-transparente/pagseguropro/Readme.md#6---debug-para-solu%C3%A7oes-de-problemas

Mais algumas sugestões de testes:

e) Verifique em sua hospedagem se o SSL está corretamente instalado e configurado https://www.sslshopper.com/ssl-checker.html.

f) Verifique em sua hospedagem se o pacote mbsting está habilitado no php.

Confere outro issue igual: https://github.com/pagseguro/prestashop/issues/55#issue-489736249 e https://github.com/pagseguro/prestashop/issues/55#issuecomment-528502807

Por favor, veja todos os detalhes. Qualquer dúvida estamos à disposição.

Atenciosamente, Equipe PrestaBR

dredsman commented 4 years ago

Olá. SSL ok MBString OK Curl OK

Parece mesmo ser um conflito de Javascript. A versão de Prestashoo é 1.7.5, as configurações de CCC opções “Cache inteligente para JavaScript”, ok , não encontrei opção“Comprimir JavaScript inline em HTML” e “Mover o JavaScript para o final” "Exibir parâmetros no Console do navegador?" está habilitada. ok

digitando um cartão valido, o console informa que o cartão é valido, porem a mensagem agora é invalid session.

Object { 30403: "invalid session" } pagseguropro.js:238:13

Ainda, os numeros de parcelas não são carregadas.

prestabr commented 4 years ago

Boa Tarde dredsman,

Os conflitos de JavaScript giram em torno do seu layout (tema) instalado em sua loja.

Faz o seguinte...

Se não tem as opções "Comprimir JavaScript inline em HTML" e "Mover o JavaScript para o final" tavez você esteja usando uma versão muito antiga do sistema. Tenta atualizar utilizando o módulo "Atualização em 1 clique" (autoupgrade).

Na sequência confere essa dica para depurar problema no sistema/layout: https://github.com/pagseguro/prestashop/issues/49#issuecomment-499299677

Problemas de conflitos de JavaScript são trabalhosos de analisar e corrigir, sempre recomendamos o auxílio de um profissional. Se puder atualizar o layout da loja ou trocar de tema já fica mais fácil.

Atenciosamente, Equipe PrestaBR

dredsman commented 4 years ago

Minha versão de prestashop é 1.7.5... a versão acima é 1.7.6.4. As opções "Comprimir JavaScript inline em HTML" e "Mover o JavaScript para o final" foram removidas desta nova versão. Por default, ele joga o Javascript pra baixo, conforme o core.js e o theme.js. Não tenho grande conhecimento de js, há alguma forma de ajudar? Ou indicar a um profissional pra adequação desta versão?

prestabr commented 4 years ago

Boa Noite dredsman,

No caso não se trata de adequar o módulo à versão da PrestaShop. Você está enfrentando um problema pontual de erro de programação JavaScript em seu tema comprado ou customizado.

Manda pra gente o endereço da sua loja + acesso FTP da sua hospedagem, vamos analisar o problema pra você e retornamos em até 48hs. Email: sac@prestabr.com.br

Atenciosamente, Equipe PrestaBR

prestabr commented 4 years ago

Boa Noite André,

Analisamos a sua integração, o problema é bem simples, o e-mail informado nas configurações do módulo está errado. Basta revisar e preencher com atenção que o problema fica resolvido.

Screenshot at 2020-04-06 20-10-24

O Erro 10003 indica e-mail inválido.

Screenshot at 2020-04-06 20-39-27

Acessa as configurações do módulo e informa o email correto, é o mesmo que você usa para fazer o login em sua conta no PagSeguro, mais detalhes: https://github.com/pagseguro/prestashop/tree/master/1.7.x/checkout-transparente/pagseguropro#1---ativa%C3%A7%C3%A3o Por via de dúvidas, se precisar gerar um token, acesse a sua conta no PagSeguro: https://pagseguro.uol.com.br/preferencias/integracoes.jhtml

Para evitar problemas com o processamento do pagamento sugerimos que torne obrigatório os seguintes campos no cadastro do cliente: cpf, bairro, cidade, estado, telefone ou celular.

Lembrando que o cpf é sempre obrigatório para vendas via cartão de crédito, independente se o cliente é PF ou PJ.

Desejamos Boas Vendas! :)

Atenciosamente, Equipe PrestaBR

dredsman commented 4 years ago

Bom dia. O email está correto : annia@peixotoalimentos.com.br (verificado) O TOKEN é o de produção, também está correto.

Criei um usuario pra verificação no Back Office: sac@prestabr.com.br prestabr@2020

De imediato agradeço pela ajuda, e se for o caso de uma revisão mais especifica que onere custos, por favor envie um orçamento para andre@peixotoalimentos.com.br. De fato preciso resolver isso com urgencia, até por que é nossa opção para esta crise.

Grato

André Faria

Em seg., 6 de abr. de 2020 às 20:50, PrestaBR notifications@github.com escreveu:

Boa Noite André,

Analisamos a sua integração, o problema é bem simples, o e-mail informado nas configurações do módulo está errado. Basta revisar e preencher com atenção que o problema fica resolvido.

[image: Screenshot at 2020-04-06 20-10-24] https://user-images.githubusercontent.com/7054224/78614991-991bc800-7846-11ea-90c5-1be54376bf61.png

O Erro 10003 indica e-mail inválido.

[image: Screenshot at 2020-04-06 20-39-27] https://user-images.githubusercontent.com/7054224/78615044-c36d8580-7846-11ea-81d2-610531d9fde4.png

Acessa as configurações do módulo e informa o email correto, é o mesmo que você usa para fazer o login em sua conta no PagSeguro, mais detalhes: https://github.com/pagseguro/prestashop/tree/master/1.7.x/checkout-transparente/pagseguropro#1---ativa%C3%A7%C3%A3o Por via de dúvidas, se precisar gerar um token, acesse a sua conta no PagSeguro: https://pagseguro.uol.com.br/preferencias/integracoes.jhtml

Para evitar problemas com o processamento do pagamento sugerimos que torne obrigatório os seguintes campos no cadastro do cliente: cpf, bairro, cidade, estado, telefone ou celular.

Lembrando que o cpf é sempre obrigatório para vendas via cartão de crédito, independente se o cliente é PF ou PJ.

Desejamos Boas Vendas! :)

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/80#issuecomment-610094815, or unsubscribe https://github.com/notifications/unsubscribe-auth/APBF3NN7ZMKZWLBUUWKA4ALRLJTDNANCNFSM4L2YRJNA .

prestabr commented 4 years ago

Boa Tarde André,

Obrigado pelo acesso ao backoffice.

Colocamos o nosso email e token de testes e o erro permaneceu. Em mais alguns testes notamos erro 500 no arquivo responsável pelo início da sessão /modules/pagseguropro/update.php.

As permissões dos arquivos e diretórios em sua hospedagem estão erradas. Corrigimos para o módulo, 755 em diretórios e 644 em arquivos. O ideal é que você faça a correção para toda a /public_html/. Verifique com a sua hospedagem ou instale o pacote suhosin no php via easyapache 4 (se houver cpanel).

Screenshot at 2020-04-07 12-14-25 Screenshot at 2020-04-07 12-14-40

Testando, verificando que está funcional:

Screenshot at 2020-04-07 12-26-46

Só reforçando...

Para evitar problemas com o processamento do pagamento sugerimos que torne obrigatório os seguintes campos no cadastro do cliente: cpf, bairro, cidade, estado, telefone ou celular.

Lembrando que o cpf é sempre obrigatório para vendas via cartão de crédito, independente se o cliente é PF ou PJ.

Boas Vendas! :)

Atenciosamente, Equipe PrestaBR

dredsman commented 4 years ago

boa tarde. a versão 1.75 do prestashop força o javascript pra baixo. vi um problema parecido no opencart em outro forum, e a solução foi colocar o link do pagseguro no header.tpl.

O script carregou, bandeiras, parcelas .... fiquei eufórioco , mas logo após uma tentativa de pagamento ( em dois cartoes ativos) retornou

erro_pagseguro_prestashop

prestabr commented 4 years ago

Olá André,

Ótimo, se conseguiu chegar neste ponto significa que o módulo está funcionando 100%. Está livre de problemas de javascript, token e erros relacionados.

boa tarde. a versão 1.75 do prestashop força o javascript pra baixo. vi um problema parecido no opencart em outro forum, e a solução foi colocar o link do pagseguro no header.tpl.

O script carregou, bandeiras, parcelas .... fiquei eufórioco , mas logo após uma tentativa de pagamento ( em dois cartoes ativos) retornou

erro_pagseguro_prestashop

É por isso que comentamos...:

Para evitar problemas com o processamento do pagamento sugerimos que torne obrigatório os seguintes campos no cadastro do cliente: cpf, bairro, cidade, estado, telefone ou celular.

Lembrando que o cpf é sempre obrigatório para vendas via cartão de crédito, independente se o cliente é PF ou PJ.

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 - Leia com calma, confere como verificar os logs.

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

prestabr commented 4 years ago

Bom Dia andersonbuzzi,

Olá! Descobri o que causa este erro. Eu demorei pra repetir, mas cheguei numa conclusão:

A função "getBrandCard" (payment-direct.tpl) não é executada quando o usuário escolhe uma opção do cartão salva pelo chrome!

No módulo oficial de Checkout Transparente (pagseguropro), para PS 1.6 e 1.7, não existe a função "getBrandCard" e nem o arquivo "payment-direct.tpl".

Você deve estar analisando outro módulo, que não seja o oficial e que não tem relação direta com esta issue.

Ela só é executada quando ele digita todos os caracteres do cartão, um a um.

Chamando esta função na saída do campo, ou no change dele, irá resolver o problema!

Você pode tentar instalar o módulo oficial seguindo o passo-a-passo:

PS 1.6: https://github.com/pagseguro/prestashop/tree/master/1.6.x/checkout-transparente/pagseguropro#instala%C3%A7%C3%A3o

PS 1.7: https://github.com/pagseguro/prestashop/tree/master/1.7.x/checkout-transparente/pagseguropro#instala%C3%A7%C3%A3o

Atenciosamente, Equipe PrestaBR