diff --git a/CHANGELOG_de-DE.md b/CHANGELOG_de-DE.md
index e65bde99..f3a1bbd8 100644
--- a/CHANGELOG_de-DE.md
+++ b/CHANGELOG_de-DE.md
@@ -1,3 +1,12 @@
+# 5.12.2
+* Fehler behoben, bei dem die AGB nicht bis zum Akzeptieren-Häkchen gescrollt wurden
+* Falsche UI-Komponente für B2B-Rechnung korrigiert
+* Fehlerhafte Kundendaten für UPL behoben
+* Fehlerbehebung für Apple Pay in Nicht-Safari-Browsern
+* Apple-Pay-Button wird nun immer angezeigt, wenn Apple Pay aktiv ist
+* Problem behoben, bei dem Apple Pay nicht immer funktioniert hat
+* Buchungsmodus-Fix für Wero
+
# 5.12.1
* Minor Fix am Customer-Objekt für besseren PayPal-B2B-Support
diff --git a/CHANGELOG_en-GB.md b/CHANGELOG_en-GB.md
index a3bad663..7dc00597 100644
--- a/CHANGELOG_en-GB.md
+++ b/CHANGELOG_en-GB.md
@@ -1,3 +1,12 @@
+# 5.12.2
+* Fix for Terms and Conditions no scroll to accept checkmark
+* Fix incorrect UI Comp. for B2B invoice
+* Fix for incorrect customer data for UPL
+* Fix for Apple Pay in Non-Safari browsers
+* Fix to always show Apple Pay button when Apple Pay is active
+* Fix for Apple Pay not always working
+* Booking mode fix for Wero
+
# 5.12.1
* Minor fix to customer object for better Paypal B2B support
diff --git a/composer.json b/composer.json
index 983fcb33..f9559ba9 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,7 @@
{
"name": "unzerdev/shopware6",
"description": "Unzer payment integration for Shopware 6",
- "version": "5.12.1",
+ "version": "5.12.2",
"type": "shopware-platform-plugin",
"license": "Apache-2.0",
"minimum-stability": "dev",
diff --git a/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php b/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php
index cd6361f2..c80da54d 100644
--- a/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php
+++ b/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php
@@ -20,6 +20,7 @@ protected function getUnzerPaymentTypeObject(): Wero
protected function setBookingMode(): void
{
- $this->bookingMode = $this->pluginConfig->get(ConfigReader::CONFIG_KEY_BOOKING_MODE_WERO, BookingMode::CHARGE);
+ $this->bookingMode = BookingMode::CHARGE;
+ #$this->bookingMode = $this->pluginConfig->get(ConfigReader::CONFIG_KEY_BOOKING_MODE_WERO, BookingMode::CHARGE);
}
}
diff --git a/src/Controllers/Administration/UnzerPaymentConfigurationController.php b/src/Controllers/Administration/UnzerPaymentConfigurationController.php
index 4a58b0d5..1c23a1b1 100644
--- a/src/Controllers/Administration/UnzerPaymentConfigurationController.php
+++ b/src/Controllers/Administration/UnzerPaymentConfigurationController.php
@@ -10,6 +10,7 @@
use Shopware\Core\Framework\Validation\DataBag\RequestDataBag;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
+use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use UnzerPayment6\Components\ClientFactory\ClientFactoryInterface;
@@ -90,10 +91,10 @@ public function validateCredentials(RequestDataBag $dataBag): JsonResponse
* @Route("/api/_action/unzer-payment/get-google-pay-gateway-merchant-id", name="api.action.unzer.get.google.pay.gateway.merchant.id", methods={"GET"})
* @Route("/api/v{version}/_action/unzer-payment/get-google-pay-gateway-merchant-id", name="api.action.unzer.get.google.pay.gateway.merchant.id.version", methods={"GET"})
*/
- public function getGooglePayGatewayMerchantId(RequestDataBag $dataBag): JsonResponse
+ public function getGooglePayGatewayMerchantId(Request $request): JsonResponse
{
try {
- $salesChannelId = $dataBag->get('salesChannelId', '');
+ $salesChannelId = $request->get('salesChannelId', '');
/** @var ConfigReader $configReader */
$configReader = $this->container->get(ConfigReader::class);
diff --git a/src/EventListeners/ExpressButtons/ExpressButtonsEventListener.php b/src/EventListeners/ExpressButtons/ExpressButtonsEventListener.php
index 280c61c6..7b3df4ff 100644
--- a/src/EventListeners/ExpressButtons/ExpressButtonsEventListener.php
+++ b/src/EventListeners/ExpressButtons/ExpressButtonsEventListener.php
@@ -4,7 +4,12 @@
namespace UnzerPayment6\EventListeners\ExpressButtons;
+use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository;
+use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
+use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
+use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\MultiFilter;
use Shopware\Core\Framework\Struct\ArrayStruct;
+use Shopware\Core\System\SalesChannel\SalesChannelContext;
use Shopware\Storefront\Page\Checkout\Cart\CheckoutCartPageLoadedEvent;
use Shopware\Storefront\Page\Checkout\Offcanvas\OffcanvasCartPageLoadedEvent;
use Shopware\Storefront\Page\PageLoadedEvent;
@@ -14,12 +19,14 @@
use UnzerPayment6\Components\Storefront\ExtensionFactory;
use UnzerPayment6\Components\Struct\PageExtension\Checkout\Confirm\ApplePayV2PageExtension;
use UnzerPayment6\Components\Struct\PageExtension\Checkout\Confirm\GooglePayPageExtension;
+use UnzerPayment6\Installer\PaymentInstaller;
class ExpressButtonsEventListener implements EventSubscriberInterface
{
public function __construct(
private ConfigReaderInterface $configReader,
private ExtensionFactory $extensionFactory,
+ private EntityRepository $salesChannelRepository
) {
}
@@ -36,16 +43,16 @@ public function addExpressButtons(PageLoadedEvent $event): void
$config = $this->configReader->read($event->getSalesChannelContext()->getSalesChannel()->getId());
if (!$config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_PAYPAL)
- && !$config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_GOOGLE)
- && !$config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_APPLEPAY)) {
+ && !$config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_GOOGLE)
+ && !$config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_APPLEPAY)) {
return;
}
$event->getPage()->addExtension('UnzerExpressButtons', new ArrayStruct([
'publicKey' => $config->get(ConfigReader::CONFIG_KEY_PUBLIC_KEY),
- 'usePaypal' => $config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_PAYPAL),
- 'useGooglePay' => $config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_GOOGLE),
- 'useApplePay' => $config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_APPLEPAY),
+ 'usePaypal' => $config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_PAYPAL) && $this->isPaymentMethodActive(PaymentInstaller::PAYMENT_ID_PAYPAL, $event->getSalesChannelContext()),
+ 'useGooglePay' => $config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_GOOGLE) && $this->isPaymentMethodActive(PaymentInstaller::PAYMENT_ID_GOOGLE_PAY, $event->getSalesChannelContext()),
+ 'useApplePay' => $config->get(ConfigReader::CONFIG_KEY_USE_EXPRESS_APPLEPAY) && $this->isPaymentMethodActive(PaymentInstaller::PAYMENT_ID_APPLE_PAY_V2, $event->getSalesChannelContext()),
]));
$googlePayExtension = $this->extensionFactory->getGooglePayExtension($event->getSalesChannelContext()->getSalesChannelId());
$event->getPage()->addExtension(GooglePayPageExtension::EXTENSION_NAME, $googlePayExtension);
@@ -53,4 +60,22 @@ public function addExpressButtons(PageLoadedEvent $event): void
$applePayExtension = $this->extensionFactory->getApplePayExtension($event->getSalesChannelContext()->getSalesChannelId());
$event->getPage()->addExtension(ApplePayV2PageExtension::EXTENSION_NAME, $applePayExtension);
}
+
+ public function isPaymentMethodActive(string $paymentMethodId, SalesChannelContext $context): bool
+ {
+ $criteria = new Criteria();
+ $criteria->setLimit(1);
+ $criteria->addFilter(
+ new MultiFilter(
+ MultiFilter::CONNECTION_AND,
+ [
+ new EqualsFilter('id', $context->getSalesChannel()->getId()),
+ new EqualsFilter('paymentMethods.id', $paymentMethodId),
+ new EqualsFilter('paymentMethods.active', true),
+ ]
+ )
+ );
+
+ return $this->salesChannelRepository->searchIds($criteria, $context->getContext())->firstId() !== null;
+ }
}
diff --git a/src/Resources/app/administration/src/module/unzer-payment-configuration/page/unzer-payment-settings/unzer-payment-settings.html.twig b/src/Resources/app/administration/src/module/unzer-payment-configuration/page/unzer-payment-settings/unzer-payment-settings.html.twig
index 265c83db..b89179d5 100644
--- a/src/Resources/app/administration/src/module/unzer-payment-configuration/page/unzer-payment-settings/unzer-payment-settings.html.twig
+++ b/src/Resources/app/administration/src/module/unzer-payment-configuration/page/unzer-payment-settings/unzer-payment-settings.html.twig
@@ -86,6 +86,7 @@
size="16px"
:class="{'unzer-additional-keys__title-icon': true, 'is-expanded': isAdditionalKeysExpanded}"
>
+