예제 #1
0
 /**
  * Function returns authorize by client credentials response
  * @access public
  * @param bool $debug
  * @return OpenPayUResultOAuth $result
  */
 public static function accessTokenByClientCredentials($debug = true)
 {
     $url = OpenPayUConfiguration::getServiceUrl() . 'oauth/authorize';
     $result = new OpenPayUResultOAuth();
     $result->setUrl($url);
     OpenPayU::setOpenPayuEndPoint($url);
     if ($debug) {
         OpenPayU::addOutputConsole('retrieve accessToken', 'retrieve accessToken, client credentials mode, url: ' . $url);
     }
     try {
         OpenPayU::setOpenPayuEndPoint($url);
         $json = OpenPayUOAuth::getAccessTokenByClientCredentials(OpenPayUConfiguration::getClientId(), OpenPayUConfiguration::getClientSecret());
         $result->setAccessToken($json->{'access_token'});
         if (isset($json->{'payu_user_email'})) {
             $result->setPayuUserEmail($json->{'payu_user_email'});
         }
         if (isset($json->{'payu_user_id'})) {
             $result->setPayuUserId($json->{'payu_user_id'});
         }
         $result->setExpiresIn($json->{'expires_in'});
         if (isset($json->{'refresh_token'})) {
             $result->setRefreshToken($json->{'refresh_token'});
         }
         $result->setSuccess(1);
     } catch (Exception $ex) {
         $result->setSuccess(0);
         $result->setError($ex->getMessage());
     }
     return $result;
 }