From 9cc022c3eb5d43ad974543a5a48e7ee14f623362 Mon Sep 17 00:00:00 2001 From: paeddl Date: Wed, 25 Mar 2026 11:38:33 +0100 Subject: [PATCH] v7.1.5 --- CHANGELOG_de-DE.md | 5 +- CHANGELOG_en-GB.md | 3 ++ composer.json | 2 +- .../UnzerPayPalPaymentHandler.php | 34 ++++++------- .../UnzerWeroPaymentHandler.php | 2 +- .../UnzerUtil/UnzerTransactionUtil.php | 3 +- .../PaymentStatusWebhookHandler.php | 1 - src/Installer/PaymentInstaller.php | 50 +++++++++++++++++++ .../unzer-payment-settings.html.twig | 6 ++- 9 files changed, 79 insertions(+), 27 deletions(-) diff --git a/CHANGELOG_de-DE.md b/CHANGELOG_de-DE.md index fb062a2e..cbee5c47 100644 --- a/CHANGELOG_de-DE.md +++ b/CHANGELOG_de-DE.md @@ -1,3 +1,6 @@ +# 7.1.5 +* Aktualisierung iDEAL Payment Naming + # 7.1.4 * **Wichtiger Hotfix** * Dieser Hotfix behebt ein Problem, bei dem einige Webhooks in Shopware 6.7 nicht korrekt registriert wurden. @@ -78,7 +81,7 @@ * EPS: Entfernung Bank Feld # 6.2.1 -* Cardholder Name in Kreditkarten-Checkout hinzugefügt +* Cardholder Name in Kreditkarten-Checkout hinzugefügt # 6.2.0 * TWINT als weitere Zahlungsart hinzugefügt diff --git a/CHANGELOG_en-GB.md b/CHANGELOG_en-GB.md index 46155db1..660623b1 100644 --- a/CHANGELOG_en-GB.md +++ b/CHANGELOG_en-GB.md @@ -1,3 +1,6 @@ +# 7.1.5 +* Updated iDEAL Payment naming + # 7.1.4 * **Important hotfix** * This hotfix will fix an issue where some webhooks were not correctly registered in Shopware 6.7. diff --git a/composer.json b/composer.json index 2d747f62..c9e66bde 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "unzerdev/shopware6", "description": "Unzer payment integration for Shopware 6", - "version": "7.1.4", + "version": "7.1.5", "type": "shopware-platform-plugin", "license": "Apache-2.0", "minimum-stability": "dev", diff --git a/src/Components/PaymentHandler/UnzerPayPalPaymentHandler.php b/src/Components/PaymentHandler/UnzerPayPalPaymentHandler.php index e548a900..2720bea7 100644 --- a/src/Components/PaymentHandler/UnzerPayPalPaymentHandler.php +++ b/src/Components/PaymentHandler/UnzerPayPalPaymentHandler.php @@ -37,12 +37,11 @@ class UnzerPayPalPaymentHandler extends AbstractUnzerPaymentHandler * {@inheritdoc} */ public function pay( - Request $request, + Request $request, PaymentTransactionStruct $transaction, - Context $context, - ?Struct $validateStruct - ): RedirectResponse - { + Context $context, + ?Struct $validateStruct + ): RedirectResponse { $orderTransaction = $this->transactionUtil->getOrderTransaction($transaction->getOrderTransactionId(), $context); if ($request->getSession()->get(ExpressCheckoutService::SESSION_PAYPAL_PAYMENT_ID)) { try { @@ -122,11 +121,10 @@ public function pay( } public function finalize( - Request $request, + Request $request, PaymentTransactionStruct $transaction, - Context $context - ): void - { + Context $context + ): void { $orderTransaction = $this->transactionUtil->getOrderTransaction($transaction->getOrderTransactionId(), $context); $this->pluginConfig = $this->configReader->read($orderTransaction->getOrder()->getSalesChannelId()); @@ -208,11 +206,10 @@ public function finalize( } protected function handleRecurringPayment( - Request $request, + Request $request, PaymentTransactionStruct $transaction, - Context $context - ): RedirectResponse - { + Context $context + ): RedirectResponse { try { $bookingMode = $this->pluginConfig->get(ConfigReader::CONFIG_KEY_BOOKING_MODE_PAYPAL, BookingMode::CHARGE); @@ -237,13 +234,12 @@ protected function handleRecurringPayment( } private function payExpress( - string $unzerPaymentId, + string $unzerPaymentId, PaymentTransactionStruct $transaction, - OrderTransactionEntity $orderTransaction, - Request $currentRequest, - Context $context - ) - { + OrderTransactionEntity $orderTransaction, + Request $currentRequest, + Context $context + ) { $unzerClient = $this->unzerClient = $this->clientFactory->createClientFromSalesChannelId($orderTransaction->getOrder()->getSalesChannelId(), $currentRequest); $payment = $unzerClient->fetchPayment($unzerPaymentId); $unzerBasket = $this->basketHydrator->hydrateObject($orderTransaction); diff --git a/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php b/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php index c80da54d..d633d16e 100644 --- a/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php +++ b/src/Components/PaymentHandler/UnzerWeroPaymentHandler.php @@ -21,6 +21,6 @@ protected function getUnzerPaymentTypeObject(): Wero protected function setBookingMode(): void { $this->bookingMode = BookingMode::CHARGE; - #$this->bookingMode = $this->pluginConfig->get(ConfigReader::CONFIG_KEY_BOOKING_MODE_WERO, BookingMode::CHARGE); + // $this->bookingMode = $this->pluginConfig->get(ConfigReader::CONFIG_KEY_BOOKING_MODE_WERO, BookingMode::CHARGE); } } diff --git a/src/Components/UnzerUtil/UnzerTransactionUtil.php b/src/Components/UnzerUtil/UnzerTransactionUtil.php index 1a83bba1..e37ba3c0 100644 --- a/src/Components/UnzerUtil/UnzerTransactionUtil.php +++ b/src/Components/UnzerUtil/UnzerTransactionUtil.php @@ -184,8 +184,7 @@ public function updateOrderTransactionStatus(Unzer $client, OrderTransactionEnti $context ); } catch (\Throwable $e) { - $this->logger->error('error updating transaction state from util: ' . $e->getMessage(), ['trace'=>$e->getTraceAsString()]); + $this->logger->error('error updating transaction state from util: ' . $e->getMessage(), ['trace' => $e->getTraceAsString()]); } } - } diff --git a/src/Components/WebhookHandler/PaymentStatusWebhookHandler.php b/src/Components/WebhookHandler/PaymentStatusWebhookHandler.php index 6a78d568..76f16dbb 100644 --- a/src/Components/WebhookHandler/PaymentStatusWebhookHandler.php +++ b/src/Components/WebhookHandler/PaymentStatusWebhookHandler.php @@ -95,4 +95,3 @@ private function getOrderTransaction(?string $orderId, Context $context): ?Order } } } - diff --git a/src/Installer/PaymentInstaller.php b/src/Installer/PaymentInstaller.php index 07f4c404..9433656d 100755 --- a/src/Installer/PaymentInstaller.php +++ b/src/Installer/PaymentInstaller.php @@ -5,6 +5,7 @@ namespace UnzerPayment6\Installer; use League\Flysystem\Filesystem; +use Shopware\Core\Checkout\Payment\Aggregate\PaymentMethodTranslation\PaymentMethodTranslationEntity; use Shopware\Core\Checkout\Payment\PaymentMethodEntity; use Shopware\Core\Framework\Context; use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository; @@ -512,6 +513,55 @@ private function upsertPaymentMethods(InstallContext $context): void } $this->removeOldPaymentMethods($context); $this->deprecatePaymentMethods($context); + $this->renameIdeal($context->getContext()); + } + + private function renameIdeal(Context $context): void + { + $criteria = new Criteria([self::PAYMENT_ID_IDEAL]); + $criteria->addAssociation('translations.language.locale'); + /** @var PaymentMethodEntity $existingPaymentMethod */ + $existingPaymentMethod = $this->paymentMethodRepository->search($criteria, $context)->first(); + if ($existingPaymentMethod === null) { + return; + } + $translations = []; + /** @var PaymentMethodTranslationEntity $translation */ + foreach ($existingPaymentMethod->getTranslations()->getElements() as $uniqueId => $translation) { + $newName = null; + $newDescription = null; + if (stripos($translation->getName(), 'wero') === false) { + $newName = str_replace('iDEAL', 'iDEAL | Wero', $translation->getName()); + } + if (stripos($translation->getDescription(), 'wero') === false) { + $newDescription = str_replace('iDEAL', 'iDEAL | Wero', $translation->getDescription()); + } + + if ($newName === null && $newDescription === null) { + continue; + } + + $localeCode = $translation->getLanguage()->getLocale()->getCode(); + + $translations[$localeCode] = [ + 'languageId' => $translation->getLanguageId(), + ]; + if ($newName !== null) { + $translations[$localeCode]['name'] = $newName; + } + if ($newDescription !== null) { + $translations[$localeCode]['description'] = $newDescription; + } + } + + if (empty($translations)) { + return; + } + + $this->paymentMethodRepository->update([[ + 'id' => $existingPaymentMethod->getId(), + 'translations' => $translations, + ]], $context); } private function deprecatePaymentMethods(InstallContext $context): void 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 4a4360fc..436b50a3 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 @@ -94,7 +94,9 @@ size="16px" :class="{'unzer-additional-keys__title-icon': true, 'is-expanded': isAdditionalKeysExpanded}" > - +
{% endblock %} -{% endblock %} \ No newline at end of file +{% endblock %}