File: /var/www/vhost/disk-apps/magento.bikenow.co/vendor/magento/module-payment/Gateway/Config/Config.php
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Payment\Gateway\Config;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Payment\Gateway\ConfigInterface;
use Magento\Store\Model\ScopeInterface;
/**
* Default implementation of Payment Gateway Config.
*
* To process value retrieved from config implementation of \Magento\Payment\Gateway\Config\ValueHandlerInterface
* should be used (inheritance and overriding of getValue method or introduction of new public methods
* is not recommended).
*/
class Config implements ConfigInterface
{
const DEFAULT_PATH_PATTERN = 'payment/%s/%s';
/**
* @var ScopeConfigInterface
*/
private $scopeConfig;
/**
* @var string|null
*/
private $methodCode;
/**
* @var string|null
*/
private $pathPattern;
/**
* @param ScopeConfigInterface $scopeConfig
* @param string|null $methodCode
* @param string $pathPattern
*/
public function __construct(
ScopeConfigInterface $scopeConfig,
$methodCode = null,
$pathPattern = self::DEFAULT_PATH_PATTERN
) {
$this->scopeConfig = $scopeConfig;
$this->methodCode = $methodCode;
$this->pathPattern = $pathPattern;
}
/**
* Sets method code
*
* @param string $methodCode
* @return void
*/
public function setMethodCode($methodCode)
{
$this->methodCode = $methodCode;
}
/**
* Sets path pattern
*
* @param string $pathPattern
* @return void
*/
public function setPathPattern($pathPattern)
{
$this->pathPattern = $pathPattern;
}
/**
* Retrieve information from payment configuration
*
* @param string $field
* @param int|null $storeId
*
* @return mixed
*/
public function getValue($field, $storeId = null)
{
if ($this->methodCode === null || $this->pathPattern === null) {
return null;
}
return $this->scopeConfig->getValue(
sprintf($this->pathPattern, $this->methodCode, $field),
ScopeInterface::SCOPE_STORE,
$storeId
);
}
}