for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Paranoia\Pos;
use Paranoia\Builder\AbstractBuilderFactory;
use Paranoia\Builder\NestPayBuilderFactory;
use Paranoia\Configuration\AbstractConfiguration;
use Paranoia\Processor\NestPayProcessorFactory;
use Paranoia\Request\Request;
class NestPay extends AbstractPos
{
/** @var AbstractBuilderFactory */
private $builderFactory;
/** @var NestPayProcessorFactory */
private $processorFactory;
public function __construct(AbstractConfiguration $configuration)
parent::__construct($configuration);
$this->builderFactory = new NestPayBuilderFactory($this->configuration);
$this->processorFactory = new NestPayProcessorFactory($this->configuration);
}
/**
* {@inheritdoc}
* @see \Paranoia\Pos\AbstractPos::buildRequest()
* @throws \Paranoia\Exception\NotImplementedError
*/
protected function buildRequest(Request $request, $transactionType)
$rawRequest = $this->builderFactory->createBuilder($transactionType)->build($request);
return array( 'DATA' => $rawRequest);
* @see \Paranoia\Pos\AbstractPos::parseResponse()
protected function parseResponse($rawResponse, $transactionType)
return $this->processorFactory->createProcessor($transactionType)->process($rawResponse);