![]() 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-vault/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Vault\Model; use Magento\Payment\Api\Data\PaymentMethodInterface; use Magento\Payment\Api\PaymentMethodListInterface; use Magento\Payment\Model\Method\InstanceFactory; use Magento\Payment\Model\MethodInterface; use Magento\Vault\Api\PaymentMethodListInterface as VaultPaymentMethodListInterface; /** * Contains methods to retrieve configured vault payments */ class PaymentMethodList implements VaultPaymentMethodListInterface { /** * @var InstanceFactory */ private $instanceFactory; /** * @var PaymentMethodListInterface */ private $paymentMethodList; /** * PaymentMethodList constructor. * @param PaymentMethodListInterface $paymentMethodList * @param InstanceFactory $instanceFactory */ public function __construct(PaymentMethodListInterface $paymentMethodList, InstanceFactory $instanceFactory) { $this->instanceFactory = $instanceFactory; $this->paymentMethodList = $paymentMethodList; } /** * @inheritdoc */ public function getList($storeId) { return $this->filterList($this->paymentMethodList->getList($storeId)); } /** * @inheritdoc */ public function getActiveList($storeId) { return $this->filterList($this->paymentMethodList->getActiveList($storeId)); } /** * Filter vault methods from payments * @param PaymentMethodInterface[] $list * @return VaultPaymentInterface[] */ private function filterList(array $list) { $paymentMethods = array_map( function (PaymentMethodInterface $paymentMethod) { return $this->instanceFactory->create($paymentMethod); }, $list ); $availableMethods = array_filter( $paymentMethods, function (MethodInterface $methodInstance) { return $methodInstance instanceof VaultPaymentInterface; } ); return array_values($availableMethods); } }