michaeldouglas / laravel-pagseguro

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

Bug na notificação do Pagseguro #76

Closed enniosousa closed 8 years ago

enniosousa commented 8 years ago

No arquivo https://github.com/michaeldouglas/laravel-pagseguro/blob/master/src/laravel/pagseguro/Notification/Notification.php

No método

public function setNotificationType($type)
    {
        $type = strtolower($type);
        if ($type !== 'transaction') {
            throw new \InvalidArgumentException('Unsupported type:' . $type);
        }
        $this->notificationType = $type;
        return $this;
    }

O $type foi passado uma string com espaço no final da palavra "transaction", então é necessário limpar todos os espaço da string antes de verificar na condição.

Minha solução:

public function setNotificationType($type)
    {
        $type = strtolower($type);
        $type = preg_replace('/\s+/', '', $type);
        if ($type !== 'transaction') {
            throw new \InvalidArgumentException('Unsupported type:' . $type);
        }
        $this->notificationType = $type;
        return $this;
    }
isaquesb commented 8 years ago

Corrigido com trim. Eu nunca tive esse problema, mas de qualquer forma, coloquei um trim ali.