michaeldouglas / laravel-pagseguro

Integração com o gateway de pagamento pagseguro, para utilização com o Laravel
358 stars 119 forks source link

Erro 419 nas notificações #131

Closed lapis2006 closed 6 years ago

lapis2006 commented 6 years ago

Olá!

Eu estou tentando enviar notificações pelo PagSeguro ao sistema que estou criando e não estou conseguindo. Estou recebendo erro 419 nas notificações.

Estou no Sandbox e enviando através da página de transações.

O normal é o /notification, mas já alterei a URL várias vezes e não muda o codigo. Já criei uma outra função para esta URL apenas com um dd(1) , e mesmo assim continuo recebendo o código 419.

Segue o print da tela de notificação de transações do Sandbox do Pagseguro: screenshot_23

Obs: A URL está como POST no web.php.

lapis2006 commented 6 years ago

Estava usando a versão 5.5 do Laravel, fiz a atualização para a versão mais recente 5.6+, mas mesmo assim continuo recebendo essa notificação 419.

Acredito que eu deveria receber 200, certo?

isaquesb commented 6 years ago

@lapis2006 , você já verificou se esta rota esta protegida por csrf? A rota tem que estar liberada. Se estiver sobre o middleware de csrf ela possivelmente vai retornar esse código 419 quando pagseguro postar a notificação.

lapis2006 commented 6 years ago

Oi @isaquesb .. verifiquei sim. está sem nada. é início do projeto, ainda não fiz login e senha.

image

No caso o usuário está sendo criado com esse cadastro. E este pagamento neste caso é uma doação.

isaquesb commented 6 years ago

@lapis2006 ,

Só para testar, comenta a linha que marca:

\App\Http\Middleware\VerifyCsrfToken::class,

em

app/Http/Kernel.php

É o middleware de csrf aplicado ao middleware "web"

lapis2006 commented 6 years ago

é.. agora deu 200.

Só não sei agora como solucionar. Pode me dar uma ajuda?

lapis2006 commented 6 years ago

Ufa! Acredito que consegui resolver.... No arquivo VerifyCsrfToken.php eu coloquei o /notification no protected $except = [ ];.

@isaquesb , muito obrigado pela ajuda!