ssheduardo / sermepa

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

Throw custom Exception to improve catching errors #52

Closed pherrymason closed 6 years ago

pherrymason commented 6 years ago

Throwing custom exceptions allows to differentiate between errors happening exclusively in Tpv and other parts of the code.


try {
    $tpv = new Tpv();
    $parameters = $this->tpv->getMerchantParameters($_REQUEST['Ds_MerchantParameters']);
    $DsResponse = $parameters['Ds_Response'];
    $DsResponse += 0;
    if ($DsResponse <= 99 && $this->tpv->check($key, $_REQUEST)) {
        $result = $this->onSuccess($parameters, $closeOrderOnSuccess);
    }
    $this->closeOrder($result);
} catch (\Sermepa\Tpv $e) {
   // ....
} catch (\InvalidArgumentsException $e) {
  // ...
} catch (\Exception $e) {
 // ...
}
ssheduardo commented 6 years ago

Hola, Gracias por tu aportación, en si no afecta en nada a la estabilidad del paquete pero voy a ponerme a probarlo un poco, aunque lo más probable es que haga un merge.