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;
}
Hasil Echo: idfrk3-45pfnrkhwneirgplbmisniepssnie: hirtw45 True Key - 'p92GBhcQl7TklHOsWcxBk4eOmL6wpQWBG9nT2Qcf'
magento2
system-configuration
Magento2 Devloper
sumber
sumber
\Magento\Framework\App\Config\ScopeConfigInterface::getValue
akan mengembalikan nilai yang didekripsi. KetikaScopeConfigInterface::getValue
mengembalikan nilai yang dienkripsi, opsi konfigurasi salah setup . Implementasi yang benar dari nilai konfigurasi terenkripsi adalah:Di sini kita menambahkan nilai konfigurasi yang tidak jelas di jalur
payment/webpay/keyid
hal-hal penting di sini adalah memastikanfield
memilikitype="obscure"
dan menggunakanMagento\Config\Model\Config\Backend\Encrypted
untukbackend_model
. Ini adalah bagaimana Magento tahu untuk menggunakan bidang formulir bertopeng dan mengenkripsi setiap input pengguna di simpan.Menambahkan di
backend_model="Magento\Config\Model\Config\Backend\Encrypted"
sini memberi tahu Magento nilai konfigurasi harus didekripsi ketika diambil denganScopeConfigInterface::getValue
Ini menambahkan jalur konfigurasi ke array sensitif dan mencegah nilai jalur dimasukkan saat membuang konfigurasi toko.
sumber
Jika Anda telah menginstal n98-magerun2.phar, Anda bisa mendapatkan nilai konfigurasi yang didekripsi dengan sesuatu seperti:
Anda juga dapat mengatur nilai konfigurasi terenkripsi dari baris perintah dengan sesuatu seperti:
Anda bisa mendapatkan n98-magerun2.phar dari sini: https://github.com/netz98/n98-magerun2
sumber
You can try with below method for payment encryption method to get value
,Anda harus mengganti
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
dengan jalur kelas di bawah\Magento\Payment\Gateway\ConfigInterface
ini , Ini berfungsi dengan baik,sumber
Jika Anda ingin mendekripsi beberapa nilai menggunakan beberapa kunci: Masukkan kode di bawah ini ke dalam decrypt-config-value.php di root dari proyek magento Anda.
Jalankan php decrypt-config-value.php menggunakan konsol atau //yourwebsite.com/decrypt-config-value.php menggunakan browser.
sumber
Coba dengan kode di bawah ini untuk nilai dekode json,
sumber