![]() 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/vendor/magento/module-paypal/Plugin/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Paypal\Plugin; use Magento\Framework\Exception\LocalizedException; use Magento\Paypal\Model\Adminhtml\Express; use Magento\Sales\Api\Data\OrderInterface; use Magento\Sales\Model\Order\Validation\CanInvoice; /** * Decorates order canInvoice validator method for PayPal Express payments * when payment action set to "Order". */ class ValidatorCanInvoice { /** * @var Express */ private $express; /** * Initialize dependencies. * * @param Express $express */ public function __construct(Express $express) { $this->express = $express; } /** * Checks a possibility to invoice of PayPal Express payments when payment action is "order". * * @param CanInvoice $subject * @param array $result * @param OrderInterface $order * @return array * @throws LocalizedException * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterValidate(CanInvoice $subject, array $result, OrderInterface $order): array { if ($this->express->isOrderAuthorizationAllowed($order->getPayment())) { $result[] = __('An invoice cannot be created when none of authorization transactions available.'); } return $result; } }