Compare commits

...

3 Commits

Author SHA1 Message Date
andrewrowanwallee 36ec0cac03 Release 6.2.3 2026-06-09 12:47:48 +02:00
andrewrowanwallee 219a13af6e Release 6.2.2 2026-05-04 15:16:50 +02:00
andrewrowanwallee e732454683 Release 6.2.1 2026-02-12 13:13:32 +01:00
10 changed files with 55 additions and 27 deletions
+7
View File
@@ -1,3 +1,10 @@
# 6.2.3
- Fix issue with cart clearing on payment method change
- Fixed issue with missing payment methods
# 6.2.1
- Fixed issue with multiple discount codes
# 6.2.0
- Renamed database table to avoid a naming conflict with legacy plugins
- Fixed issue with refunds failing for payments using Invoice
+7
View File
@@ -1,3 +1,10 @@
# 6.2.3
- Problem mit dem Leeren des Warenkorbs bei Änderung der Zahlungsmethode behoben
- Problem mit fehlenden Zahlungsmethoden behoben
# 6.2.1
- Problem mit mehreren Rabattcodes behoben
# 6.2.0
- Datenbanktabelle umbenannt, um Namenskonflikte mit älteren Plugins zu vermeiden.
- Problem mit fehlgeschlagenen Rückerstattungen bei Zahlungen mit Rechnungen behoben.
+4 -4
View File
@@ -13,10 +13,10 @@ The VR Payment Payment Plugin integrates modern payment processing into Shopware
- **VR Payment Account:** Obtain `Space ID`, `User ID`, and `API Key` from the [VR Payment Dashboard](https://gateway.vr-payment.de/).
## Documentation
- For English documentation click [here](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.0/docs/en/documentation.html)
- Für die deutsche Dokumentation klicken Sie [hier](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.0/docs/de/documentation.html)
- Pour la documentation Française, cliquez [ici](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.0/docs/fr/documentation.html)
- Per la documentazione in tedesco, clicca [qui](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.0/docs/it/documentation.html)
- For English documentation click [here](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.3/docs/en/documentation.html)
- Für die deutsche Dokumentation klicken Sie [hier](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.3/docs/de/documentation.html)
- Pour la documentation Française, cliquez [ici](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.3/docs/fr/documentation.html)
- Per la documentazione in tedesco, clicca [qui](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/6.2.3/docs/it/documentation.html)
## Installation
+1 -1
View File
@@ -59,5 +59,5 @@
"vrpayment/sdk": "^4.0.0"
},
"type": "shopware-platform-plugin",
"version": "6.2.0"
"version": "6.2.3"
}
@@ -684,6 +684,13 @@ class PaymentMethodConfigurationService {
], $context);
// Media insert/update
// detect if collision, return existing id
$existingId = $this->checkMediaAlreadyExists($paymentMethodConfiguration->getResolvedImageUrl(), $context);
if ($existingId) {
return $existingId;
}
$mediaDefinition = $this->container->get(MediaDefinition::class);
$this->mediaSerializer->setRegistry($this->serializerRegistry);
@@ -704,6 +711,32 @@ class PaymentMethodConfigurationService {
}
}
/**
* Check if the payment method icon is already uploaded.
*
* @param string $paymentMethodUrl
* @param \Shopware\Core\Framework\Context $context
*
* @return string|bool
*/
private function checkMediaAlreadyExists($paymentMethodUrl, $context) {
// detect if collision, return existing id
if (!preg_match('#/([^/]+)\.[^/.]+$#', $paymentMethodUrl, $matches)) {
return false;
}
$filename = $matches[1];
$criteria = new Criteria();
$criteria->addFilter(new EqualsFilter('fileName', $filename));
$existing = $this->mediaRepository->search($criteria, $context)->first();
if ($existing) {
return $existing->getId();
}
return false;
}
/**
* Retrieves media default folder for a given payment method configuration.
*
@@ -698,16 +698,6 @@ class WebHookController extends AbstractController {
private function unholdAndCancelDelivery(string $orderId, Context $context): void
{
$order = $this->getOrderEntity($orderId, $context);
try {
$this->orderService->orderStateTransition(
$order->getId(),
StateMachineTransitionActions::ACTION_CANCEL,
new ParameterBag(),
$context
);
} catch (\Exception $exception) {
$this->logger->info($exception->getMessage(), $exception->getTrace());
}
try {
/**
@@ -378,16 +378,6 @@ abstract class WebHookStrategyBase implements WebHookStrategyInterface {
protected function unholdAndCancelDelivery(string $orderId, Context $context): void
{
$order = $this->getOrderEntity($orderId, $context);
try {
$this->orderService->orderStateTransition(
$order->getId(),
StateMachineTransitionActions::ACTION_CANCEL,
new ParameterBag(),
$context
);
} catch (\Exception $exception) {
$this->logger->info($exception->getMessage(), $exception->getTrace());
}
try {
@@ -337,6 +337,7 @@ class CheckoutSubscriber implements EventSubscriberInterface
new EqualsFilter('salesChannels.id', $event->getSalesChannelContext()->getSalesChannelId())
);
$criteria->addSorting(new FieldSorting('position', FieldSorting::ASCENDING));
$criteria->addAssociation('media');
$result = $this->paymentMethodRepository->search($criteria, $event->getContext());
foreach ($result->getEntities() as $method) {
+1 -1
View File
@@ -28,7 +28,7 @@ class Analytics {
self::SHOP_SYSTEM => 'shopware',
self::SHOP_SYSTEM_VERSION => $shopwareVersion,
self::SHOP_SYSTEM_AND_VERSION => 'shopware-' . $shopwareVersion,
self::PLUGIN_SYSTEM_VERSION => '6.2.0',
self::PLUGIN_SYSTEM_VERSION => '6.2.3',
];
}
+1 -1
View File
@@ -345,7 +345,7 @@ class TransactionPayload extends AbstractPayload
->setShippingRequired(false)
->setSku('sku-discount-' . $rate . '-' . $discountName, 200)
->setType(LineItemType::DISCOUNT)
->setUniqueId('coupon-sku-discount-' . $rate . '-' . $rate . '-' . $discountName);
->setUniqueId('coupon-sku-discount-' . $rate . '-' . $rate . '-' . $discountName . '-' . $discount->getId());
$taxRate = new TaxCreate(['title' => 'Discount Tax: ' . $rate, 'rate' => $rate]);
$lineItem->setTaxes([$taxRate]);