danielneis / moodle-enrol_pagseguro

Plugin de inscrição via PagSeguro para o Moodle
https://moodle.org/plugins/enrol_pagseguro
14 stars 9 forks source link

Página em branco - process.php #1

Closed krugerbruno closed 8 years ago

krugerbruno commented 8 years ago

Olá Daniel, tudo bem? Muito obrigado pelo plugin do Pagseguro. Fiz a atualização do meu moodle para o 3.0 e não estou conseguindo realizar o pagamento dos cursos pelo plugin. Já instalei a última versão do plugin que está disponível no github e verifiquei a versão, conforme os outros comentários aqui. Também já verifiquei no Pagseguro a url de retorno, na qual adicionei o .../process.php e o "transiction_id" no parâmetro.

Ao clicar no botão "Enviar pagamento ao Pagseguro" a página do process.php fica totalmente branca, sem nenhuma ação a realizar. Por gentileza, poderia me ajudar?

Estou rodando esta versão em uma pasta do meu servidor root/moodle. Poderia haver alguma divergência por não estar no root? Desde já, muito obrigado!

Abraços, Bruno Kruger.

danielneis commented 8 years ago

Olá, Bruno

pelo seu comentário, voce conseguiu instalar o plugin e adicionar uma instância ao curso. Acessar esse curso com um usuário ainda não inscrito, ver a mensagem do pagseguro, clicar no botão que leva para o site do PagSeguro, efetuar o pagamento e ser redirecionado de volta para seu Moodle, quando entao vê uma página em branco, correto?

Voce poderia fazer a gentileza de colocar seu Moodle em modo de depuração para que seja apresentada mensagem de erro ao invés de a tela em branco? Assim será possível ver o que está causando o erro...

krugerbruno commented 8 years ago

Olá Daniel,

Obrigado pela resposta rápida. Eu consegui instalar o plugin e adicionar ao curso. Apenas os usuários inscritos no Moodle é que podem visualizar o botão de compra e quando eu clico em efetuar compra (com usuário de teste) a página fica em branco. No caso, não estou conseguindo acessar nada do Pagseguro.

Colocarei o meu moodle em modo de depuração e em seguida copio os erros aqui.

Muito obrigado pela ajuda! Abraços,

Bruno Kruger.

krugerbruno commented 8 years ago

Daniel, boa tarde!

Antes de ativar o modo de depuração eu desinstalei o Pagseguro e instalei novamente pelo zip disponibilizado aqui (update3).

Instalei e ativei o plugin -> OK Ativei modo de inscrição do curso pelo Pagseguro -> OK Sai do Moodle e entrei novamente como uma conta de "Estudante" e ao clicar no curso aparece o botão do Pagseguro -> OK

Ao clicar no botão ENVIAR O PAGAMENTO VIA PAGSEGURO a página fica totalmente branca. A URL que aparece é o /enrol/pagseguro/process.php.

Acessei o moodle e ativei o modo de depuração para desenvolvedores e nada aconteceu. Adicionei as seguintes linhas no meu config.php

@error_reporting(E_ALL | E_STRICT); @ini_set('display_errors', '1'); $CFG->debug = (E_ALL | E_STRICT); $CFG->debugdisplay = 1; $CFG->debugusers = '2';

Também exclui o cache das minhas páginas no servidor. hehe estou perdido :/ Saberia me dizer outro passo a seguir?

Obrigado! Abraços

danielneis commented 8 years ago

estranho. tem certeza que está com a última versão? confirma se no version.php tem uma linha

$plugin->version   = 2016030900; 

e se você puder usar o "php -l" nos arquivos para ver se eventualmente tem algum erro de sintaxe (só deveria ter nas versões antigas)...

krugerbruno commented 8 years ago

Daniel, bom dia!

version.php: $plugin->version = 2016030900; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2011112901; // Requires this Moodle version $plugin->release = '3'; $plugin->component = 'enrol_pagseguro'; // Full name of the plugin (used for diagnostics)

Utilizei o php -I conforme você falou no arquivo process.php e nada aconteceu. Tirei a linha e atualizei o arquivo no servidor e atualizei a página no browser e apareceu a linha abaixo: Notice: Trying to get property of non-object in .../www/moodle3/enrol/pagseguro/process.php on line 60.

Dei uma olhada na linha 60 e é referente ao couseid. Verifiquei no meu curso o "Número de identificação do curso" é no meu caso é o "01".

$courseid = $plugin_instance->courseid;

