public function FilterPaymentGatewaysSubscriber::onFilter in Commerce Core 8.2
Filters out payment gateways listed in an order's data attribute.
Parameters
\Drupal\commerce_payment\Event\FilterPaymentGatewaysEvent $event: The event.
File
- modules/
payment/ tests/ modules/ commerce_payment_test/ src/ EventSubscriber/ FilterPaymentGatewaysSubscriber.php, line 26
Class
Namespace
Drupal\commerce_payment_test\EventSubscriberCode
public function onFilter(FilterPaymentGatewaysEvent $event) {
$payment_gateways = $event
->getPaymentGateways();
$excluded_gateways = $event
->getOrder()
->getData('excluded_gateways', []);
foreach ($payment_gateways as $payment_gateway_id => $payment_gateway) {
if (in_array($payment_gateway
->id(), $excluded_gateways)) {
unset($payment_gateways[$payment_gateway_id]);
}
}
$event
->setPaymentGateways($payment_gateways);
}