Your IP : 216.73.216.220


Current Path : /var/www/www.indacotrentino.com/www/vendor/magento/module-vault/Plugin/
Upload File :
Current File : /var/www/www.indacotrentino.com/www/vendor/magento/module-vault/Plugin/PaymentMethodProcess.php

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\Vault\Plugin;

use Magento\Payment\Block\Form\Container;
use Magento\Vault\Model\Ui\Adminhtml\TokensConfigProvider;
use Magento\Vault\Model\VaultPaymentInterface;

class PaymentMethodProcess
{
    /**
     * @var TokensConfigProvider
     */
    private TokensConfigProvider $tokensConfigProvider;

    /**
     * @param TokensConfigProvider $tokensConfigProvider
     */
    public function __construct(
        TokensConfigProvider $tokensConfigProvider
    ) {
        $this->tokensConfigProvider = $tokensConfigProvider;
    }

    /**
     * Retrieve available payment methods
     *
     * @param Container $container
     * @param array $results
     * @return array
     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
     */
    public function afterGetMethods(Container $container, array $results): array
    {
        $methods = [];
        foreach ($results as $result) {
            if ($result instanceof VaultPaymentInterface &&
                empty($this->tokensConfigProvider->getTokensComponents($result->getCode()))) {
                continue;
            }
            $methods[] = $result;
        }
        return $methods;
    }
}