65 lines
1.4 KiB
PHP
65 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Lts\Netterm\Model;
|
|
|
|
use Lts\Netterm\Model\Payment\Netterm;
|
|
use Magento\Checkout\Model\ConfigProviderInterface;
|
|
use Magento\Framework\Escaper;
|
|
use Magento\Payment\Helper\Data as PaymentHelper;
|
|
|
|
class InstructionsConfigProvider implements ConfigProviderInterface
|
|
{
|
|
/**
|
|
* @var string[]
|
|
*/
|
|
protected $methodCodes = [
|
|
Netterm::PAYMENT_METHOD_NETTERM_CODE
|
|
];
|
|
|
|
/**
|
|
* @var \Magento\Payment\Model\Method\AbstractMethod[]
|
|
*/
|
|
protected $methods = [];
|
|
|
|
/**
|
|
* @var Escaper
|
|
*/
|
|
protected $escaper;
|
|
|
|
/**
|
|
* @param PaymentHelper $paymentHelper
|
|
* @param Escaper $escaper
|
|
*/
|
|
public function __construct(
|
|
PaymentHelper $paymentHelper,
|
|
Escaper $escaper
|
|
) {
|
|
$this->escaper = $escaper;
|
|
foreach ($this->methodCodes as $code) {
|
|
$this->methods[$code] = $paymentHelper->getMethodInstance($code);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function getConfig()
|
|
{
|
|
$config = [];
|
|
foreach ($this->methodCodes as $code) {
|
|
$config['payment']['instructions'][$code] = $this->getInstructions($code);
|
|
}
|
|
return $config;
|
|
}
|
|
|
|
/**
|
|
* Get instructions text from config
|
|
*
|
|
* @param string $code
|
|
* @return string
|
|
*/
|
|
protected function getInstructions($code)
|
|
{
|
|
return nl2br($this->escaper->escapeHtml($this->methods[$code]->getInstructions()));
|
|
}
|
|
} |