Open Monograph Press  3.3.0
vendor/omnipay/common/src/Common/AbstractGateway.php
1 <?php
6 namespace Omnipay\Common;
7 
12 
44 abstract class AbstractGateway implements GatewayInterface
45 {
46  use ParametersTrait {
47  setParameter as traitSetParameter;
49  }
50 
54  protected $httpClient;
55 
59  protected $httpRequest;
60 
67  public function __construct(ClientInterface $httpClient = null, HttpRequest $httpRequest = null)
68  {
69  $this->httpClient = $httpClient ?: $this->getDefaultHttpClient();
70  $this->httpRequest = $httpRequest ?: $this->getDefaultHttpRequest();
71  $this->initialize();
72  }
73 
79  public function getShortName()
80  {
81  return Helper::getGatewayShortName(get_class($this));
82  }
83 
90  public function initialize(array $parameters = array())
91  {
92  $this->parameters = new ParameterBag;
93 
94  // set default parameters
95  foreach ($this->getDefaultParameters() as $key => $value) {
96  if (is_array($value)) {
97  $this->parameters->set($key, reset($value));
98  } else {
99  $this->parameters->set($key, $value);
100  }
101  }
102 
104 
105  return $this;
106  }
107 
111  public function getDefaultParameters()
112  {
113  return array();
114  }
115 
120  public function getParameter($key)
121  {
122  return $this->traitGetParameter($key);
123  }
124 
130  public function setParameter($key, $value)
131  {
132  return $this->traitSetParameter($key, $value);
133  }
134 
138  public function getTestMode()
139  {
140  return $this->getParameter('testMode');
141  }
142 
147  public function setTestMode($value)
148  {
149  return $this->setParameter('testMode', $value);
150  }
151 
155  public function getCurrency()
156  {
157  return strtoupper($this->getParameter('currency'));
158  }
159 
164  public function setCurrency($value)
165  {
166  return $this->setParameter('currency', $value);
167  }
168 
174  public function supportsAuthorize()
175  {
176  return method_exists($this, 'authorize');
177  }
178 
184  public function supportsCompleteAuthorize()
185  {
186  return method_exists($this, 'completeAuthorize');
187  }
188 
194  public function supportsCapture()
195  {
196  return method_exists($this, 'capture');
197  }
198 
204  public function supportsPurchase()
205  {
206  return method_exists($this, 'purchase');
207  }
208 
214  public function supportsCompletePurchase()
215  {
216  return method_exists($this, 'completePurchase');
217  }
218 
224  public function supportsFetchTransaction()
225  {
226  return method_exists($this, 'fetchTransaction');
227  }
228 
234  public function supportsRefund()
235  {
236  return method_exists($this, 'refund');
237  }
238 
244  public function supportsVoid()
245  {
246  return method_exists($this, 'void');
247  }
248 
254  public function supportsAcceptNotification()
255  {
256  return method_exists($this, 'acceptNotification');
257  }
258 
264  public function supportsCreateCard()
265  {
266  return method_exists($this, 'createCard');
267  }
268 
274  public function supportsDeleteCard()
275  {
276  return method_exists($this, 'deleteCard');
277  }
278 
284  public function supportsUpdateCard()
285  {
286  return method_exists($this, 'updateCard');
287  }
288 
318  protected function createRequest($class, array $parameters)
319  {
320  $obj = new $class($this->httpClient, $this->httpRequest);
321 
322  return $obj->initialize(array_replace($this->getParameters(), $parameters));
323  }
324 
330  protected function getDefaultHttpClient()
331  {
332  return new Client();
333  }
334 
340  protected function getDefaultHttpRequest()
341  {
342  return HttpRequest::createFromGlobals();
343  }
344 }
Omnipay\Common\AbstractGateway\getTestMode
getTestMode()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:144
Omnipay\Common\AbstractGateway\supportsDeleteCard
supportsDeleteCard()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:280
Omnipay\Common\AbstractGateway\getCurrency
getCurrency()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:161
Omnipay\Common\AbstractGateway\getDefaultHttpClient
getDefaultHttpClient()
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:341
Omnipay\Common\AbstractGateway\setTestMode
setTestMode($value)
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:153
Omnipay\Common\AbstractGateway\supportsCreateCard
supportsCreateCard()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:270
Omnipay\Common\AbstractGateway\setCurrency
setCurrency($value)
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:170
Omnipay\Common\AbstractGateway\supportsVoid
supportsVoid()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:250
Omnipay\Common\AbstractGateway\$httpClient
$httpClient
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:61
Symfony\Component\HttpFoundation\Request
Definition: paymethod/paypal/lib/vendor/symfony/http-foundation/Request.php:31
Omnipay\Common\AbstractGateway\supportsAuthorize
supportsAuthorize()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:180
Omnipay\Common\AbstractGateway\getDefaultHttpRequest
getDefaultHttpRequest()
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:356
Omnipay\Common\AbstractGateway\createRequest
createRequest($class, array $parameters)
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:324
Omnipay\Common\AbstractGateway\getParameters
getParameters()
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:129
Omnipay\Common\AbstractGateway\supportsFetchTransaction
supportsFetchTransaction()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:230
Omnipay\Common\AbstractGateway\supportsUpdateCard
supportsUpdateCard()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:290
Omnipay\Common\AbstractGateway\getParameter
getParameter($key)
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:138
Omnipay\Common\Helper\initialize
static initialize($target, $parameters)
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/Helper.php:81
Omnipay\Common\AbstractGateway\getShortName
getShortName()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:85
Omnipay\Common\AbstractGateway\__construct
__construct(ClientInterface $httpClient=null, HttpRequest $httpRequest=null)
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:73
Omnipay\Common\ParametersTrait
trait ParametersTrait
Definition: ParametersTrait.php:9
Omnipay\Common\AbstractGateway\$httpRequest
$httpRequest
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:69
Omnipay\Common\AbstractGateway\supportsCapture
supportsCapture()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:200
Guzzle\Http\ClientInterface
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/ClientInterface.php:14
Symfony\Component\HttpFoundation\ParameterBag
Definition: lib/vendor/symfony/http-foundation/ParameterBag.php:19
Symfony\Component\HttpFoundation\ParameterBag\set
set($key, $value)
Definition: lib/vendor/symfony/http-foundation/ParameterBag.php:100
Omnipay\Common\AbstractGateway\supportsPurchase
supportsPurchase()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:210
Omnipay\Common\AbstractGateway\supportsCompleteAuthorize
supportsCompleteAuthorize()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:190
Omnipay\Common\Http\Client
Definition: paymethod/paypal/vendor/omnipay/common/src/Common/Http/Client.php:17
Omnipay\Common\Helper\getGatewayShortName
static getGatewayShortName($className)
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/Helper.php:99
Omnipay\Common\AbstractGateway\initialize
initialize(array $parameters=array())
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:100
Omnipay\Common\AbstractGateway\getDefaultParameters
getDefaultParameters()
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:121
Omnipay\Common
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:6
Omnipay\Common\AbstractGateway\supportsAcceptNotification
supportsAcceptNotification()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:260
Omnipay\Common\AbstractGateway\traitGetParameter
getParameter as traitGetParameter
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:48
Omnipay\Common\AbstractGateway\setParameter
setParameter($key, $value)
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:148
Omnipay\Common\Http\ClientInterface
Definition: vendor/omnipay/common/src/Common/Http/ClientInterface.php:11
Omnipay\Common\AbstractGateway\supportsCompletePurchase
supportsCompletePurchase()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:220
Omnipay\Common\AbstractGateway\$parameters
$parameters
Definition: lib/vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:53
Omnipay\Common\AbstractGateway\supportsRefund
supportsRefund()
Definition: vendor/omnipay/common/src/Common/AbstractGateway.php:240