protected $_paymentData;
protected $_scopeConfig;
protected $logger;
public function __construct(
\Magento\Framework\Model\Context $context,
\Magento\Framework\Registry $registry,
\Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory,
\Magento\Framework\Api\AttributeValueFactory $customAttributeFactory,
\Magento\Payment\Helper\Data $paymentData,
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
\Magento\Payment\Model\Method\Logger $logger,
\Magento\Framework\Module\ModuleListInterface $moduleList,
\Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
\Magento\Directory\Model\CountryFactory $countryFactory,
\Stripe\Stripe $stripe,
\Inchoo\Stripe\Model\StripeFactory $stripeFactory,
array $data = array()
) {
parent::__construct(
$context,
$registry,
$extensionFactory,
$customAttributeFactory,
$paymentData,
$scopeConfig,
$logger,
$moduleList,
$localeDate,
null,
null,
$data
);
$this->_scopeConfig = $scopeConfig;
$this->logger = $logger;
$this->initializeData($data);
}
public function getPaymentKey(){
$key= $this->_scopeConfig->getValue('payment/webpay/keyid');
echo $key;
exit;
}
Эхо Результат: idfrk3-45pfnrkhwneirgplbmisniepssnie: hirtw45 True Key - 'p92GBhcQl7TklHOsWcxBk4eOmL6wpQWBG9nT2Qcf'
magento2
system-configuration
Magento2 Devloper
источник
источник
\Magento\Framework\App\Config\ScopeConfigInterface::getValue
вернет расшифрованное значение. КогдаScopeConfigInterface::getValue
возвращается зашифрованное значение, параметр конфигурации настроен неправильно . Правильная реализация зашифрованной конфигурации:Здесь мы добавим неясное значение конфигурации в пути
payment/webpay/keyid
критические вещи здесь является обеспечениеfield
имеетtype="obscure"
и используетMagento\Config\Model\Config\Backend\Encrypted
дляbackend_model
. Вот как Magento знает, как использовать поле формы в маске и шифровать любой пользовательский ввод при сохранении.Добавление
backend_model="Magento\Config\Model\Config\Backend\Encrypted"
здесь говорит Magento, что значение конфигурации должно быть расшифровано при получении сScopeConfigInterface::getValue
Это добавляет путь конфигурации к чувствительному массиву и предотвращает включение значения пути при выводе конфигурации хранилища.
источник
Если у вас установлен n98-magerun2.phar, вы можете получить расшифрованное значение конфигурации, например:
Вы также можете установить зашифрованные значения конфигурации из командной строки, например:
Вы можете получить n98-magerun2.phar отсюда: https://github.com/netz98/n98-magerun2
источник
You can try with below method for payment encryption method to get value
,Вы должны заменить
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
путь ниже класса,\Magento\Payment\Gateway\ConfigInterface
это прекрасно работает,источник
Если вы хотите расшифровать какое-либо значение с помощью некоторого ключа: поместите приведенный ниже код в decrypt-config-value.php в корне вашего проекта magento.
Запустите php decrypt-config-value.php с помощью консоли или //yourwebsite.com/decrypt-config-value.php с помощью браузера.
источник
Попробуйте использовать приведенный ниже код для значения декодирования JSON,
источник