From 7a03bda2ac4171cf05e1ac86d69b5ccfc3035eaf Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Mon, 17 Feb 2025 17:18:10 +0400 Subject: [PATCH 1/6] Map the "Invoice prefix" --- modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php index d3ce17290..5e43c7745 100644 --- a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php +++ b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php @@ -37,6 +37,7 @@ class SettingsTabMapHelper { 'subtotal_mismatch_behavior' => 'subtotal_adjustment', 'landing_page' => 'landing_page', 'smart_button_language' => 'button_language', + 'prefix' => 'invoice_prefix', ); } From 3e5f151bbb9d14db848def213bdd74490b07e9c0 Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Mon, 17 Feb 2025 17:31:56 +0400 Subject: [PATCH 2/6] Map the "Order intent" --- .../src/Settings/SettingsTabMapHelper.php | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php index 5e43c7745..99f93c4ce 100644 --- a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php +++ b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php @@ -37,7 +37,8 @@ class SettingsTabMapHelper { 'subtotal_mismatch_behavior' => 'subtotal_adjustment', 'landing_page' => 'landing_page', 'smart_button_language' => 'button_language', - 'prefix' => 'invoice_prefix', + 'prefix' => 'invoice_prefix', + 'intent' => '', ); } @@ -58,6 +59,9 @@ class SettingsTabMapHelper { case 'landing_page': return $this->mapped_landing_page_value( $settings_model ); + case 'intent': + return $this->mapped_intent_value( $settings_model ); + default: return $settings_model[ $new_key ] ?? null; } @@ -99,4 +103,21 @@ class SettingsTabMapHelper { : ApplicationContext::LANDING_PAGE_NO_PREFERENCE ); } + + /** + * Retrieves the mapped value for the order intent from the new settings. + * + * @param array $settings_model The new settings model data as an array. + * @return 'AUTHORIZE'|'CAPTURE'|null The mapped 'intent' setting value. + */ + protected function mapped_intent_value( array $settings_model ): ?string { + $authorize_only = $settings_model['authorize_only'] ?? null; + $capture_virtual_orders = $settings_model['capture_virtual_orders'] ?? null; + + if ( is_null( $authorize_only ) && is_null( $capture_virtual_orders ) ) { + return null; + } + + return $authorize_only ? 'AUTHORIZE' : 'CAPTURE'; + } } From 228861ee89ffa80c64b074f8ae2bbfe0c22a8770 Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Mon, 17 Feb 2025 17:33:53 +0400 Subject: [PATCH 3/6] Map the "vaulting" --- modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php index 99f93c4ce..5f3654366 100644 --- a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php +++ b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php @@ -39,6 +39,7 @@ class SettingsTabMapHelper { 'smart_button_language' => 'button_language', 'prefix' => 'invoice_prefix', 'intent' => '', + 'vault_enabled' => 'save_paypal_and_venmo', ); } From 0cdb46dfa6bdfd215cc713a79b29b5619d2bc912 Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Mon, 17 Feb 2025 17:34:41 +0400 Subject: [PATCH 4/6] Map the vaulting for the Credit and Debit Cards --- modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php index 5f3654366..79a449d20 100644 --- a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php +++ b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php @@ -39,7 +39,7 @@ class SettingsTabMapHelper { 'smart_button_language' => 'button_language', 'prefix' => 'invoice_prefix', 'intent' => '', - 'vault_enabled' => 'save_paypal_and_venmo', + 'vault_enabled_dcc' => 'save_card_details', ); } From a71f687bcff142596057bb0f1513dc730a24f268 Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Mon, 17 Feb 2025 17:36:20 +0400 Subject: [PATCH 5/6] Map the "Pay Now Experience" --- .../src/Settings/SettingsTabMapHelper.php | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php index 79a449d20..3e5ccfbdb 100644 --- a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php +++ b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php @@ -30,16 +30,17 @@ class SettingsTabMapHelper { */ public function map(): array { return array( - 'disable_cards' => 'disabled_cards', - 'brand_name' => 'brand_name', - 'soft_descriptor' => 'soft_descriptor', - 'payee_preferred' => 'instant_payments_only', - 'subtotal_mismatch_behavior' => 'subtotal_adjustment', - 'landing_page' => 'landing_page', - 'smart_button_language' => 'button_language', - 'prefix' => 'invoice_prefix', - 'intent' => '', - 'vault_enabled_dcc' => 'save_card_details', + 'disable_cards' => 'disabled_cards', + 'brand_name' => 'brand_name', + 'soft_descriptor' => 'soft_descriptor', + 'payee_preferred' => 'instant_payments_only', + 'subtotal_mismatch_behavior' => 'subtotal_adjustment', + 'landing_page' => 'landing_page', + 'smart_button_language' => 'button_language', + 'prefix' => 'invoice_prefix', + 'intent' => '', + 'vault_enabled_dcc' => 'save_card_details', + 'blocks_final_review_enabled' => 'enable_pay_now', ); } From c1b1f47bbeecf50a89c83e49c9208c647c3d3cdd Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Mon, 17 Feb 2025 17:52:48 +0400 Subject: [PATCH 6/6] Fix the "Pay Now Experience" mapping value --- .../src/Settings/SettingsTabMapHelper.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php index 3e5ccfbdb..fddb31f99 100644 --- a/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php +++ b/modules/ppcp-compat/src/Settings/SettingsTabMapHelper.php @@ -64,6 +64,9 @@ class SettingsTabMapHelper { case 'intent': return $this->mapped_intent_value( $settings_model ); + case 'blocks_final_review_enabled': + return $this->mapped_pay_now_value( $settings_model ); + default: return $settings_model[ $new_key ] ?? null; } @@ -122,4 +125,20 @@ class SettingsTabMapHelper { return $authorize_only ? 'AUTHORIZE' : 'CAPTURE'; } + + /** + * Retrieves the mapped value for the "Pay Now Experience" from the new settings. + * + * @param array $settings_model The new settings model data as an array. + * @return bool|null The mapped 'Pay Now Experience' setting value. + */ + protected function mapped_pay_now_value( array $settings_model ): ?bool { + $enable_pay_now = $settings_model['enable_pay_now'] ?? null; + + if ( is_null( $enable_pay_now ) ) { + return null; + } + + return ! $enable_pay_now; + } }