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 - Geraçao de Boleto, undefined index #53

Closed tatianilima closed 5 years ago

tatianilima commented 5 years ago

Bom dia,

Estou utilizando o prestashop 1.6.1.24, instalei o modulo pagseguro checkout transparente versao 1.1.5. Ao tentar gerar o boleto exibe os seguintes erros: Notice: Undefined index: cod_cliente in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: cpf_cnpj in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: id_cart in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: id_order in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: referencia in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: buyer_ip in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: pagto in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: desc_pagto in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: parcelas in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: url in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100

Notice: Undefined index: data_pedido in /home1/dggamescom/public_html/modules/pagseguropro/pagseguropro.php on line 1100 [PrestaShopDatabaseException] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , "", "", "", "1", "Aguardando pagamento", "", "", 0, "", "TOKEN", "3903e84b-57' at line 1

Estou usando o tema default do prestashop e o plugin fkcorreios. Alguém saberia uma solucao para este problema?

prestabr commented 5 years ago

Boa Tarde tatianilima,

Obrigado por utilizar o módulo oficial!

Todos estes erros, sinalizados com "Undefined index" na linha 1100, indicam que o módulo teve problemas ao inserir o pedido no banco de dados porque os campos não existem.

Você verificou se o módulo foi instalado corretamente? Verifica se no banco de dados da sua loja existem as tabelas "ps_pagseguropro" e "ps_pagseguropro_logs", e se elas estão exatamente iguais a esse arquivo: https://github.com/pagseguro/prestashop/blob/master/1.6.x/checkout-transparente/pagseguropro/sql/install.php

Tenta desinstalar o módulo e instalar novamente (verifica as permissões dos arquivos na sua hospedagem).

Atenciosamente, Equipe PrestaBR

tatianilima commented 5 years ago

Boa tarde! Obrigado pela resposta. No banco de dados existe sim as tabelas ps_pagseguropro e ps_pagseguropro_logs, no entanto estao com outro sufixo ps2_pagseguropro, porém isso nao impediu de gravar corretamente a transaçao com cartao de credito. O referido erro é exibido apenas para emissao de boleto.

Nos testes que fiz o erro parece ser no insert: INSERT INTO ps2q_pagseguropro (id_shop, cod_cliente, cpf_cnpj, id_cart, id_order, referencia, cod_transacao, buyer_ip, status, desc_status, pagto, desc_pagto, parcelas, url, credencial, token_codigo, data_pedido, data_atu) VALUES (1, "", "", , , "", "", "", "1", "Aguardando pagamento", "", "", 0, "", "TOKEN", "3903e84b-579c..suprimido", "", "2019-09-03 17:59:05")

Ali em VALUES nao está passando nenhum valor para id_cart e id_order, como só fica a virgula, ele mostra o erro. Estranhamente na query ele tbm nao está incluindo o cpf fornecido. Lembrando que na transaçao com cartao de crédito, o insert esta sendo feito corretamente, esse erro é apenas na emissao do boleto. PS.: as tabelas estao iguais a do link que me passou.

prestabr commented 5 years ago

Boa Noite tatianilima,

O prefixo não é uma regra, você define o que usar quando instalar a PrestaShop, está ok!

Deve ter alguma coisa customizada no core da sua loja ou em overrides ou talvez o módulo não tenha sido atualizado corretamente. Também pode existir algum conflito de JavaScript no Front que impeça o processo da validação entregando os campos em branco no Inset, em fim, pode ser qualquer coisa.

Infelizmente não é um problema de funcionamento do módulo, seria algo realmente muito grave para passar batido na homologação, utilizamos o módulo em muitas lojas em produção.

Se puder, por favor, manda pra gente o endereço da sua loja com acesso ao admin e se possível ao FTP também, que a gente vai verificar o que está acontecendo e deixar funcionando pra você.

E-mail: sac@prestabr.com.br

Atenciosamente, Equipe PrestaBR

tatianilima commented 5 years ago

Muito obrigada Equipe PrestaBR pela ajuda! Acho importante deixar a resposta para quem tiver esse problema: O módulo em modo de produção com a loja em modo debug acaba gerando problemas. O debug pode limitar a coleta de dados e redirecionamentos. Basicamente o boleto executa um redirect no validation pra processar o inset e posterior tela de confirmação de pedido Entao quem passar por isso é só desativar o modo debug!