/**
  * 
  * @param array $positionData
  * @return InvoicePosition
  */
 private function _createPositionEntry($positionData)
 {
     $position = $this->_invoice->getEmptyInvoicePositionObject();
     foreach ($position->filterKeys(array_keys($positionData)) as $positionKey) {
         $position->{$positionKey} = $positionData[$positionKey];
     }
     return $position;
 }
 /**
  * @return binary
  */
 public function receivePdf()
 {
     $receiveUrl = sprintf("%s%s.%s.%s", self::API_GET_INVOICE_URL, InvoiceAbstract::filterNumber($this->_invoice->{InvoiceResponse::KEY_PELNY_NUMER}), self::FILE_TYPE_PDF, self::INVOICE_TYPE_ORIGINAL);
     $this->_initCurrentCurl($receiveUrl);
     $key = Utils::hexToStr($this->_getConfig()->{Config::API_KEY_INVOICE});
     $messageHash = Utils::hmac($key, sprintf("%s%s%s", $receiveUrl, $this->_getConfig()->{Config::API_LOGIN}, Config::API_KEY_INVOICE_NAME));
     $this->_setCurlGetOptions($receiveUrl, $this->_getRequestHeaders($messageHash, self::FILE_TYPE_PDF));
     return curl_exec($this->_currentCurl);
 }
 /**
  * 
  * @param \ifirma\InvoiceBillPosition $position
  * @return type
  */
 public function addInvoiceBillPosition(InvoiceBillPosition $position)
 {
     return parent::addInvoicePosition($position);
 }