diff --git a/src/AbstractTescoClubcardGateway.php b/src/AbstractTescoClubcardGateway.php index 8c53d1b..00aef8c 100644 --- a/src/AbstractTescoClubcardGateway.php +++ b/src/AbstractTescoClubcardGateway.php @@ -93,13 +93,13 @@ abstract public function validate(array $parameters = array()); * @param string $voucherNumber * @return RedeemResponseInterface */ - abstract public function redeem($voucherNumber); + abstract public function redeem(array $parameters = array()); /** * @param string $voucherNumber * @return UnredeemResponseInterface */ - abstract public function unredeem($voucherNumber); + abstract public function unredeem(array $parameters = array()); // @TODO: Do "cancel" and "add reference" at some point. } diff --git a/src/IrelandGateway.php b/src/IrelandGateway.php index b308503..f097d0e 100644 --- a/src/IrelandGateway.php +++ b/src/IrelandGateway.php @@ -40,27 +40,23 @@ public function validate(array $parameters = array()) * @param string $voucherNumber * @return RedeemResponseInterface */ - public function redeem($voucherNumber) + public function redeem(array $parameters = array()) { - error_log('/'); - error_log('validate voucher (Ireland): '.$voucherNumber); - $message = new RedeemMessage($voucherNumber); - - //error_log('Redeem $message: '.var_export($message, true)); - return new RedeemResponse($this->send($message)); + return $this->createRequest( + '\DigiTickets\TescoClubcard\Messages\Ireland\Requests\RedeemRequest', + $parameters + ); } /** * @param string $voucherNumber * @return UnredeemResponseInterface */ - public function unredeem($voucherNumber) + public function unredeem(array $parameters = array()) { - error_log('/'); - error_log('validate voucher (Ireland): '.$voucherNumber); - $message = new UnredeemMessage($voucherNumber); - - //error_log('Unredeem $message: '.var_export($message, true)); - return new UnredeemResponse($this->send($message)); + return $this->createRequest( + '\DigiTickets\TescoClubcard\Messages\Ireland\Requests\UnredeemRequest', + $parameters + ); } } diff --git a/src/Messages/Ireland/Requests/RedeemRequest.php b/src/Messages/Ireland/Requests/RedeemRequest.php new file mode 100644 index 0000000..3b5c02a --- /dev/null +++ b/src/Messages/Ireland/Requests/RedeemRequest.php @@ -0,0 +1,29 @@ +getVoucherCode()); + } + + /** + * @param RequestInterface $request + * @param mixed $response + * @return AbstractResponse + */ + protected function buildResponse($request, $response) + { + return new RedeemResponse($request, $response); + } +} diff --git a/src/Messages/Ireland/Requests/UnredeemRequest.php b/src/Messages/Ireland/Requests/UnredeemRequest.php new file mode 100644 index 0000000..ce0d94a --- /dev/null +++ b/src/Messages/Ireland/Requests/UnredeemRequest.php @@ -0,0 +1,29 @@ +getVoucherCode()); + } + + /** + * @param RequestInterface $request + * @param mixed $response + * @return AbstractResponse + */ + protected function buildResponse($request, $response) + { + return new UnredeemResponse($request, $response); + } +} diff --git a/src/Messages/Ireland/Requests/ValidateRequest.php b/src/Messages/Ireland/Requests/ValidateRequest.php index ffa7e28..ea6b274 100644 --- a/src/Messages/Ireland/Requests/ValidateRequest.php +++ b/src/Messages/Ireland/Requests/ValidateRequest.php @@ -3,13 +3,13 @@ namespace DigiTickets\TescoClubcard\Messages\Ireland\Requests; use DigiTickets\TescoClubcard\Messages\AbstractMessage; +use DigiTickets\TescoClubcard\Messages\Ireland\Responses\AbstractResponse; use DigiTickets\TescoClubcard\Messages\Ireland\Responses\ValidateResponse; use DigiTickets\TescoClubcard\Messages\ValidateMessage; class ValidateRequest extends AbstractRemoteRequest { /** - * @param string $data * @return AbstractMessage */ protected function buildMessage() @@ -20,7 +20,7 @@ protected function buildMessage() /** * @param RequestInterface $request * @param mixed $response - * @return AbstractRemoteResponse + * @return AbstractResponse */ protected function buildResponse($request, $response) {