From f9a2b7aa0735e2af3adfc06dfa76f8edb9293571 Mon Sep 17 00:00:00 2001 From: Emili Castells Guasch Date: Fri, 15 Sep 2023 11:41:38 +0200 Subject: [PATCH 1/2] Set vault enabled based on subscription mode --- .../src/Settings/SettingsListener.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php b/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php index 0f479c4cc..4b871750c 100644 --- a/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php +++ b/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php @@ -340,7 +340,20 @@ class SettingsListener { * phpcs:disable WordPress.Security.NonceVerification.Missing * phpcs:disable WordPress.Security.NonceVerification.Recommended */ - if ( ! isset( $_POST['ppcp']['vault_enabled'] ) ) { + $vault_enabled = wc_clean( wp_unslash( $_POST['ppcp']['vault_enabled'] ?? '' ) ); + $subscription_mode = wc_clean( wp_unslash( $_POST['ppcp']['subscriptions_mode'] ?? '' ) ); + + if ( $subscription_mode === 'vaulting_api' && $vault_enabled !== '1' ) { + $this->settings->set( 'vault_enabled', true ); + $this->settings->persist(); + } + + if ( $subscription_mode === 'disable_paypal_subscriptions' && $vault_enabled === '1' ) { + $this->settings->set( 'vault_enabled', false ); + $this->settings->persist(); + } + + if ( $vault_enabled !== '1' ) { return; } From e7bd6061d0de0085c7065338231d31a960f83dff Mon Sep 17 00:00:00 2001 From: Emili Castells Guasch Date: Fri, 15 Sep 2023 17:15:48 +0200 Subject: [PATCH 2/2] Do not check for PayPal subscriptions api enabled in ACDC gateway --- modules/ppcp-wc-gateway/src/Gateway/CreditCardGateway.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/ppcp-wc-gateway/src/Gateway/CreditCardGateway.php b/modules/ppcp-wc-gateway/src/Gateway/CreditCardGateway.php index 7236e687b..6d152eb33 100644 --- a/modules/ppcp-wc-gateway/src/Gateway/CreditCardGateway.php +++ b/modules/ppcp-wc-gateway/src/Gateway/CreditCardGateway.php @@ -180,10 +180,7 @@ class CreditCardGateway extends \WC_Payment_Gateway_CC { 'products', ); - if ( - ( $this->config->has( 'vault_enabled_dcc' ) && $this->config->get( 'vault_enabled_dcc' ) ) - || ( $this->config->has( 'subscriptions_mode' ) && $this->config->get( 'subscriptions_mode' ) === 'subscriptions_api' ) - ) { + if ( $this->config->has( 'vault_enabled_dcc' ) && $this->config->get( 'vault_enabled_dcc' ) ) { array_push( $this->supports, 'subscriptions',