Skip to content

Commit 27c1efa

Browse files
authored
Merge pull request #3225 from woocommerce/PCP-4351-pay-later-messaging-component-active-with-configure-button-when-save-pay-pal-and-venmo-is-active
Pay Later messaging component active with Configure button when "Save PayPal and Venmo" is active (4351)
2 parents 28d131b + bed05c6 commit 27c1efa

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

modules/ppcp-settings/services.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,8 @@
556556
return new FeaturesDefinition(
557557
$container->get( 'settings.service.features_eligibilities' ),
558558
$container->get( 'settings.data.general' ),
559-
$merchant_capabilities
559+
$merchant_capabilities,
560+
$container->get( 'settings.data.settings' )
560561
);
561562
},
562563
'settings.service.features_eligibilities' => static function( ContainerInterface $container ): FeaturesEligibilityService {

modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php

+19-7
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
namespace WooCommerce\PayPalCommerce\Settings\Data\Definition;
1111

12+
use WooCommerce\PayPalCommerce\Settings\Data\SettingsModel;
1213
use WooCommerce\PayPalCommerce\Settings\Service\FeaturesEligibilityService;
1314
use WooCommerce\PayPalCommerce\Settings\Data\GeneralSettings;
1415

@@ -42,21 +43,31 @@ class FeaturesDefinition {
4243
*/
4344
protected array $merchant_capabilities;
4445

46+
/**
47+
* The plugin settings.
48+
*
49+
* @var SettingsModel
50+
*/
51+
protected SettingsModel $plugin_settings;
52+
4553
/**
4654
* Constructor.
4755
*
4856
* @param FeaturesEligibilityService $eligibilities The features eligibility service.
4957
* @param GeneralSettings $settings The general settings service.
5058
* @param array $merchant_capabilities The merchant capabilities.
59+
* @param SettingsModel $plugin_settings The plugin settings.
5160
*/
5261
public function __construct(
5362
FeaturesEligibilityService $eligibilities,
5463
GeneralSettings $settings,
55-
array $merchant_capabilities
64+
array $merchant_capabilities,
65+
SettingsModel $plugin_settings
5666
) {
5767
$this->eligibilities = $eligibilities;
5868
$this->settings = $settings;
5969
$this->merchant_capabilities = $merchant_capabilities;
70+
$this->plugin_settings = $plugin_settings;
6071
}
6172

6273
/**
@@ -82,7 +93,7 @@ public function get(): array {
8293
* @return array[] The array of all available features.
8394
*/
8495
public function all_available_features(): array {
85-
$paylater_countries = array(
96+
$paylater_countries = array(
8697
'UK',
8798
'ES',
8899
'IT',
@@ -91,8 +102,9 @@ public function all_available_features(): array {
91102
'DE',
92103
'AU',
93104
);
94-
$store_country = $this->settings->get_woo_settings()['country'];
95-
$country_location = in_array( $store_country, $paylater_countries, true ) ? strtolower( $store_country ) : 'us';
105+
$store_country = $this->settings->get_woo_settings()['country'];
106+
$country_location = in_array( $store_country, $paylater_countries, true ) ? strtolower( $store_country ) : 'us';
107+
$save_paypal_and_venmo = $this->plugin_settings->get_save_paypal_and_venmo();
96108

97109
return array(
98110
'save_paypal_and_venmo' => array(
@@ -104,8 +116,8 @@ public function all_available_features(): array {
104116
'type' => 'secondary',
105117
'text' => __( 'Configure', 'woocommerce-paypal-payments' ),
106118
'action' => array(
107-
'type' => 'tab',
108-
'tab' => 'settings',
119+
'type' => 'tab',
120+
'tab' => 'settings',
109121
'section' => 'ppcp-save-paypal-and-venmo',
110122
),
111123
'showWhen' => 'enabled',
@@ -288,7 +300,7 @@ public function all_available_features(): array {
288300
'Let customers know they can buy now and pay later with PayPal. Adding this messaging can boost conversion rates and increase cart sizes by 39%¹, with no extra cost to you—plus, you get paid up front.',
289301
'woocommerce-paypal-payments'
290302
),
291-
'enabled' => $this->merchant_capabilities['pay_later'],
303+
'enabled' => $this->merchant_capabilities['pay_later'] && ! $save_paypal_and_venmo,
292304
'buttons' => array(
293305
array(
294306
'type' => 'secondary',

0 commit comments

Comments
 (0)