class FilterPaymentGatewaysSubscriber in Commerce Core 8.2
Hierarchy
- class \Drupal\commerce_payment_test\EventSubscriber\FilterPaymentGatewaysSubscriber implements \Symfony\Component\EventDispatcher\EventSubscriberInterface
Expanded class hierarchy of FilterPaymentGatewaysSubscriber
1 string reference to 'FilterPaymentGatewaysSubscriber'
- commerce_payment_test.services.yml in modules/
payment/ tests/ modules/ commerce_payment_test/ commerce_payment_test.services.yml - modules/payment/tests/modules/commerce_payment_test/commerce_payment_test.services.yml
1 service uses FilterPaymentGatewaysSubscriber
- commerce_payment_test.filter_payment_gateways_subscriber in modules/
payment/ tests/ modules/ commerce_payment_test/ commerce_payment_test.services.yml - Drupal\commerce_payment_test\EventSubscriber\FilterPaymentGatewaysSubscriber
File
- modules/
payment/ tests/ modules/ commerce_payment_test/ src/ EventSubscriber/ FilterPaymentGatewaysSubscriber.php, line 9
Namespace
Drupal\commerce_payment_test\EventSubscriberView source
class FilterPaymentGatewaysSubscriber implements EventSubscriberInterface {
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents() {
return [
PaymentEvents::FILTER_PAYMENT_GATEWAYS => 'onFilter',
];
}
/**
* Filters out payment gateways listed in an order's data attribute.
*
* @param \Drupal\commerce_payment\Event\FilterPaymentGatewaysEvent $event
* The event.
*/
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);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FilterPaymentGatewaysSubscriber:: |
public static | function | Returns an array of event names this subscriber wants to listen to. | |
FilterPaymentGatewaysSubscriber:: |
public | function | Filters out payment gateways listed in an order's data attribute. |