Example #1
0
 /**
  * Sends a request to the Avatax server
  *
  * @param int $storeId
  * @return mixed
  */
 protected function _send($storeId)
 {
     /** @var OnePica_AvaTax_Model_Config $config */
     $config = Mage::getSingleton('avatax/config')->init($storeId);
     $connection = $config->getTaxConnection();
     $result = null;
     $message = null;
     try {
         $result = $connection->getTax($this->_request);
     } catch (Exception $exception) {
         $message = new Message();
         $message->setSummary($exception->getMessage());
     }
     if (!isset($result) || !is_object($result) || !$result->getResultCode()) {
         $actualResult = $result;
         $result = new Varien_Object();
         $result->setResultCode(SeverityLevel::$Exception)->setActualResult($actualResult)->setMessages(array($message));
     }
     $this->_log(OnePica_AvaTax_Model_Source_Logtype::GET_TAX, $this->_request, $result, $storeId, $config->getParams());
     if ($result->getResultCode() != SeverityLevel::$Success) {
         self::$_hasError = true;
         if (Mage::helper('avatax')->fullStopOnError($storeId)) {
             Mage::helper('avatax')->addErrorMessage($storeId);
         }
     } else {
         Mage::helper('avatax')->removeErrorMessage();
     }
     return $result;
 }
Example #2
0
 /**
  * Sends a request to the Avatax server
  *
  * @param int $storeId
  * @return mixed
  */
 protected function _send($storeId)
 {
     /** @var OnePica_AvaTax_Model_Config $config */
     $config = $this->getServiceConfig();
     $connection = $config->getTaxConnection();
     $result = null;
     $message = null;
     try {
         $result = $connection->getTax($this->_request);
     } catch (Exception $exception) {
         $message = new Message();
         $message->setSummary($exception->getMessage());
     }
     if (!isset($result) || !is_object($result) || !$result->getResultCode()) {
         $actualResult = $result;
         $result = new Varien_Object();
         $result->setResultCode(SeverityLevel::$Exception)->setActualResult($actualResult)->setMessages(array($message));
     }
     $this->_log(OnePica_AvaTax_Model_Source_Avatax_Logtype::GET_TAX, $this->_request, $result, $storeId, $config->getParams());
     return $result;
 }
Example #3
0
 /**
  * Tries to ping AvaTax service with provided credentials
  *
  * @param int $storeId
  * @return bool|array
  */
 public function ping($storeId = null)
 {
     /** @var OnePica_AvaTax_Model_Config $config */
     $config = $this->getServiceConfig();
     $connection = $config->getTaxConnection();
     $result = null;
     $message = null;
     try {
         $result = $connection->ping();
     } catch (Exception $exception) {
         $message = $exception->getMessage();
     }
     if (!isset($result) || !is_object($result) || !$result->getResultCode()) {
         $actualResult = $result;
         $result = new Varien_Object();
         $result->setResultCode(SeverityLevel::$Exception);
         $result->setActualResult($actualResult);
         $result->setMessage($message);
     }
     $this->_log(OnePica_AvaTax_Model_Source_Avatax_Logtype::PING, new stdClass(), $result, $storeId, $config->getParams());
     return $result->getResultCode() == SeverityLevel::$Success ? true : $result->getMessage();
 }
 /**
  * Post request to gateway and return response
  *
  * @param Varien_Object $request
  * @return Varien_Object
  */
 protected function _postRequest(Varien_Object $request)
 {
     $debugData = array('request' => $request->getData());
     $client = new Varien_Http_Client();
     $result = new Varien_Object();
     $_config = array('maxredirects' => 5, 'timeout' => 30);
     $_isProxy = $this->getConfigData('use_proxy', false);
     if ($_isProxy) {
         $_config['proxy'] = $this->getConfigData('proxy_host') . ':' . $this->getConfigData('proxy_port');
         //http://proxy.shr.secureserver.net:3128',
         $_config['httpproxytunnel'] = true;
         $_config['proxytype'] = CURLPROXY_HTTP;
     }
     $client->setUri($this->_getTransactionUrl())->setConfig($_config)->setMethod(Zend_Http_Client::POST)->setParameterPost($request->getData())->setHeaders('X-VPS-VIT-CLIENT-CERTIFICATION-ID: 33baf5893fc2123d8b191d2d011b7fdc')->setHeaders('X-VPS-Request-ID: ' . $request->getRequestId())->setHeaders('X-VPS-CLIENT-TIMEOUT: ' . $this->_clientTimeout);
     try {
         /**
          * we are sending request to payflow pro without url encoding
          * so we set up _urlEncodeBody flag to false
          */
         $response = $client->setUrlEncodeBody(false)->request();
     } catch (Exception $e) {
         $result->setResponseCode(-1)->setResponseReasonCode($e->getCode())->setResponseReasonText($e->getMessage());
         $debugData['result'] = $result->getData();
         $this->_debug($debugData);
         throw $e;
     }
     $response = strstr($response->getBody(), 'RESULT');
     $valArray = explode('&', $response);
     foreach ($valArray as $val) {
         $valArray2 = explode('=', $val);
         $result->setData(strtolower($valArray2[0]), $valArray2[1]);
     }
     $result->setResultCode($result->getResult())->setRespmsg($result->getRespmsg());
     $debugData['result'] = $result->getData();
     $this->_debug($debugData);
     return $result;
 }
Example #5
0
 /**
  * Convert exception to result
  *
  * @param Exception $e
  * @return Varien_Object
  */
 protected function _convertExceptionToResult($e)
 {
     $result = new Varien_Object();
     $result->setResultCode(SeverityLevel::$Exception)->setError($e->getMessage());
     return $result;
 }