krugerbruno commented 8 years ago

Daniel,

Outro teste que eu fiz foi trocar a url para return.php para ver qual erro poderia surgir e abaixo o resultado:

Falta o parâmetro requerido id

Outras informações sobre este erro

Debug info: Error code: missingparam Stack trace: line 488 of /lib/setuplib.php: moodle_exception thrown line 548 of /lib/moodlelib.php: call to print_error() line 30 of /enrol/pagseguro/return.php: call to required_param()

danielneis commented 8 years ago

Oi, Bruno

provavelmente se ele chegou na linha 60 e deu esse erro é por que o plugin do pagseguro no curso está instalado mas está desabilitado (com o "olhinho" fechado).

BrunoRitter292 commented 8 years ago

Oi Daniel, Conforme comentei contigo via email referente ao outro "issue" que abri aqui, consegui fazer a atualização corretamente mas agora estou enfrentando o mesmo problema que o Bruno citou: "Ao clicar no botão ENVIAR O PAGAMENTO VIA PAGSEGURO a página fica totalmente branca. A URL que aparece é o /enrol/pagseguro/process.php." Verifiquei tudo novamente e o plugin está habilitado.

krugerbruno commented 8 years ago

Daniel,

Verifiquei todos o processo de instalação do Plugin e ativação. Todos eles estão com o "olhinho" aberto. Apenas para descargo de consciência, este a versão do meu Moodle - Moodle 3.0.3 (Build: 20160314).

Obrigado pela ajuda!

danielneis commented 8 years ago

Você configurou o token do pagseguro no Moodle? Apenas para "desemcargo de consciência", a URL que aparece contém o endereço do seu Moodle, certo? Não é só "/enrol/pagseguro/process.php", mas algo como "www.seumoodle.org/enrol/pagseguro/process.php" , certo?

krugerbruno commented 8 years ago

Sim, contém toda a url e o token configurados.

BrunoRitter292 commented 8 years ago

Mesma coisa aqui. Token configurado e url completa.


BRUNO RITTER Converge Consultoria e Negócios Ltda. Telefone: (51) 9107.8991 brunoritter@convergenegocios.com.br www.convergenegocios.com.br [2]

Em 22.03.2016 17:19, krugerbruno escreveu:

Sim, contém toda a url e o token configurados.

You are receiving this because you commented. Reply to this email directly or view it on GitHub [1]

Links:

[1] https://github.com/danielneis/moodle-enrol_pagseguro/issues/1#issuecomment-200003803 [2] http://www.convergeengenharia.com.br

krugerbruno commented 8 years ago

Olá Daniel, tudo bem?

Mudei o meu moodle para a raíz do servidor. Segui todos as tuas recomendações de habilitação mas não consigo sair da página /process.php, onde fica tudo em branco.

Ao acessar a página return.php as mensagens de erro continuam :/

danielneis commented 8 years ago

ok, realmente, eu estava testando a partir de uma integração com outro sistema e não tinha visto. agora acertei lá, testei direto pelo moodle padrão e está funcionando =)

BrunoRitter292 commented 8 years ago

Bom dia Daniel,

Temos que atualizar novamente o plugin então? Preciso desinstalar o anterior?

Tentei fazer isso e apareceu novamente aquela mensagem que comentei anteriormente, dizendo que outros módulos estão faltando. (fiz print da tela para vc ver a mensagem).

Obrigado.

print pagseguro

danielneis commented 8 years ago

olá, Bruno

você não deve atualizar esse plugin pela interface do Moodle, devido aos problemas de você estar usando a versão aqui do Github e não a que está lá no site. Para atualizar seu plugin, se você fez o git clone, basta ir na pasta do plugin e executar "git pull". se você baixou do zip, basta substituir os arquivos pela nova versão que você baixa no mesmo link.

BrunoRitter292 commented 8 years ago

Deu certo Daniel!! Muito obrigado mais uma vez. Grande abraço,

krugerbruno commented 8 years ago

Daniel, funcionou o plugin!! Muito obrigado.

Contudo, fiz um teste no moodle com o boleto bancário (uma opção que temos disponível) e ao selecionar o boleto, a pessoa já volta com acesso ao curso, sem pagar.

Este plugin tem suporte para os boletos também?

Abraços e muito obrigado!

danielneis commented 8 years ago

