.smart-button-location-notice' => static function (ContainerInterface $container): string {
$dcc_configuration = $container->get('wcgateway.configuration.card-configuration');
assert($dcc_configuration instanceof CardPaymentsConfiguration);
if ($dcc_configuration->use_fastlane()) {
$fastlane_settings_url = admin_url(sprintf('admin.php?page=wc-settings&tab=checkout§ion=%1$s&ppcp-tab=%2$s#field-axo_heading', PayPalGateway::ID, CreditCardGateway::ID));
$notice_content = sprintf(
/* translators: %1$s: URL to the Checkout edit page. */
__('Important: The Cart
& Classic Cart
Smart Button Locations cannot be disabled while Fastlane is active.', 'woocommerce-paypal-payments'),
esc_url($fastlane_settings_url)
);
} else {
return '';
}
return '
';
},
'axo.endpoint.frontend-logger' => static function (ContainerInterface $container): \WooCommerce\PayPalCommerce\Axo\FrontendLoggerEndpoint {
return new \WooCommerce\PayPalCommerce\Axo\FrontendLoggerEndpoint($container->get('button.request-data'), $container->get('woocommerce.logger.woocommerce'));
},
/**
* The list of Fastlane incompatible plugins.
*
* @returns array
*/
'axo.fastlane-incompatible-plugins' => static function (): array {
/**
* Filters the list of Fastlane incompatible plugins.
*/
return apply_filters('woocommerce_paypal_payments_fastlane_incompatible_plugins', array(array('name' => 'Elementor', 'is_active' => did_action('elementor/loaded')), array('name' => 'CheckoutWC', 'is_active' => defined('CFW_NAME')), array('name' => 'Direct Checkout for WooCommerce', 'is_active' => defined('QLWCDC_PLUGIN_NAME')), array('name' => 'Multi-Step Checkout for WooCommerce', 'is_active' => class_exists('WPMultiStepCheckout')), array('name' => 'Fluid Checkout for WooCommerce', 'is_active' => class_exists('FluidCheckout')), array('name' => 'MultiStep Checkout for WooCommerce', 'is_active' => class_exists('THWMSCF_Multistep_Checkout')), array('name' => 'WooCommerce Subscriptions', 'is_active' => class_exists('WC_Subscriptions')), array('name' => 'CartFlows', 'is_active' => class_exists('Cartflows_Loader')), array('name' => 'FunnelKit Funnel Builder', 'is_active' => class_exists('WFFN_Core')), array('name' => 'WooCommerce One Page Checkout', 'is_active' => class_exists('PP_One_Page_Checkout')), array('name' => 'All Products for Woo Subscriptions', 'is_active' => class_exists('WCS_ATT'))));
},
'axo.fastlane-incompatible-plugin-names' => static function (ContainerInterface $container): array {
$incompatible_plugins = $container->get('axo.fastlane-incompatible-plugins');
$active_plugins_list = array_filter($incompatible_plugins, function (array $plugin): bool {
return (bool) $plugin['is_active'];
});
if (empty($active_plugins_list)) {
return array();
}
return array_map(function (array $plugin): string {
return "{$plugin['name']}";
}, $active_plugins_list);
},
'axo.shipping-wc-enabled-locations' => static function (ContainerInterface $container) {
$default_zone = new \WC_Shipping_Zone(0);
if (!empty($default_zone->get_shipping_methods(\true))) {
return array();
}
$shipping_zones = \WC_Shipping_Zones::get_zones();
$get_zone_locations = fn(\WC_Shipping_Zone $zone): array => !empty($zone->get_shipping_methods(\true)) ? array_map(fn(object $location): string => $location->code, $zone->get_zone_locations()) : array();
return array_unique(array_merge(...array_map($get_zone_locations, array_map(fn($zone): \WC_Shipping_Zone => $zone instanceof \WC_Shipping_Zone ? $zone : new \WC_Shipping_Zone($zone['id']), $shipping_zones))));
},
);