From cd26441c7685bf28d0df497a1ab5feaa852985c4 Mon Sep 17 00:00:00 2001 From: Malith Senaweera Date: Fri, 15 Dec 2023 10:06:06 -0600 Subject: [PATCH 1/6] Remove URL params from woopay_source_url --- .../components/woopay/save-user/checkout-page-save-user.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/client/components/woopay/save-user/checkout-page-save-user.js b/client/components/woopay/save-user/checkout-page-save-user.js index 8edd7c583d4..db38c5748c5 100644 --- a/client/components/woopay/save-user/checkout-page-save-user.js +++ b/client/components/woopay/save-user/checkout-page-save-user.js @@ -73,7 +73,9 @@ const CheckoutPageSaveUser = ( { isBlocksCheckout } ) => { ? {} : { save_user_in_woopay: isSaveDetailsChecked, - woopay_source_url: window.location.href, + woopay_source_url: window.location.href.split( + '?' + )[ 0 ], woopay_is_blocks: true, woopay_viewport: `${ viewportWidth }x${ viewportHeight }`, woopay_user_phone_field: { @@ -291,7 +293,7 @@ const CheckoutPageSaveUser = ( { isBlocksCheckout } ) => { Date: Fri, 15 Dec 2023 10:17:46 -0600 Subject: [PATCH 2/6] Add changelog entry --- changelog/fix-trim-woopay-source-url | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 changelog/fix-trim-woopay-source-url diff --git a/changelog/fix-trim-woopay-source-url b/changelog/fix-trim-woopay-source-url new file mode 100644 index 00000000000..d0542cc8201 --- /dev/null +++ b/changelog/fix-trim-woopay-source-url @@ -0,0 +1,4 @@ +Significance: patch +Type: fix + +Checkout error when page URL is too long From abbd2a4b3af8844c0762a3c4406cae6054540940 Mon Sep 17 00:00:00 2001 From: Malith Senaweera Date: Fri, 15 Dec 2023 11:55:11 -0600 Subject: [PATCH 3/6] Get URL from wcSettings --- .../components/woopay/save-user/checkout-page-save-user.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/client/components/woopay/save-user/checkout-page-save-user.js b/client/components/woopay/save-user/checkout-page-save-user.js index db38c5748c5..7ded0885944 100644 --- a/client/components/woopay/save-user/checkout-page-save-user.js +++ b/client/components/woopay/save-user/checkout-page-save-user.js @@ -73,9 +73,8 @@ const CheckoutPageSaveUser = ( { isBlocksCheckout } ) => { ? {} : { save_user_in_woopay: isSaveDetailsChecked, - woopay_source_url: window.location.href.split( - '?' - )[ 0 ], + woopay_source_url: + wcSettings.storePages.checkout.permalink, woopay_is_blocks: true, woopay_viewport: `${ viewportWidth }x${ viewportHeight }`, woopay_user_phone_field: { @@ -293,7 +292,7 @@ const CheckoutPageSaveUser = ( { isBlocksCheckout } ) => { Date: Fri, 15 Dec 2023 11:56:27 -0600 Subject: [PATCH 4/6] Update URL passed via query params --- client/checkout/woopay/email-input-iframe.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/checkout/woopay/email-input-iframe.js b/client/checkout/woopay/email-input-iframe.js index f57c3b4e90f..c02b52d32c0 100644 --- a/client/checkout/woopay/email-input-iframe.js +++ b/client/checkout/woopay/email-input-iframe.js @@ -263,7 +263,10 @@ export const handleWooPayEmailInput = async ( ); urlParams.append( 'wcpayVersion', getConfig( 'wcpayVersionNumber' ) ); urlParams.append( 'is_blocks', isBlocksCheckout ? 'true' : 'false' ); - urlParams.append( 'source_url', window.location.href ); + urlParams.append( + 'source_url', + wcSettings.storePages.checkout.permalink + ); urlParams.append( 'viewport', `${ viewportWidth }x${ viewportHeight }` From b608537036487817b580d3b17cde0ccaccbd1199 Mon Sep 17 00:00:00 2001 From: Malith Senaweera Date: Fri, 15 Dec 2023 12:01:20 -0600 Subject: [PATCH 5/6] Add optional chains --- client/checkout/woopay/email-input-iframe.js | 2 +- .../components/woopay/save-user/checkout-page-save-user.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/client/checkout/woopay/email-input-iframe.js b/client/checkout/woopay/email-input-iframe.js index c02b52d32c0..4a2efe861e5 100644 --- a/client/checkout/woopay/email-input-iframe.js +++ b/client/checkout/woopay/email-input-iframe.js @@ -265,7 +265,7 @@ export const handleWooPayEmailInput = async ( urlParams.append( 'is_blocks', isBlocksCheckout ? 'true' : 'false' ); urlParams.append( 'source_url', - wcSettings.storePages.checkout.permalink + wcSettings?.storePages?.checkout?.permalink ); urlParams.append( 'viewport', diff --git a/client/components/woopay/save-user/checkout-page-save-user.js b/client/components/woopay/save-user/checkout-page-save-user.js index 7ded0885944..c38bcae2929 100644 --- a/client/components/woopay/save-user/checkout-page-save-user.js +++ b/client/components/woopay/save-user/checkout-page-save-user.js @@ -74,7 +74,7 @@ const CheckoutPageSaveUser = ( { isBlocksCheckout } ) => { : { save_user_in_woopay: isSaveDetailsChecked, woopay_source_url: - wcSettings.storePages.checkout.permalink, + wcSettings?.storePages?.checkout?.permalink, woopay_is_blocks: true, woopay_viewport: `${ viewportWidth }x${ viewportHeight }`, woopay_user_phone_field: { @@ -292,7 +292,9 @@ const CheckoutPageSaveUser = ( { isBlocksCheckout } ) => { Date: Tue, 2 Jan 2024 09:18:33 -0600 Subject: [PATCH 6/6] Fix unit test --- tests/js/jest-test-file-setup.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/js/jest-test-file-setup.js b/tests/js/jest-test-file-setup.js index 5956c6c748e..c4d9395a9a1 100644 --- a/tests/js/jest-test-file-setup.js +++ b/tests/js/jest-test-file-setup.js @@ -89,6 +89,11 @@ global.wcSettings = { CA: 'Canada', UK: 'United Kingdom', }, + storePages: { + checkout: { + permalink: 'http://localhost/', + }, + }, }; global.wpApiSettings = {