Sim, o plugin tem "suporte" a boletos. Eu tentei não mudar o comportamento do plugin, mas não tenho certeza se isso já acontecia isso antes. Estou usando o plugin em produção e recebo alguns emails avisando que o pagamento está pendente e o usuário foi desinscrito. Talvez seja assim, depois de um tempo, se não pagar, ele desinscreve, pois o boleto não tem como conferir na hora se foi pago pois tem que esperar o banco enviar/pedir pro banco o arquivo de compensação.

krugerbruno commented 8 years ago

Oi Daniel,

Sim, sei que há a opção de boleto no Pagseguro. A questão é: uma pessoa solicitou o boleto pelo plugin e ao gerar o boleto, a pessoa foi inscrita automaticamente no curso, ou seja, ela nem pagou e já está no curso.

Saberia me dizer se isto é normal ou é alguma configuração do Moodle?

Abraços

Em 30/03/2016, às 10:58, Daniel Neis Araujo notifications@github.com escreveu:

Sim, o plugin tem "suporte" a boletos. Eu tentei não mudar o comportamento do plugin, mas não tenho certeza se isso já acontecia isso antes. Estou usando o plugin em produção e recebo alguns emails avisando que o pagamento está pendente e o usuário foi desinscrito. Talvez seja assim, depois de um tempo, se não pagar, ele desinscreve, pois o boleto não tem como conferir na hora se foi pago pois tem que esperar o banco enviar/pedir pro banco o arquivo de compensação.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub

danielneis commented 8 years ago

Esse é o comportamento esperado. Se você achar interessante alterar, pode fazer um pull request ;)

diogokobbi commented 8 years ago

Boa tarde, Daniel. Você sabe informar quantos dias demora para o sistemas verificar se o boleto foi pago e cancelar a inscrição do usuário?

danielneis commented 8 years ago

cara, não faço a mínima idéia, isso deve ser parte da documentação do pagseguro... sei que as vezes eu recebo uns emails do Moodle avisando que ta em "payment_status = pending" e o usuário foi desinscrito, mas nunca fui conferir se era coisa do mesmo dia. talvez demore dois dias, não sei.

diogokobbi commented 8 years ago

Vlw. Muito obrigado. Anotei a data do teste. Vou calcular quantos dias.

danielneis commented 8 years ago

valeu, depois avisa aí, por favor =)

viniciusfcramos commented 8 years ago

Oi Daniel, boa tarde!

Sei que você fechou essa issue, mas acabei de me deparar com esse problema. Estou enfrentando exatamente o problema da "página em branco". Já tentei atualizar para a release 5 (usava a 4), mas nada.

Veja as versões do ambiente.

Moodle Version: $version = 2016052300.05;

enrol_pagseguro version: $plugin->version = 2016080900; $plugin->requires = 2015111600; $plugin->release = '5'; $plugin->component = 'enrol_pagseguro';

Tentei usar a anterior: $plugin->version = 2016061400; $plugin->requires = 2015111600; $plugin->release = '4'; $plugin->component = 'enrol_pagseguro';

Podes me ajudar? Já apaguei o plugin e configurei tudo novamente e continua com o problema.

Obrigado!

+++++ Uma atualização, que eu já deveria ter feito ontem... Ao colocar o sistema em modo Debug, recebo o seguinte error:

Fatal error: Call to undefined function curl_init() in /var/www/html/enrol/pagseguro/process.php on line 98

Assim, eu descobri que o servidor não tinha instalado a biblioteca curl. Solução:

sudo apt-get install php5-curl Depois é só reiniciar o Apache2 service apache2 restart

Abraços

fuscoj commented 8 years ago

Boa noite, Cara eu estou tento o retorno: Este provedor não é autorizado a usar a API PagSeguro Eu ativei o sandbox e comecou a dar esse erro e se eu uso o pagseguro sem ser o sandbox, o retorno fica com tela branca e o link é http://www.meumoodle.com.br/enrol/pagseguro/process.php?9D...=36... Eu atualizei para a versão master que você tem e meu moodle é 3.1.

Abs e parabéns.

danielneis commented 8 years ago

Olá,

você deve configurar o PagSeguro com o endereço do seu Moodle. Este link da documentação é só um exemplo, você deve substituir "www.meumoodle.org" com a URL do seu Moodle.

Se você trocar paga o SandBox é preciso se cadastrar e configurar o sandbox com endereço do seu Moodle.

abraço!

aprenderlivre commented 7 years ago

Olá Daniel Assisti sua palestra no MoodleMoot em Juíz de Fora-MG. Parabéns pelo seu trabalho!

