diff --git a/modules/ppcp-settings/src/SettingsModule.php b/modules/ppcp-settings/src/SettingsModule.php index dcb4b22fd..0b46cfdbf 100644 --- a/modules/ppcp-settings/src/SettingsModule.php +++ b/modules/ppcp-settings/src/SettingsModule.php @@ -297,7 +297,7 @@ function( array $payment_methods ) use ( $container ) : array { assert( $dcc_applies instanceof DCCApplies ); // Unset BCDC if merchant is eligible for ACDC. - if ( $dcc_product_status->dcc_is_active() ) { + if ( $dcc_product_status->dcc_is_active() && ! $container->get( 'wcgateway.settings.allow_card_button_gateway' ) ) { unset( $payment_methods[ CardButtonGateway::ID ] ); } diff --git a/modules/ppcp-wc-gateway/services.php b/modules/ppcp-wc-gateway/services.php index e17c1077d..1bac9b14e 100644 --- a/modules/ppcp-wc-gateway/services.php +++ b/modules/ppcp-wc-gateway/services.php @@ -1659,9 +1659,12 @@ static function ( ContainerInterface $container ): string { $settings = $container->get( 'wcgateway.settings' ); assert( $settings instanceof ContainerInterface ); - return $settings->has( 'allow_card_button_gateway' ) ? + return apply_filters( + 'woocommerce_paypal_payments_enable_standard_card_button_gateway_settings', + $settings->has( 'allow_card_button_gateway' ) ? (bool) $settings->get( 'allow_card_button_gateway' ) : - $container->get( 'wcgateway.settings.allow_card_button_gateway.default' ); + $container->get( 'wcgateway.settings.allow_card_button_gateway.default' ) + ); }, 'wcgateway.settings.has_enabled_separate_button_gateways' => static function ( ContainerInterface $container ): bool { return (bool) $container->get( 'wcgateway.settings.allow_card_button_gateway' );