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;
}
Echo Ergebnis: idfrk3-45pfnrkhwneirgplbmisniepssnie: hirtw45 True Key - 'p92GBhcQl7TklHOsWcxBk4eOmL6wpQWBG9nT2Qcf'
magento2
system-configuration
Magento2 Devloper
quelle
quelle
\Magento\Framework\App\Config\ScopeConfigInterface::getValue
gibt den entschlüsselten Wert zurück. WennScopeConfigInterface::getValue
ein verschlüsselter Wert zurückgegeben wird, ist die Konfigurationsoption falsch eingerichtet . Eine korrekte Implementierung eines verschlüsselten Konfigurationswerts ist:Hier haben wir einen obskuren Konfigurationswert in dem Pfad hinzufügen ,
payment/webpay/keyid
die kritischen Dinge hier ist die Gewährleistung derfield
hattype="obscure"
und VerwendungenMagento\Config\Model\Config\Backend\Encrypted
für diebackend_model
. Auf diese Weise kann Magento ein maskiertes Formularfeld verwenden und alle Benutzereingaben beim Speichern verschlüsseln.Wenn Sie
backend_model="Magento\Config\Model\Config\Backend\Encrypted"
hier hinzufügen , wird Magento mitgeteilt, dass der Konfigurationswert beim Abrufen mit entschlüsselt werden sollScopeConfigInterface::getValue
Dadurch wird der Konfigurationspfad zum vertraulichen Array hinzugefügt und verhindert, dass der Wert des Pfads beim Speichern der Speicherkonfiguration berücksichtigt wird.
quelle
Wenn Sie n98-magerun2.phar installiert haben, können Sie einen entschlüsselten Konfigurationswert mit folgenden Elementen erhalten:
Sie können verschlüsselte Konfigurationswerte auch über die Befehlszeile wie folgt festlegen:
Sie können n98-magerun2.phar hier herunterladen: https://github.com/netz98/n98-magerun2
quelle
Versuchen Sie es mit dem folgenden Code für den JSON-Dekodierungswert.
quelle
You can try with below method for payment encryption method to get value
,Sie müssen durch
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
folgenden Klassenpfad ersetzen.\Magento\Payment\Gateway\ConfigInterface
Dies funktioniert einwandfrei.quelle