Tenho um problema aqui e gostaria de ver se você poderia me ajudar.

Estou tentando usar o plugin, entretanto a página de retorno (https://moodle.aprenderlivre.org/enrol/pagseguro/process.php) fica em branco.

Não entendi a seguinte instrução:

Isso significa que o referido campo deve ficar em branco? Lá no PagSeguro já deixei o campo em branco e também com "transaction_id". Nenhum dos dois funcionou.

Estou usando a seguinte versão: $plugin->version = 2016112101; $plugin->requires = 2015111600; $plugin->release = '8'; $plugin->component = 'enrol_pagseguro';

Abraços!

aprenderlivre commented 7 years ago

Olá Daniel Continuando o post acima... Recebi o seguinte e-mail do moodle, relacionado ao problema acima

Assunto: pagseguro ERROR: Not a valid course id

Mensagem: Comunidade Aprender Livre: Transaction failed.

Not a valid course id

O:8:"stdClass":41:{s:4:"date";s:29:"2016-11-23T10:11:16.000-02:00";s:4:"code";s:36:"E5A2DEAA-CC97-4B37-B1D4-9D775EDA9FF4";s:4:"type";s:1:"1";s:6:"status";s:1:"3";s:13:"lasteventdate";s:29:"2016-11-23T10:12:34.000-02:00";s:18:"paymentmethod_type";s:1:"1";s:18:"paymentmethod_code";s:3:"102";s:11:"grossamount";s:4:"1.99";s:14:"discountamount";s:4:"0.00";s:9:"feeamount";s:4:"0.48";s:9:"netamount";s:4:"1.51";s:11:"extraamount";s:4:"0.00";s:13:"escrowenddate";s:29:"2016-12-23T10:12:34.000-02:00";s:16:"installmentcount";s:1:"1";s:9:"itemcount";s:1:"1";s:13:"items_item_id";s:3:"467";s:22:"items_item_description";s:15:"teste-pagseguro";s:19:"items_item_quantity";s:1:"1";s:17:"items_item_amount";s:4:"1.99";s:11:"sender_name";s:15:"MARIA C COVES";s:12:"sender_email";s:22:"joaozinho@hotmail.com";s:21:"sender_phone_areacode";s:2:"22";s:19:"sender_phone_number";s:9:"981386226";s:23:"shipping_address_street";s:10:"RUA NOME";s:23:"shipping_address_number";s:2:"sn";s:27:"shipping_address_complement";O:8:"stdClass":0:{}s:25:"shipping_address_district";s:12:"Nova Bairro";s:21:"shipping_address_city";s:13:"NOVA Cidade";s:22:"shipping_address_state";s:2:"RJ";s:24:"shipping_address_country";s:3:"BRA";s:27:"shipping_address_postalcode";s:8:"28605704";s:13:"shipping_type";s:1:"3";s:13:"shipping_cost";s:4:"0.00";s:9:"xmlstring";s:0:"";s:8:"business";s:25:"contato@aprenderlivre.com";s:14:"receiver_email";s:25:"contato@aprenderlivre.com";s:6:"userid";s:4:"5349";s:8:"courseid";N;s:10:"instanceid";i:0;s:11:"timeupdated";i:1479903175;s:9:"reference";s:25:"contato@aprenderlivre.com";}

danielneis commented 7 years ago

Cara, tem um usuário que disse que preencheu com "transaction_id " sem as aspas, mas com um espaço em branco no final, e disse que funcionou. Aqui eu preenchi sem o espaço e foi. Já corrigi o readme lá para não dar mais confusão.

eduardo-fdk commented 5 years ago

Cara, tem um usuário que disse que preencheu com "transaction_id " sem as aspas, mas com um espaço em branco no final, e disse que funcionou. Aqui eu preenchi sem o espaço e foi. Já corrigi o readme lá para não dar mais confusão.

o pagseguro não permite mais deixar um espaço em branco, o erro que @aprenderlivre mencionou também está ocorrendo comigo, essa falha é de nível crítico, por conta dela o curso não é liberado para o usuário. também analisei por meio de testes no código fonte do plug-in que na sandbox não é permitido usar caracteres especiais na descrição do curso, mas na produção funciona, já entrei em contato com a equipe de suporte do pagseguro, eles estão corrigindo, mas mesmo assim é bom verificar outras alternativas.

também sou programador, estarei a disposição para ajudar com as correções e a evolução do plug-in. obrigado desde já, qualquer dúvida estarei a disposição.