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;
}
Wynik echa: idfrk3-45pfnrkhwneirgplbmisniepssnie: hirtw45 True Key - 'p92GBhcQl7TklHOsWcxBk4eOmL6wpQWBG9nT2Qcf'
magento2
system-configuration
Magento2 Devloper
źródło
źródło
\Magento\Framework\App\Config\ScopeConfigInterface::getValue
zwróci odszyfrowaną wartość. GdyScopeConfigInterface::getValue
zwraca zaszyfrowaną wartość, opcja konfiguracji jest niepoprawnie skonfigurowana . Prawidłowa implementacja zaszyfrowanej wartości konfiguracji to:Dodajemy tutaj niejasną wartość konfiguracyjną na ścieżce,
payment/webpay/keyid
którą krytyczne rzeczy zapewniają ifield
mają dla . W ten sposób Magento wie, jak korzystać z zamaskowanego pola formularza i szyfrować dane wejściowe użytkownika podczas zapisywania.type="obscure"
Magento\Config\Model\Config\Backend\Encrypted
backend_model
Dodanie
backend_model="Magento\Config\Model\Config\Backend\Encrypted"
tutaj mówi Magento, że wartość konfiguracji powinna zostać odszyfrowana podczas pobierania za pomocąScopeConfigInterface::getValue
Dodaje to ścieżkę konfiguracji do czułej tablicy i zapobiega włączeniu wartości ścieżki podczas zrzutu konfiguracji sklepu.
źródło
Jeśli masz zainstalowany n98-magerun2.phar, możesz uzyskać odszyfrowaną wartość konfiguracji za pomocą czegoś takiego:
Możesz również ustawić zaszyfrowane wartości konfiguracji z wiersza poleceń za pomocą czegoś takiego:
Możesz pobrać n98-magerun2.phar stąd: https://github.com/netz98/n98-magerun2
źródło
You can try with below method for payment encryption method to get value
,Musisz zastąpić
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
ścieżką poniżej klasy.\Magento\Payment\Gateway\ConfigInterface
To działa dobrze,źródło
Jeśli chcesz odszyfrować jakąś wartość za pomocą klucza: Umieść poniższy kod w pliku decrypt-config-value.php w katalogu głównym projektu magento.
Uruchom php decrypt-config-value.php za pomocą konsoli lub //twojastrona.com/decrypt-config-value.php za pomocą przeglądarki.
źródło
Spróbuj użyć poniższego kodu dla wartości dekodowania json,
źródło