Erro ao finalizar compra com boleto e cartao
Bom dia Carlos,
Estou recebendo um erro ao finalizar a compra, tanto no boleto como no cartao.
Não sei te dizer o que pode ser. Gravei um pequeno video para vc entender melhor o que esta acontecendo.
Veja o link e depois me da um retorno por favor.
https://www.youtube.com/watch?v=DReqYwFb_qc
Olá, Rafael!
Tudo bem?
Obrigado por fazer o vídeo amigo.
------------------
Pra conseguir identificar o erro preciso de mais algumas informações, como o próprio retorno de erro da API do PagSeguro.
Preciso que faça o debug do retorno pela guia Network, igual neste vídeo (nesse vídeo ensino como debugar o retorno de uma API): https://drive.google.com/open?id=1luY-T_tbTbqaN6iUuHd7xNGPjo60kM75
(Guia Network > Resição AJAX > Preview)
No minuto 02:13 do vídeo aquele erro não tem nada a ver com o outro, foi só porque você tentou acessar uma rota que espera uma requisição POST usando um método GET.
No minuto 04:51 você chegou a abrir a guia correta que tem o retorno da API, porém, não clicou na guia Preview ou Response, que são fundamentais para identificar o problema (http://prntscr.com/nfzjp1).
-----------------------
Pergunta! No arquivo .env você colocou os dados de TOKEN e EMAIL da sua conta de Sandbox do PagSeguro?
Eu que agradeço pelo retorno.
Sim coloquei o EMAIL e TOKEN da guia vendedor do sandbox
Seria essa a guia ?
http://prntscr.com/nfztck
http://prntscr.com/nfzu6j
Pelo erro me parece algo relacionado a biblioteca guzzlehttp/guzzle.
No caso eu baixei o projeto final e creio que ja veio a biblioteca instalada junto, eu precisaria dar vagrant update mesmo assim ?
Eu dei um update composer e agora aparece outro erro, mesmo sem ter certeza que o problema era esse resolvi fazer o update para testar, segue imagem do outro erro. http://prntscr.com/ng222b, ai vc me diz se o primeiro erro poderia mesmo com a biblioteca ou nao.
Olá, Rafael!
Sim, você enviou os prints corretos. Obrigado.
Recomendo que delete o diretório vendor/
E baixe novamente, com o comando: composer install
Depois disso tente novamente e me diga o resultado.
---------------------------------
Esse erro MethodNotAllowed é porque a rota espera uma requisição do tipo POST, e quando você abre a URL diretamente no browser está fazendo uma requisição GET, por isso o "erro".
nao resolveu amigo, apaguei a pasta e nada. Sobre a resposta dizendo que a rota espera uma requisição do tipo POST, e quando abre a URL diretamente no browser esta fazendo GET, bom como disse antes eu baixei os arquivos do projeto final, será no arquivos que voce disponibilizou para downlowd esta errado ?? E se for isso onde eu vejo?? qual arquivo ? me de mais detalhes por favor.
Olá, Rafael!
Sobre esse "erro" que me passou: https://prnt.sc/ng222b
Ele não é um erro, mas, sim uma falha humana em usar o sistema.
Para exemplificar, crie uma rota do tipo get:
Route::get('urlaqui', function () {
return 'Olá!';
});
Ao abrir a rota: http://nomevirtualhost.local/urlaqui o resultado é "Olá!"
Porém, agora defina essa rota como POST:
Route::get('urlaqui', function () {
return 'Olá!';
});
Ao abrir a URL (http://nomevirtualhost.local/urlaqui) novamente terá um erro igual a esse: https://prnt.sc/ng222b
Seu ambiente de desenvolvimento, como criou o quê? Foi com Docker? Vagrant? Outro?
Pergunto porque esse erro aqui que me passou (https://prnt.sc/nfztck) normalmente é por conta problemas nos pacotes do composer, e se resolve com o comando "composer update". Mas, também pode ser por deficiências no ambiente, ou seja, quando o ambiente não atende aos requisitos exigidos pela versão do Laravel.
*
Definir a URL como POST:
Route::post('urlaqui', function () {
return 'Olá!';
});
Eu gostaria de resolver esse problema.
Uso o vagrant/homestead que até onde eu sei simula um possivel ambiante real.
Nesse mesmo ambiente eu tenho alguns sistemas desenvolvidos em laravel, um desses sistemas utiliza por exemplo o paypal, strip, e todos funcionam muito bem sem nenhum tipo de problema. Creio que do pagseguro deveria funcionar tambem.
Olá, Rafael!
Vou te ajudar a resolver o seu problema. :)
Agora, depois que fez as atualizações me envia novamente esse print atualizado: https://prnt.sc/nfztck
Quero analisar o se o erro é o mesmo, ou se mudou.
Conferiu se o módulo de CURL está habilitado?
No aguardo.
Boa tarde Carlos,
Eu testei locamente o erro continua o mesmo, então resolvi colocar em produção em dominio que uso pra testes, e tambem ocorre em produção, então pra verificar o que esta acontecendo vou deixar os dados de acesso e o dominio em questão para que vc de uma olhada mesmo, eu acredito que seja algo nos arquivos do sistema, mas da uma analisada e me diz quando identificar o erro o que estava acontecendo. Obrigado.
Dominio:
http://desempregado.net/public/info.php
-----------------------------------------------------------
Usúario e senha do sistema.
user: [email protected]
senha: jsdj$12sdjOks
------------------------------------------------------------
Arquivo info do php para ver as bibliotecas ativas.
info.php
http://desempregado.net/public/info.php
--------------------------------------------------------------
Dados do FTP caso queira verificar os arquivos.
Host: srv219.main-hosting.eu
Tipo de logon: Normal
usuario: u248028699.desempregado.net
senha: jsdj$12sdjOks
Porta: 21
Fico no aguardo.
Eu verifiquei no site do pagseguro e percebi que essa url https://ws.pagseguro.uol.com.br/v2/sessions que vc mostra no curso mudou para https://ws.pagseguro.uol.com.br/v2/sessions?{{credenciais}}, eu acho, talves nao tenha nada haver.
Um último teste, se não funcionar acesso o projeto e analiso pessoalmente o problema e resolvo.
Vi que extensão CURL está habilitada. Ok!
Por essa issue o problema está na versão do Guzzle, precisa fazer o upgrade para a versão 6.3, atualmente está com a versão 6.0 (https://github.com/guzzle/guzzle/issues/1973#issuecomment-350464169)
No arquivo composer.json remove essa linha:
guzzlehttp/guzzle: "~6.0"
Depois roda o comando composer update
Depois instala novamente, para instalar a última versão 6.3.3 (hoje!):
composer require guzzlehttp/guzzle
Depois disso tente novamente.
No aguardo!
Bom dia Carlos,
Aquele problema foi resolvido com sua instrução. Mas agora apareceu um outro problema que creio ser algo simples.
http://prntscr.com/niotwy
ou veja no site http://desempregado.net/public/
User: [email protected]
password: jsdj$12sdjOks
Opa! Que bom que resolveu aquele erro.
Segundo esse print que enviou o problema está no CPF, que é inválido. Experimenta trocar esse CPF para ver se é este o problema.
Esta dificil.!! O ultimo erro em questão não era por conta do cpf e sim por conta do estado que estava por extenso eu arrumei e agora aparece outro erro.
acessa ai e veja o erro: http://desempregado.net/public/
user: [email protected]
senha: jsdj$12sdjOks
Olá, Rafael!
Seja paciente, as coisas são assim mesmo com desenvolvimento :)
Testei aqui o pagamento com cartão de crédito, funcionou perfeitamente! (Confere lá: http://desempregado.net/public/meus-pedidos)
O boleto não funciona mais em Sandbox (não sei porque o PagSeguro desabilitou isso), para conseguir testar precisa trocar os dados para os valores reais, de produção.
Abs;
Verifiquei la esta funcionando o sistema com cartão, porém eu mudei o status la no pagseguro e não esta atualizando o status, mudei uma fatura para pago e outro para em analise mas no site nao muda o status , é normal isso ?
Olá, Rafael!
No painel de Sandbox do PagSeguro, você atualizou a URL da API (no caso a URL do seu projeto hospedado) que vai receber as requests e processar o pagamento?
Ola, Carlos,
Seguinte, eu nao tinha atualizado a URL, mas agora atualizei e acontece o seguinte.
O sistema reponde na pasta /public, eu fui la onde coloca a url e coloquei meudominio/public/api/pagseguro e retorna o status 403, dai tentei mudar para meudominio/api/pagseguro, ou seja, sem a pasta public e salvei, mas dai toda vez que eu altero o status o sistema do pagseguro vai e coloca logo abaixo de onde mostra os log a url que eu tinha colocado no começo que é meudominio/public/api/pagseguro e não a que eu salvei meudominio/api/pagseguro.
Pergunta, qual url seria a correta, sabendo que o o dominio responde na pasta /public ?
Outra pergunta, o sistema de boleto ja esta funcionando porém, o boleto abre na pagina do pagseguro mas como é transparente deveria abrir na minha url e nao na do pagseguro correto ?
http://prntscr.com/nn7vt5
http://prntscr.com/nn7w3p
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!