Commit 21cfa56a authored by attilak's avatar attilak

Using DI instead of the object manager and create Adyen Clinet factory

function instead of WET
parent d2419537
...@@ -60,32 +60,7 @@ class TransactionAuthorization implements ClientInterface ...@@ -60,32 +60,7 @@ class TransactionAuthorization implements ClientInterface
$this->_recurringType = $recurringType; $this->_recurringType = $recurringType;
$this->_appState = $context->getAppState(); $this->_appState = $context->getAppState();
// initialize client $this->_client = $this->_adyenHelper->initializeAdyenClient();
$webserviceUsername = $this->_adyenHelper->getWsUsername();
$webservicePassword = $this->_adyenHelper->getWsPassword();
$client = new \Adyen\Client();
$client->setApplicationName("Magento 2 plugin");
$client->setUsername($webserviceUsername);
$client->setPassword($webservicePassword);
$client->setAdyenPaymentSource($this->_adyenHelper->getModuleName(), $this->_adyenHelper->getModuleVersion());
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
$client->setExternalPlatform($productMetadata->getName(), $productMetadata->getVersion());
if ($this->_adyenHelper->isDemoMode()) {
$client->setEnvironment(\Adyen\Environment::TEST);
} else {
$client->setEnvironment(\Adyen\Environment::LIVE);
}
// assign magento log
$client->setLogger($adyenLogger);
$this->_client = $client;
} }
/** /**
......
...@@ -55,31 +55,7 @@ class TransactionCancel implements ClientInterface ...@@ -55,31 +55,7 @@ class TransactionCancel implements ClientInterface
$this->_recurringType = $recurringType; $this->_recurringType = $recurringType;
$this->_appState = $context->getAppState(); $this->_appState = $context->getAppState();
// initialize client $this->_client = $this->_adyenHelper->initializeAdyenClient();
$webserviceUsername = $this->_adyenHelper->getWsUsername();
$webservicePassword = $this->_adyenHelper->getWsPassword();
$client = new \Adyen\Client();
$client->setApplicationName("Magento 2 plugin");
$client->setUsername($webserviceUsername);
$client->setPassword($webservicePassword);
$client->setAdyenPaymentSource($this->_adyenHelper->getModuleName(), $this->_adyenHelper->getModuleVersion());
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
$client->setExternalPlatform($productMetadata->getName(), $productMetadata->getVersion());
if ($this->_adyenHelper->isDemoMode()) {
$client->setEnvironment(\Adyen\Environment::TEST);
} else {
$client->setEnvironment(\Adyen\Environment::LIVE);
}
// assign magento log
$client->setLogger($adyenLogger);
$this->_client = $client;
} }
/** /**
......
...@@ -55,31 +55,7 @@ class TransactionCapture implements ClientInterface ...@@ -55,31 +55,7 @@ class TransactionCapture implements ClientInterface
$this->_recurringType = $recurringType; $this->_recurringType = $recurringType;
$this->_appState = $context->getAppState(); $this->_appState = $context->getAppState();
// initialize client $this->_client = $this->_adyenHelper->initializeAdyenClient();
$webserviceUsername = $this->_adyenHelper->getWsUsername();
$webservicePassword = $this->_adyenHelper->getWsPassword();
$client = new \Adyen\Client();
$client->setApplicationName("Magento 2 plugin");
$client->setUsername($webserviceUsername);
$client->setPassword($webservicePassword);
$client->setAdyenPaymentSource($this->_adyenHelper->getModuleName(), $this->_adyenHelper->getModuleVersion());
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
$client->setExternalPlatform($productMetadata->getName(), $productMetadata->getVersion());
if ($this->_adyenHelper->isDemoMode()) {
$client->setEnvironment(\Adyen\Environment::TEST);
} else {
$client->setEnvironment(\Adyen\Environment::LIVE);
}
// assign magento log
$client->setLogger($adyenLogger);
$this->_client = $client;
} }
/** /**
......
...@@ -55,31 +55,7 @@ class TransactionRefund implements ClientInterface ...@@ -55,31 +55,7 @@ class TransactionRefund implements ClientInterface
$this->_recurringType = $recurringType; $this->_recurringType = $recurringType;
$this->_appState = $context->getAppState(); $this->_appState = $context->getAppState();
// initialize client $this->_client = $this->_adyenHelper->initializeAdyenClient();
$webserviceUsername = $this->_adyenHelper->getWsUsername();
$webservicePassword = $this->_adyenHelper->getWsPassword();
$client = new \Adyen\Client();
$client->setApplicationName("Magento 2 plugin");
$client->setUsername($webserviceUsername);
$client->setPassword($webservicePassword);
$client->setAdyenPaymentSource($this->_adyenHelper->getModuleName(), $this->_adyenHelper->getModuleVersion());
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
$client->setExternalPlatform($productMetadata->getName(), $productMetadata->getVersion());
if ($this->_adyenHelper->isDemoMode()) {
$client->setEnvironment(\Adyen\Environment::TEST);
} else {
$client->setEnvironment(\Adyen\Environment::LIVE);
}
// assign magento log
$client->setLogger($adyenLogger);
$this->_client = $client;
} }
/** /**
......
...@@ -84,6 +84,16 @@ class Data extends AbstractHelper ...@@ -84,6 +84,16 @@ class Data extends AbstractHelper
*/ */
protected $_taxCalculation; protected $_taxCalculation;
/**
* @var \Magento\Framework\App\ProductMetadataInterface
*/
protected $productMetadata;
/**
* @var \Adyen\Payment\Logger\AdyenLogger
*/
protected $adyenLogger;
/** /**
* Data constructor. * Data constructor.
* *
...@@ -95,6 +105,8 @@ class Data extends AbstractHelper ...@@ -95,6 +105,8 @@ class Data extends AbstractHelper
* @param \Adyen\Payment\Model\ResourceModel\Billing\Agreement\CollectionFactory $billingAgreementCollectionFactory * @param \Adyen\Payment\Model\ResourceModel\Billing\Agreement\CollectionFactory $billingAgreementCollectionFactory
* @param \Magento\Framework\View\Asset\Repository $assetRepo * @param \Magento\Framework\View\Asset\Repository $assetRepo
* @param \Magento\Framework\View\Asset\Source $assetSource * @param \Magento\Framework\View\Asset\Source $assetSource
* @param \Magento\Framework\App\ProductMetadataInterface $productMetadata
* @param \Adyen\Payment\Logger\AdyenLogger $adyenLogger
*/ */
public function __construct( public function __construct(
\Magento\Framework\App\Helper\Context $context, \Magento\Framework\App\Helper\Context $context,
...@@ -107,7 +119,10 @@ class Data extends AbstractHelper ...@@ -107,7 +119,10 @@ class Data extends AbstractHelper
\Magento\Framework\View\Asset\Source $assetSource, \Magento\Framework\View\Asset\Source $assetSource,
\Adyen\Payment\Model\ResourceModel\Notification\CollectionFactory $notificationFactory, \Adyen\Payment\Model\ResourceModel\Notification\CollectionFactory $notificationFactory,
\Magento\Tax\Model\Config $taxConfig, \Magento\Tax\Model\Config $taxConfig,
\Magento\Tax\Model\Calculation $taxCalculation \Magento\Tax\Model\Calculation $taxCalculation,
\Magento\Framework\App\ProductMetadataInterface $productMetadata,
\Adyen\Payment\Logger\AdyenLogger $adyenLogger
) { ) {
parent::__construct($context); parent::__construct($context);
$this->_encryptor = $encryptor; $this->_encryptor = $encryptor;
...@@ -120,6 +135,8 @@ class Data extends AbstractHelper ...@@ -120,6 +135,8 @@ class Data extends AbstractHelper
$this->_notificationFactory = $notificationFactory; $this->_notificationFactory = $notificationFactory;
$this->_taxConfig = $taxConfig; $this->_taxConfig = $taxConfig;
$this->_taxCalculation = $taxCalculation; $this->_taxCalculation = $taxCalculation;
$this->productMetadata = $productMetadata;
$this->adyenLogger = $adyenLogger;
} }
/** /**
...@@ -1146,4 +1163,37 @@ class Data extends AbstractHelper ...@@ -1146,4 +1163,37 @@ class Data extends AbstractHelper
} }
return $formFields; return $formFields;
} }
}
\ No newline at end of file /**
* Initializes and returns Adyen Client and sets the required parameters of it
*
* @param $storeId
* @return \Adyen\Client
* @throws \Adyen\AdyenException
*/
public function initializeAdyenClient($storeId = null)
{
// initialize client
$webserviceUsername = $this->getWsUsername();
$webservicePassword = $this->getWsPassword();
$client = new \Adyen\Client();
$client->setApplicationName("Magento 2 plugin");
$client->setUsername($webserviceUsername);
$client->setPassword($webservicePassword);
$client->setAdyenPaymentSource($this->getModuleName(), $this->getModuleVersion());
$client->setExternalPlatform($this->productMetadata->getName(), $this->productMetadata->getVersion());
if ($this->isDemoMode($storeId)) {
$client->setEnvironment(\Adyen\Environment::TEST);
} else {
$client->setEnvironment(\Adyen\Environment::LIVE);
}
$client->setLogger($this->adyenLogger);
return $client;
}
}
...@@ -78,31 +78,13 @@ class PaymentRequest extends DataObject ...@@ -78,31 +78,13 @@ class PaymentRequest extends DataObject
$this->_appState = $context->getAppState(); $this->_appState = $context->getAppState();
} }
/**
* @param $storeId
* @return mixed
* @throws \Adyen\AdyenException
*/
private function createClient($storeId) { private function createClient($storeId) {
// initialize client $client = $this->_adyenHelper->initializeAdyenClient($storeId);
$webserviceUsername = $this->_adyenHelper->getWsUsername($storeId);
$webservicePassword = $this->_adyenHelper->getWsPassword($storeId);
$client = new \Adyen\Client();
$client->setApplicationName("Magento 2 plugin");
$client->setUsername($webserviceUsername);
$client->setPassword($webservicePassword);
$client->setAdyenPaymentSource($this->_adyenHelper->getModuleName(), $this->_adyenHelper->getModuleVersion());
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
$client->setExternalPlatform($productMetadata->getName(), $productMetadata->getVersion());
if ($this->_adyenHelper->isDemoMode($storeId)) {
$client->setEnvironment(\Adyen\Environment::TEST);
} else {
$client->setEnvironment(\Adyen\Environment::LIVE);
}
// assign magento log
$client->setLogger($this->_adyenLogger);
return $client; return $client;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment