From 7a5b62b664905acbb8ca76aa978862202883b427 Mon Sep 17 00:00:00 2001 From: L3RAZ Date: Thu, 19 Sep 2024 15:58:04 +0300 Subject: [PATCH] Added a check if domain is registered to Sdk Config builder --- ps_checkout.php | 2 ++ src/PayPal/PayPalConfiguration.php | 8 ++++++++ src/PayPal/Sdk/PayPalSdkConfigurationBuilder.php | 1 + 3 files changed, 11 insertions(+) diff --git a/ps_checkout.php b/ps_checkout.php index 215e8af15..92f81446e 100755 --- a/ps_checkout.php +++ b/ps_checkout.php @@ -107,6 +107,8 @@ class Ps_checkout extends PaymentModule 'PS_CHECKOUT_DISPLAY_LOGO_PRODUCT' => '1', 'PS_CHECKOUT_DISPLAY_LOGO_CART' => '1', 'PS_CHECKOUT_HOSTED_FIELDS_CONTINGENCIES' => 'SCA_WHEN_REQUIRED', + 'PS_CHECKOUT_DOMAIN_REGISTERED_SANDBOX' => false, + 'PS_CHECKOUT_DOMAIN_REGISTERED_LIVE' => false, ]; public $confirmUninstall; diff --git a/src/PayPal/PayPalConfiguration.php b/src/PayPal/PayPalConfiguration.php index c1171bcda..7148f029b 100644 --- a/src/PayPal/PayPalConfiguration.php +++ b/src/PayPal/PayPalConfiguration.php @@ -20,6 +20,7 @@ namespace PrestaShop\Module\PrestashopCheckout\PayPal; +use Crypto\MAC; use PrestaShop\Module\PrestashopCheckout\Configuration\PrestaShopConfiguration; use PrestaShop\Module\PrestashopCheckout\Exception\PsCheckoutException; use PrestaShop\Module\PrestashopCheckout\Repository\PayPalCodeRepository; @@ -52,6 +53,8 @@ class PayPalConfiguration const PS_CHECKOUT_GOOGLE_PAY = 'PS_CHECKOUT_GOOGLE_PAY'; const PS_CHECKOUT_APPLE_PAY = 'PS_CHECKOUT_APPLE_PAY'; + const PS_CHECKOUT_DOMAIN_REGISTERED_SANDBOX = 'PS_CHECKOUT_DOMAIN_REGISTERED_SANDBOX'; + const PS_CHECKOUT_DOMAIN_REGISTERED_LIVE = 'PS_CHECKOUT_DOMAIN_REGISTERED_LIVE'; /** * @var PrestaShopConfiguration @@ -454,4 +457,9 @@ public function isApplePayEligible() { return (bool) $this->configuration->get(static::PS_CHECKOUT_APPLE_PAY); } + + public function isApplePayDomainRegistered() + { + return (bool) $this->configuration->get($this->getPaymentMode() === Mode::SANDBOX ? static::PS_CHECKOUT_DOMAIN_REGISTERED_SANDBOX : static::PS_CHECKOUT_DOMAIN_REGISTERED_LIVE); + } } diff --git a/src/PayPal/Sdk/PayPalSdkConfigurationBuilder.php b/src/PayPal/Sdk/PayPalSdkConfigurationBuilder.php index dcb40eebb..5d08cc436 100644 --- a/src/PayPal/Sdk/PayPalSdkConfigurationBuilder.php +++ b/src/PayPal/Sdk/PayPalSdkConfigurationBuilder.php @@ -510,6 +510,7 @@ private function shouldIncludeApplePayComponent() return $fundingSource && $fundingSource['active'] && $this->configuration->isApplePayEligible() + && $this->configuration->isApplePayDomainRegistered() && in_array($country, $this->fundingSourceEligibilityConstraint->getCountries('apple_pay'), true) && in_array($context->currency->iso_code, $this->fundingSourceEligibilityConstraint->getCurrencies('apple_pay'), true); }