<?php

namespace Leadlion\SalesOrder\Observer;

use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\Request\DataPersistorInterface;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\App\Area;

class PaymentMethod implements ObserverInterface
{
    protected $_appState;
    private \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig;

    public function __construct(
        \Magento\Framework\App\State $appState,
        \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
    ) {
        $this->_appState = $appState;
        $this->scopeConfig = $scopeConfig;
    }

    /**
     *
     * @param \Magento\Framework\Event\Observer $observer
     * @return void
     */
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $result = $observer->getEvent()->getResult();
        $method_instance = $observer->getEvent()->getMethodInstance();
        $quote = $observer->getEvent()->getQuote();
        $areaCode = $this->_appState->getAreaCode();
        if(null !== $quote && ($areaCode != Area::AREA_FRONTEND && $areaCode != Area::AREA_WEBAPI_REST)){
            if (in_array($method_instance->getCode(), ['cardcc', 'net_card']))
            {
                //$result->setData('is_available',false);
            }
        }
    }
}
