From 8d1f45d19e3eade5724ed5fd541175d21cab9752 Mon Sep 17 00:00:00 2001 From: Emili Castells Guasch Date: Wed, 14 Feb 2024 12:46:55 +0100 Subject: [PATCH] Ensure vault enabled false on page load when reference transactions not enabled --- modules/ppcp-wc-gateway/services.php | 5 ----- modules/ppcp-wc-gateway/src/Settings/SettingsListener.php | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/ppcp-wc-gateway/services.php b/modules/ppcp-wc-gateway/services.php index b5ae54b82..1af10b4ed 100644 --- a/modules/ppcp-wc-gateway/services.php +++ b/modules/ppcp-wc-gateway/services.php @@ -910,11 +910,6 @@ return array( unset( $fields['subscriptions_mode'] ); } - $billing_agreements_endpoint = $container->get( 'api.endpoint.billing-agreements' ); - if ( ! $billing_agreements_endpoint->reference_transaction_enabled() ) { - unset( $fields['vault_enabled'] ); - } - /** * Depending on your store location, some credit cards can't be used. * Here, we filter them out. diff --git a/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php b/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php index 35ff96fff..89cfc6769 100644 --- a/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php +++ b/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php @@ -381,6 +381,11 @@ class SettingsListener { $reference_transaction_enabled = $this->billing_agreements_endpoint->reference_transaction_enabled(); + if ( $reference_transaction_enabled !== true ) { + $this->settings->set( 'vault_enabled', false ); + $this->settings->persist(); + } + if ( $subscription_mode === 'vaulting_api' && $vault_enabled !== '1' && $reference_transaction_enabled === true ) { $this->settings->set( 'vault_enabled', true ); $this->settings->persist();