From 8188faeec4c1e96d686500fdfe2aa3814509f276 Mon Sep 17 00:00:00 2001 From: Alex P Date: Fri, 10 Mar 2023 10:34:28 +0200 Subject: [PATCH] Redirect on any credentials change (including sandbox checkbox) otherwise we may use wrong state/host e.g. for webhook subscription --- .../src/Settings/SettingsListener.php | 12 +----------- .../WcGateway/Settings/SettingsListenerTest.php | 2 ++ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php b/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php index 980b0db80..829e005b3 100644 --- a/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php +++ b/modules/ppcp-wc-gateway/src/Settings/SettingsListener.php @@ -322,16 +322,6 @@ class SettingsListener { } $this->settings->persist(); - if ( $credentials_change_status ) { - if ( in_array( - $credentials_change_status, - array( self::CREDENTIALS_ADDED, self::CREDENTIALS_CHANGED ), - true - ) ) { - $this->webhook_registrar->register(); - } - } - if ( $this->cache->has( PayPalBearer::CACHE_KEY ) ) { $this->cache->delete( PayPalBearer::CACHE_KEY ); } @@ -345,7 +335,7 @@ class SettingsListener { } $redirect_url = false; - if ( self::CREDENTIALS_ADDED === $credentials_change_status ) { + if ( self::CREDENTIALS_UNCHANGED !== $credentials_change_status ) { $redirect_url = $this->get_onboarding_redirect_url(); } diff --git a/tests/PHPUnit/WcGateway/Settings/SettingsListenerTest.php b/tests/PHPUnit/WcGateway/Settings/SettingsListenerTest.php index bad2dda33..403217a1b 100644 --- a/tests/PHPUnit/WcGateway/Settings/SettingsListenerTest.php +++ b/tests/PHPUnit/WcGateway/Settings/SettingsListenerTest.php @@ -85,6 +85,8 @@ class SettingsListenerTest extends ModularTestCase $dcc_status_cache->shouldReceive('has') ->andReturn(false); + expect('wp_safe_redirect')->once(); + $testee->listen(); } }