![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Cnc/Payment/Plugin/ |
<?php /** * Copyright (c) 2020 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com) All Rights Reserved. * https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * Cnc * Krzysztof Majkowski <[email protected]> */ namespace Cnc\Payment\Plugin; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Payment\Model\MethodInterface; use Magento\Quote\Model\Quote; class TotalMinMaxPlugin { const PAYPAL_MAX_ORDER_TOTAL = 'additional_payment_options/paypal/max_order_total'; /** * @var ScopeConfigInterface */ private $scopeConfig; /** * TotalMinMaxPlugin constructor. * @param ScopeConfigInterface $scopeConfig */ public function __construct(ScopeConfigInterface $scopeConfig) { $this->scopeConfig = $scopeConfig; } /** * @param \Magento\Payment\Model\Checks\TotalMinMax $subject * @param $result * @param MethodInterface $paymentMethod * @param Quote $quote */ public function afterIsApplicable( \Magento\Payment\Model\Checks\TotalMinMax $subject, $result, MethodInterface $paymentMethod, Quote $quote ) { if ($result && strpos($paymentMethod->getCode(), 'paypal') !== false) { $total = $quote->getBaseGrandTotal(); $maxTotal = $this->scopeConfig->getValue(self::PAYPAL_MAX_ORDER_TOTAL, 'websites'); if (!empty($maxTotal) && $total > $maxTotal) { return false; } } return $result; } }