Ejemplo n.º 1
0
 /**
  * Get publisher id
  *
  * @param string $email Email
  *
  * @return string
  */
 public function getPublisherId($email)
 {
     $publisherId = null;
     $sellerName = \XLite\Core\Config::getInstance()->Company->company_name;
     $data = array('sellerName' => $sellerName, 'emailAddress' => $email, 'bnCode' => static::BN_CODE);
     $request = new \XLite\Core\HTTP\Request(static::END_POINT);
     if (function_exists('curl_version')) {
         $request->setAdditionalOption(\CURLOPT_SSLVERSION, 1);
         $curlVersion = curl_version();
         if ($curlVersion && $curlVersion['ssl_version'] && 0 !== strpos($curlVersion['ssl_version'], 'NSS')) {
             $request->setAdditionalOption(\CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
         }
     }
     $request->body = json_encode($data);
     $request->verb = 'POST';
     $timeStamp = LC_START_TIME . '000';
     $authorization = 'FPA ' . static::CLIENT_KEY;
     $authorization .= ':' . sha1(static::SHARED_SECRET . $timeStamp);
     $authorization .= ':' . $timeStamp;
     $request->setHeader('Authorization', $authorization);
     $request->setHeader('Accept', 'application/json');
     $request->setHeader('Content-Type', 'application/json');
     $response = $request->sendRequest();
     \XLite\Module\CDev\Paypal\Main::addLog('getPublisherId', $response->body);
     if (201 == $response->code) {
         $responseData = json_decode($response->body, true);
         if ($responseData && isset($responseData['publisherId'])) {
             $publisherId = $responseData['publisherId'];
         }
     }
     return $publisherId;
 }
Ejemplo n.º 2
0
 /**
  * Defines if the clean urls can be enabled on the current server environment
  *
  * @return boolean
  */
 public function canEnableCleanURL()
 {
     $urlToCheck = \XLite::getInstance()->getShopURL() . \XLite::CLEAN_URL_CHECK_QUERY;
     $request = new \XLite\Core\HTTP\Request($urlToCheck);
     $request->setAdditionalOption(\CURLOPT_SSL_VERIFYPEER, false);
     $request->setAdditionalOption(\CURLOPT_SSL_VERIFYHOST, false);
     $this->curlResponse = $request->sendRequest();
     return !$this->isCleanURLEnabled() && $this->curlResponse && in_array($this->curlResponse->code, array(200, 301, 302));
 }
Ejemplo n.º 3
0
 /**
  * Return prepared request object
  *
  * @param string $action Action name
  * @param array  $data   Request data OPTIONAL
  *
  * @return \XLite\Core\HTTP\Request
  */
 protected function getRequest($action, array $data = array())
 {
     $url = $this->getMarketplaceActionURL($action);
     $data += $this->getRequestCommonData();
     $request = new \XLite\Core\HTTP\Request($url);
     $request->body = $data;
     if (function_exists('curl_version')) {
         $request->setAdditionalOption(\CURLOPT_SSLVERSION, 1);
         $curlVersion = curl_version();
         if ($curlVersion && $curlVersion['ssl_version'] && 0 !== strpos($curlVersion['ssl_version'], 'NSS')) {
             $request->setAdditionalOption(\CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
         }
     }
     if (in_array($action, static::getLongActions())) {
         $request->requestTimeout = static::REQUEST_LONG_TTL;
     } else {
         $request->requestTimeout = static::REQUEST_TTL;
     }
     $this->logInfo($action, 'The "{{url}}" URL requested', array('url' => $url), $data);
     return $request;
 }
Ejemplo n.º 4
0
 /**
  * Returns new request object
  *
  * @param string $type   Request type
  * @param array  $params Request params
  *
  * @return \XLite\Core\HTTP\Request
  */
 protected function createRequest($type, $params)
 {
     $this->response = null;
     $request = new \XLite\Core\HTTP\Request($this->createUrl($type, $params));
     if (function_exists('curl_version')) {
         $request->setAdditionalOption(\CURLOPT_SSLVERSION, 1);
         $curlVersion = curl_version();
         if ($curlVersion && $curlVersion['ssl_version'] && 0 !== strpos($curlVersion['ssl_version'], 'NSS')) {
             $request->setAdditionalOption(\CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
         }
     }
     $request->body = $this->prepareParams($type, $params);
     $request->verb = 'POST';
     $request = $this->prepareRequest($request, $type, $params);
     return $request;
 }
Ejemplo n.º 5
0
 /**
  * Get IPN verification status
  *
  * @return boolean TRUE if verification status is received
  */
 protected function getIPNVerification()
 {
     $ipnRequest = new \XLite\Core\HTTP\Request($this->getIPNURL());
     if (function_exists('curl_version')) {
         $ipnRequest->setAdditionalOption(\CURLOPT_SSLVERSION, 1);
         $curlVersion = curl_version();
         if ($curlVersion && $curlVersion['ssl_version'] && 0 !== strpos($curlVersion['ssl_version'], 'NSS')) {
             $ipnRequest->setAdditionalOption(\CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
         }
     }
     $ipnRequest->body = \XLite\Core\Request::getInstance()->getData();
     $ipnResult = $ipnRequest->sendRequest();
     if ($ipnResult) {
         \XLite\Module\CDev\Paypal\Main::addLog('getIPNVerification()', $ipnResult->body);
         $result = 0 < preg_match('/VERIFIED/i', $ipnResult->body) ? self::IPN_VERIFIED : self::IPN_DECLINED;
     } else {
         $result = self::IPN_REQUEST_ERROR;
     }
     return $result;
 }