示例#1
0
 /**
  * doActionUpdateCredentials
  *
  * @return void
  */
 protected function doActionUpdateCredentials()
 {
     $request = \XLite\Core\Request::getInstance();
     $data = array();
     if ($request->merchantIdInPayPal) {
         $apiClient = new Paypal\Core\RESTAPI();
         $data = $apiClient->getMerchantCredentials(Paypal\Core\RESTAPI::PARTNER_ID, $request->merchantIdInPayPal);
     }
     $method = Paypal\Main::getPaymentMethod(Paypal\Main::PP_METHOD_EC);
     if ($data && isset($data['api_credentials']) && isset($data['api_credentials']['signature'])) {
         $credentials = $data['api_credentials']['signature'];
         $method->setSetting('api_type', 'api');
         $method->setSetting('api_solution', 'paypal');
         $method->setSetting('api_username', $credentials['api_user_name']);
         $method->setSetting('api_password', $credentials['api_password']);
         $method->setSetting('auth_method', 'signature');
         $method->setSetting('signature', $credentials['signature']);
         $method->setSetting('mode', 'live');
         $method->setSetting('merchantId', $data['merchant_id']);
         $method->update();
         \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('category' => 'CDev\\Paypal', 'name' => 'show_admin_welcome', 'value' => 'N'));
         \XLite\Core\TopMessage::getInstance()->addInfo('Your API credentials have been successfully obtained from your PayPal account' . ' and saved for use by your X-Cart store.');
     } else {
         \XLite\Core\TopMessage::getInstance()->addError('Unfortunately, your API credentials could not be obtained from your PayPal account automatically.');
     }
     $this->setReturnURL($this->buildURL('paypal_settings', '', array('method_id' => $method->getMethodId())));
 }
示例#2
0
 /**
  * Prepare request
  *
  * @param \XLite\Core\HTTP\Request $request Request
  * @param string                   $type    Request type
  * @param array                    $params  Request params
  *
  * @return \XLite\Core\HTTP\Request
  */
 protected function prepareRequest($request, $type, $params)
 {
     $request->setHeader('Accept', 'application/json');
     $request->setHeader('Accept-Language', 'en_US');
     $request->setHeader('Content-Type', 'application/x-www-form-urlencoded');
     $authorization = base64_encode(sprintf('%s:%s', \Xlite\Core\Config::getInstance()->CDev->Paypal->loginClientId, \Xlite\Core\Config::getInstance()->CDev->Paypal->loginClientSecret));
     $request->setHeader('Authorization', sprintf('Basic %s', $authorization));
     return parent::prepareRequest($request, $type, $params);
 }