Skip to content

Commit

Permalink
Add requests and responses for redeem and unredeem voucher.
Browse files Browse the repository at this point in the history
  • Loading branch information
glenn committed Jan 26, 2018
1 parent 4207571 commit 9f0b943
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 18 deletions.
4 changes: 2 additions & 2 deletions src/AbstractTescoClubcardGateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -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.
}
24 changes: 10 additions & 14 deletions src/IrelandGateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
);
}
}
29 changes: 29 additions & 0 deletions src/Messages/Ireland/Requests/RedeemRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

namespace DigiTickets\TescoClubcard\Messages\Ireland\Requests;

use DigiTickets\TescoClubcard\Messages\AbstractMessage;
use DigiTickets\TescoClubcard\Messages\Ireland\Responses\AbstractResponse;
use DigiTickets\TescoClubcard\Messages\Ireland\Responses\RedeemResponse;
use DigiTickets\TescoClubcard\Messages\RedeemMessage;

class RedeemRequest extends AbstractRemoteRequest
{
/**
* @return AbstractMessage
*/
protected function buildMessage()
{
return new RedeemMessage($this->getVoucherCode());
}

/**
* @param RequestInterface $request
* @param mixed $response
* @return AbstractResponse
*/
protected function buildResponse($request, $response)
{
return new RedeemResponse($request, $response);
}
}
29 changes: 29 additions & 0 deletions src/Messages/Ireland/Requests/UnredeemRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

namespace DigiTickets\TescoClubcard\Messages\Ireland\Requests;

use DigiTickets\TescoClubcard\Messages\AbstractMessage;
use DigiTickets\TescoClubcard\Messages\Ireland\Responses\AbstractResponse;
use DigiTickets\TescoClubcard\Messages\Ireland\Responses\UnredeemResponse;
use DigiTickets\TescoClubcard\Messages\UnredeemMessage;

class UnredeemRequest extends AbstractRemoteRequest
{
/**
* @return AbstractMessage
*/
protected function buildMessage()
{
return new UnredeemMessage($this->getVoucherCode());
}

/**
* @param RequestInterface $request
* @param mixed $response
* @return AbstractResponse
*/
protected function buildResponse($request, $response)
{
return new UnredeemResponse($request, $response);
}
}
4 changes: 2 additions & 2 deletions src/Messages/Ireland/Requests/ValidateRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -20,7 +20,7 @@ protected function buildMessage()
/**
* @param RequestInterface $request
* @param mixed $response
* @return AbstractRemoteResponse
* @return AbstractResponse
*/
protected function buildResponse($request, $response)
{
Expand Down

0 comments on commit 9f0b943

Please sign in to comment.