new pisilinux web sites
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
<?php namespace ZN\Payment;
|
||||
|
||||
use ZN\Singleton;
|
||||
use ZN\DateTime\Date;
|
||||
|
||||
abstract class GatewayRequestAbstract
|
||||
{
|
||||
/**
|
||||
* Protected settings
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $settings = [];
|
||||
|
||||
/**
|
||||
* Magic call
|
||||
*
|
||||
* @param string $method
|
||||
* @param array $parameters
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function __call($method, $parameters)
|
||||
{
|
||||
if( isset($parameters[0]) )
|
||||
{
|
||||
$this->settings[$method] = $parameters[0];
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send request.
|
||||
*
|
||||
* @param string $type;
|
||||
*/
|
||||
abstract public function send(string $type);
|
||||
|
||||
/**
|
||||
* Protected signature encoder
|
||||
*/
|
||||
protected function signatureEncoder($signature)
|
||||
{
|
||||
return base64_encode(pack('H*', sha1($signature)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Protected missing information
|
||||
*/
|
||||
protected function missingInformation()
|
||||
{
|
||||
foreach( $this->required as $data => $value )
|
||||
{
|
||||
if( ! isset($this->settings[$data]) )
|
||||
{
|
||||
throw new Exception\MissingInformationException(NULL, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Protected year month converter
|
||||
*/
|
||||
protected function yearAndMonthConverter(&$year, &$month)
|
||||
{
|
||||
$date = new Date;
|
||||
$date = $date->convert($year . '-' . $month . '-01', '{sy}/{mn0}');
|
||||
$dateEx = explode('/', $date);
|
||||
$year = $dateEx[0] ?? $year;
|
||||
$month = $dateEx[1] ?? $month;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user