ssheduardo / sermepa

Clase para utilizar la pasarela de pagos redsys, sermepa.
MIT License
194 stars 59 forks source link

Minor cosmetic fixes #53

Closed pherrymason closed 6 years ago

pherrymason commented 6 years ago

This PR makes some minor fixes like:

ssheduardo commented 6 years ago

Gracias por darte el trabajo de hacer limpia en el código, este fin de semana que tengo libre realizo las pruebas y merge. Tanto tiempo con el setEnviroment mal escrito, eso me di cuenta ayer con otra clase.

pherrymason commented 6 years ago

No problem! Tengo pensado añadir Unit Test tambien, pero para ello quizà haga falta un refactor mas profundo, si estás de acuerdo puedo echarle un vistazo.

ssheduardo commented 6 years ago

Lo que veo que al verificar la tarjeta solo comparas si esta vacio

 if ($this->isEmpty($expirydate) != 4) {
              throw new TpvException('Expire date is not valid');
 }

Siempre va saltar esta excepción (true != 4 ) (false !=4)

Lo de las pruebas siempre me han apetecido el agregarlas pero siempre los he dejado, si quieres se puede ver y agregar, lo único ver que no se rompa nada claro esta.

pherrymason commented 6 years ago

Cierto, ahi no se debe usar isEmpty, bien visto.

ssheduardo commented 6 years ago

Ya, ayer me puse a verlo por encima todo.

ssheduardo commented 6 years ago

Acabo de ver este método y el valor tiene que ser mayor a 0 sino da error, acabo de cambiarlo por <=0 y el texto.

public function setAmount($amount)
    {
        if ($amount <= 0) {
            throw new TpvException('Amount must be greater than equal 0.');
        }
        $amount = $this->convertNumber($amount);
        $amount = intval(strval($amount * 100));
        $this->_setParameters['DS_MERCHANT_AMOUNT'] = $amount;
    }

Al final no me percate que tenemos pago con referencia:

Para este primer pago, se podrá enviar una operación de importe 0 euros, que se llevará a cabo como cualquier otra operación de importe superior.

Así que nada, se deja como estaba.

pherrymason commented 6 years ago

Ok. Para mejor seguimiento, puedes comentar directamente en el código, en la pestaña Files Changed ;)