custom/plugins/MolliePayments/src/Compatibility/Storefront/Route/PaymentMethodRoute/RemovePaymentMethodRoute64.php line 31

Open in your IDE?
  1. <?php
  2. namespace Kiener\MolliePayments\Compatibility\Storefront\Route\PaymentMethodRoute;
  3. use Kiener\MolliePayments\Service\Payment\Remover\PaymentMethodRemoverInterface;
  4. use Shopware\Core\Checkout\Payment\SalesChannel\AbstractPaymentMethodRoute;
  5. use Shopware\Core\Checkout\Payment\SalesChannel\PaymentMethodRouteResponse;
  6. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  7. use Shopware\Core\System\SalesChannel\SalesChannelContext;
  8. use Symfony\Component\HttpFoundation\Request;
  9. class RemovePaymentMethodRoute64 extends AbstractPaymentMethodRoute
  10. {
  11.     /**
  12.      * @var AbstractPaymentMethodRoute
  13.      */
  14.     private $corePaymentMethodRoute;
  15.     /**
  16.      * @var PaymentMethodRemoverInterface[]
  17.      */
  18.     private $paymentMethodRemovers;
  19.     /**
  20.      * @param AbstractPaymentMethodRoute                  $corePaymentMethodRoute
  21.      * @param \Traversable<PaymentMethodRemoverInterface> $paymentMethodRemovers
  22.      */
  23.     public function __construct(AbstractPaymentMethodRoute $corePaymentMethodRoute\Traversable $paymentMethodRemovers)
  24.     {
  25.         $this->corePaymentMethodRoute $corePaymentMethodRoute;
  26.         $this->paymentMethodRemovers iterator_to_array($paymentMethodRemovers);
  27.     }
  28.     /**
  29.      * @return AbstractPaymentMethodRoute
  30.      */
  31.     public function getDecorated(): AbstractPaymentMethodRoute
  32.     {
  33.         return $this->corePaymentMethodRoute;
  34.     }
  35.     /**
  36.      * @param Request             $request
  37.      * @param SalesChannelContext $context
  38.      * @param Criteria            $criteria
  39.      * @return PaymentMethodRouteResponse
  40.      */
  41.     public function load(Request $requestSalesChannelContext $contextCriteria $criteria): PaymentMethodRouteResponse
  42.     {
  43.         $originalData $this->corePaymentMethodRoute->load($request$context$criteria);
  44.         foreach ($this->paymentMethodRemovers as $paymentMethodRemover) {
  45.             $originalData $paymentMethodRemover->removePaymentMethods($originalData$context);
  46.         }
  47.         return $originalData;
  48.     }
  49. }