mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-08-31 06:52:50 +08:00
✨ Early exit if merchant is not onboarded
This commit is contained in:
parent
0d54c84e66
commit
31686a6214
2 changed files with 25 additions and 8 deletions
|
@ -84,6 +84,7 @@ use WooCommerce\PayPalCommerce\WcGateway\Settings\SettingsRenderer;
|
|||
use WooCommerce\PayPalCommerce\Axo\Helper\PropertiesDictionary;
|
||||
use WooCommerce\PayPalCommerce\Applepay\ApplePayGateway;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Helper\DCCGatewayConfiguration;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Helper\ConnectionState;
|
||||
|
||||
return array(
|
||||
'wcgateway.paypal-gateway' => static function ( ContainerInterface $container ): PayPalGateway {
|
||||
|
@ -1362,10 +1363,13 @@ return array(
|
|||
},
|
||||
|
||||
'wcgateway.configuration.dcc' => static function ( ContainerInterface $container ) : DCCGatewayConfiguration {
|
||||
$connection_state = $container->get( 'settings.connection-state' );
|
||||
assert( $connection_state instanceof ConnectionState );
|
||||
|
||||
$settings = $container->get( 'wcgateway.settings' );
|
||||
assert( $settings instanceof Settings );
|
||||
|
||||
return new DCCGatewayConfiguration( $settings );
|
||||
return new DCCGatewayConfiguration( $connection_state, $settings );
|
||||
},
|
||||
|
||||
'wcgateway.helper.dcc-product-status' => static function ( ContainerInterface $container ) : DCCProductStatus {
|
||||
|
|
|
@ -26,6 +26,13 @@ use WooCommerce\PayPalCommerce\Axo\Helper\PropertiesDictionary;
|
|||
* DI service: 'wcgateway.configuration.dcc'
|
||||
*/
|
||||
class DCCGatewayConfiguration {
|
||||
/**
|
||||
* The connection state.
|
||||
*
|
||||
* @var ConnectionState
|
||||
*/
|
||||
private ConnectionState $connection_state;
|
||||
|
||||
/**
|
||||
* The plugin settings instance.
|
||||
*
|
||||
|
@ -80,10 +87,11 @@ class DCCGatewayConfiguration {
|
|||
/**
|
||||
* Initializes the gateway details based on the provided Settings instance.
|
||||
*
|
||||
* @param ConnectionState $connection_state Connection state instance.
|
||||
* @param Settings $settings Plugin settings instance.
|
||||
* @throws NotFoundException If an expected gateway setting is not found.
|
||||
*/
|
||||
public function __construct( Settings $settings ) {
|
||||
public function __construct( ConnectionState $connection_state, Settings $settings ) {
|
||||
$this->connection_state = $connection_state;
|
||||
$this->settings = $settings;
|
||||
|
||||
$this->refresh();
|
||||
|
@ -99,11 +107,16 @@ class DCCGatewayConfiguration {
|
|||
$show_on_card_options = array_keys( PropertiesDictionary::cardholder_name_options() );
|
||||
$show_on_card_value = null;
|
||||
|
||||
$this->is_enabled = false;
|
||||
$this->use_fastlane = false;
|
||||
$this->gateway_title = '';
|
||||
$this->gateway_description = '';
|
||||
$this->show_name_on_card = $show_on_card_options[0];
|
||||
$this->is_enabled = false;
|
||||
$this->use_fastlane = false;
|
||||
$this->gateway_title = '';
|
||||
$this->gateway_description = '';
|
||||
$this->show_name_on_card = $show_on_card_options[0];
|
||||
$this->hide_fastlane_watermark = false;
|
||||
|
||||
if ( ! $this->connection_state->is_connected() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue