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;
}
Resultado de eco: idfrk3-45pfnrkhwneirgplbmisniepssnie: hirtw45 True Key - 'p92GBhcQl7TklHOsWcxBk4eOmL6wpQWBG9nT2Qcf'
magento2
system-configuration
Magento2 Devloper
fuente
fuente
\Magento\Framework\App\Config\ScopeConfigInterface::getValue
devolverá el valor descifrado. CuandoScopeConfigInterface::getValue
devuelve un valor cifrado, la opción de configuración se configura incorrectamente . Una implementación correcta de un valor de configuración cifrada es:A continuación añadimos un valor de configuración oscura en el camino de
payment/webpay/keyid
las cosas importantes aquí es asegurar lafield
tienetype="obscure"
y usosMagento\Config\Model\Config\Backend\Encrypted
para elbackend_model
. Así es como Magento sabe usar un campo de formulario enmascarado y encriptar cualquier entrada del usuario al guardar.Agregar
backend_model="Magento\Config\Model\Config\Backend\Encrypted"
aquí le dice a Magento que el valor de configuración debe descifrarse cuando se recupera conScopeConfigInterface::getValue
Esto agrega la ruta de configuración a la matriz sensible y evita que el valor de la ruta se incluya al volcar la configuración de la tienda.
fuente
Si tiene instalado n98-magerun2.phar, puede obtener un valor de configuración descifrado con algo como:
También puede establecer valores de configuración encriptados desde la línea de comando con algo como:
Puede obtener n98-magerun2.phar desde aquí: https://github.com/netz98/n98-magerun2
fuente
You can try with below method for payment encryption method to get value
,Tienes que reemplazar
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
con la ruta de clase a continuación,\Magento\Payment\Gateway\ConfigInterface
esto funciona bien,fuente
Pruebe con el siguiente código para el valor de decodificación json,
fuente