From 889df4d88c3d00da76d835b89e3265e175ca1dcc Mon Sep 17 00:00:00 2001 From: Pedro Silva Date: Wed, 25 Oct 2023 18:40:36 +0100 Subject: [PATCH] Fix ApplePay product page variants --- .../ppcp-applepay/resources/js/ApplepayButton.js | 13 ------------- .../src/Assets/ApplePayDataObjectHttp.php | 14 +++++++++++++- .../ppcp-button/src/Helper/CartProductsHelper.php | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/modules/ppcp-applepay/resources/js/ApplepayButton.js b/modules/ppcp-applepay/resources/js/ApplepayButton.js index f33c6e6d5..9aabf5476 100644 --- a/modules/ppcp-applepay/resources/js/ApplepayButton.js +++ b/modules/ppcp-applepay/resources/js/ApplepayButton.js @@ -33,20 +33,7 @@ class ApplepayButton { } } - //PRODUCT DETAIL PAGE this.refreshContextData(); - - if (this.context === 'product') { - jQuery(document).on('appleclick', () => { - (this.onshippingcontactselected())({ - shippingContact: { - locality: 'New York', - postalCode: '10001', - countryCode: 'US' - } - }); - }); - } } init(config) { diff --git a/modules/ppcp-applepay/src/Assets/ApplePayDataObjectHttp.php b/modules/ppcp-applepay/src/Assets/ApplePayDataObjectHttp.php index ab000a0e1..64b49f8f9 100644 --- a/modules/ppcp-applepay/src/Assets/ApplePayDataObjectHttp.php +++ b/modules/ppcp-applepay/src/Assets/ApplePayDataObjectHttp.php @@ -254,6 +254,7 @@ class ApplePayDataObjectHttp { return; } + $data = $this->append_products_to_data( $data, $_POST ); $data = $this->preprocess_request_data( $data ); $data[ PropertiesDictionary::CALLER_PAGE ] = $caller_page; @@ -697,7 +698,18 @@ class ApplePayDataObjectHttp { ) ); - $products = json_decode( wp_unslash( $_POST[ PropertiesDictionary::PRODUCTS ] ?? '' ), true ); + return $this->append_products_to_data( $data, $_POST ); + } + + /** + * Appends product to a data array. + * + * @param array $data The data. + * @param array $request_data The request data. + * @return array + */ + public function append_products_to_data( array $data, array $request_data ): array { + $products = json_decode( wp_unslash( $request_data[ PropertiesDictionary::PRODUCTS ] ?? '' ), true ); if ( $products ) { $data[ PropertiesDictionary::PRODUCTS ] = $products; diff --git a/modules/ppcp-button/src/Helper/CartProductsHelper.php b/modules/ppcp-button/src/Helper/CartProductsHelper.php index eec427825..506c968d6 100644 --- a/modules/ppcp-button/src/Helper/CartProductsHelper.php +++ b/modules/ppcp-button/src/Helper/CartProductsHelper.php @@ -78,7 +78,7 @@ class CartProductsHelper { return null; } foreach ( $data['products'] as $product ) { - $product = $this->products_from_data( $product ); + $product = $this->product_from_data( $product ); if ( $product ) { $products[] = $product; }