diff --git a/src/Components/Checkout/Service/PaymentFilterService.php b/src/Components/Checkout/Service/PaymentFilterService.php index a0a7f7b6..1762cb8a 100644 --- a/src/Components/Checkout/Service/PaymentFilterService.php +++ b/src/Components/Checkout/Service/PaymentFilterService.php @@ -21,8 +21,8 @@ use Shopware\Core\Checkout\Customer\Aggregate\CustomerAddress\CustomerAddressEntity; use Shopware\Core\Checkout\Customer\CustomerEntity; use Shopware\Core\Checkout\Order\OrderEntity; -use Shopware\Core\Checkout\Payment\PaymentMethodCollection; use Shopware\Core\Checkout\Payment\PaymentMethodEntity; +use Shopware\Core\Framework\DataAbstractionLayer\Search\EntitySearchResult; use Shopware\Core\System\SalesChannel\SalesChannelContext; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -35,11 +35,12 @@ public function __construct( ) { } - public function filterPaymentMethods(PaymentMethodCollection $paymentMethodCollection, SalesChannelContext $salesChannelContext, ?OrderEntity $order = null): void + public function filterPaymentMethods(EntitySearchResult $entitySearchResult, SalesChannelContext $salesChannelContext, ?OrderEntity $order = null): void { - foreach ($paymentMethodCollection->getElements() as $key => $paymentMethod) { + foreach ($entitySearchResult->getElements() as $key => $paymentMethod) { if (!$this->isPaymentMethodAvailable($paymentMethod, $salesChannelContext, $order)) { - $paymentMethodCollection->remove($key); + $entitySearchResult->remove($key); + $entitySearchResult->getEntities()->remove($key); } } } diff --git a/src/Components/Checkout/Service/PaymentMethodRoute.php b/src/Components/Checkout/Service/PaymentMethodRoute.php index a6ab57ae..6f8b8b29 100644 --- a/src/Components/Checkout/Service/PaymentMethodRoute.php +++ b/src/Components/Checkout/Service/PaymentMethodRoute.php @@ -58,7 +58,7 @@ public function load(Request $request, SalesChannelContext $context, Criteria $c } $this->paymentFilterService->filterPaymentMethods( - $response->getPaymentMethods(), + $response->getObject(), $context, $order );