53 lines
1018 B
PHP
53 lines
1018 B
PHP
<?php
|
|
|
|
namespace CK\Checkout\Plugin;
|
|
|
|
class PaymentMethod {
|
|
|
|
const NO_NO_METHOD = [
|
|
'checkmo'
|
|
];
|
|
|
|
/**
|
|
* @var \CK\Logger\Logger
|
|
*/
|
|
protected $logger;
|
|
|
|
/**
|
|
* @var \CK\Logger\LoggerFactory
|
|
*/
|
|
protected $loggerFactory;
|
|
|
|
public function __construct(
|
|
\CK\Logger\LoggerFactory $loggerFactory
|
|
) {
|
|
$this->loggerFactory = $loggerFactory;
|
|
$this->logger = $this->loggerFactory->create();
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param \Magento\Payment\Model\MethodList $subject
|
|
* @param array $result
|
|
* @return array
|
|
*/
|
|
public function afterGetAvailableMethods($subject, $result) {
|
|
$filteredMethods = [];
|
|
|
|
foreach ($result as $method) {
|
|
$code = $method->getCode(); // e.g. "checkmo", "authnetcim"
|
|
$this->logger->info("Checking payment method: {$code}");
|
|
|
|
if (!in_array($code, self::NO_NO_METHOD)) {
|
|
$filteredMethods[] = $method;
|
|
} else {
|
|
$this->logger->info("Removed payment method: {$code}");
|
|
}
|
|
}
|
|
|
|
return $filteredMethods;
|
|
}
|
|
|
|
}
|
|
|