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;
}