/**
  * @param string $partnerToken
  * @param string $apiSecret
  * @param integer $timeoutInSeconds
  * @param \SlevomatZboziApi\ZboziApiLogger $logger
  * @return \SlevomatZboziApi\Request\RequestMaker
  */
 public static function create($partnerToken, $apiSecret, $timeoutInSeconds, ZboziApiLogger $logger = null)
 {
     TypeValidator::checkString($partnerToken);
     TypeValidator::checkString($apiSecret);
     TypeValidator::checkInteger($timeoutInSeconds);
     $client = new \GuzzleHttp\Client();
     return new RequestMaker($client, $partnerToken, $apiSecret, $timeoutInSeconds, $logger);
 }
 /**
  * @param string $partnerToken
  * @param string $apiSecret
  * @param string $apiUrl
  * @param integer $timeoutInSeconds (0 = unlimited)
  * @param \SlevomatZboziApi\ZboziApiLogger $logger
  * @return \SlevomatZboziApi\ZboziApiClient
  */
 public static function create($partnerToken, $apiSecret, $apiUrl, $timeoutInSeconds = 30, ZboziApiLogger $logger = null)
 {
     TypeValidator::checkString($partnerToken);
     TypeValidator::checkString($apiSecret);
     TypeValidator::checkString($apiUrl);
     TypeValidator::checkInteger($timeoutInSeconds);
     $responseValidator = new ResponseValidator();
     $requestMaker = RequestMakerFactory::create($partnerToken, $apiSecret, $timeoutInSeconds, $logger);
     return new ZboziApiClient($requestMaker, $responseValidator, $apiUrl);
 }
 /**
  * @param \GuzzleHttp\ClientInterface $client
  * @param string $partnerToken
  * @param string $apiSecret
  * @param integer $timeoutInSeconds
  * @param \SlevomatZboziApi\ZboziApiLogger $logger
  */
 public function __construct(\GuzzleHttp\ClientInterface $client, $partnerToken, $apiSecret, $timeoutInSeconds, ZboziApiLogger $logger = null)
 {
     TypeValidator::checkString($partnerToken);
     TypeValidator::checkString($apiSecret);
     TypeValidator::checkInteger($timeoutInSeconds);
     $this->client = $client;
     $this->partnerToken = $partnerToken;
     $this->apiSecret = $apiSecret;
     $this->timeoutInSeconds = $timeoutInSeconds;
     $this->logger = $logger;
 }
 /**
  * @param integer $statusCode
  * @param array|null $body
  */
 public function __construct($statusCode, array $body = null)
 {
     TypeValidator::checkInteger($statusCode);
     $this->body = $body;
     $this->statusCode = $statusCode;
 }
 /**
  * @param integer $amount
  */
 private function setAmount($amount)
 {
     TypeValidator::checkInteger($amount);
     $this->amount = $amount;
 }