## [1.6.1] - 2025-12-18
### Added
- **Payment Method Specific Logos**: Each Mondu payment method now displays its own unique logo in the admin panel and storefront footer
- Invoice (Net 30): `invoice_white_rectangle.png`
- SEPA Direct Debit: `sepa_white_rectangle.png`
- Installment Payments: `installments_white_rectangle.png`
- Pay Now: `instant_pay_white_rectangle.png`
- New `PAYMENT_METHOD_LOGOS` constant in `PaymentMethods` class for logo mapping
- `getPaymentMethodLogoMediaId()` method in `MediaProvider` for handling payment-specific logos
- `hasMediaAlreadyInstalledByName()` method for checking existing media by custom name
- **Address Additional Fields Handling**: New configuration options for handling Shopware's additional address fields
- `handlingAddressAdditionalField1` - Configure how to handle Address Additional Field 1
- `handlingAddressAdditionalField2` - Configure how to handle Address Additional Field 2
- Options: Ignore, Add to Mondu Address Line 1, or Add to Mondu Address Line 2
- Applies to both billing and shipping addresses
- New configuration methods: `getHandlingAddressAdditionalField1()` and `getHandlingAddressAdditionalField2()`
- **Payment State Handling**: Fixed transaction state handling when "Authorized" is configured as the payment state
- Previously, the configured "Authorized" state was not properly applied after successful order placement
- Now correctly calls `transactionStateHandler->authorize()` when "Authorized" is selected in plugin configuration
- Ensures proper order workflow for merchants using authorization-based payment flows
### Changed
- **Refactored Resource Path Handling**: Replaced hardcoded paths with Dependency Injection
- Added `$pluginPath` parameter to `MediaProvider` constructor
- Introduced `mondu.plugin.path` parameter in `services.xml`
- Resource paths now use `%kernel.project_dir%` Symfony parameter
- Improved testability and configurability
- Updated `updatePaymentMethodImage()` to use specific logos per payment method with fallback to default logo
### Fixed
- **Critical Bug**: Fixed `TypeError` during plugin uninstallation
- Changed `MonduClient::$key` property from `string` to nullable `?string`
- Resolved "Cannot assign null to property MonduClient::$key of type string" error
- Plugin can now be safely uninstalled without errors
### Technical Improvements
- Better adherence to Shopware 6 best practices for resource management
- Eliminated use of `dirname(__DIR__)` in favor of dependency-injected paths
- Enhanced code maintainability and readability
- All paths are now configurable through Symfony DI container
## New Features
- **Differentiated Transaction States**: Declined → `Failed`, Cancelled → `Cancelled` (previously both were `Failed`)
- **Flow Builder Translations**: Added proper German/English translations for all Mondu events
---
## Breaking Changes:
- **new naming of Mondu payment methods**
Now you have to include Mondu's Privacy Information for Buyers in your terms & conditions section. Please check this site for more details: https://docs.mondu.ai/v0.7/docs/mondu-data-processing
---
## Bug Fixes
### Critical Fixes
1. **Sales Channel Configuration**
- Fixed: Plugin now respects per-sales-channel settings instead of global configuration
- Impact: Multi-tenant setups work correctly
2. **Checkout Decline/Cancellation**
- Fixed: Order State no longer cancelled when user declines/cancels on checkout
- Impact: Users can retry payment, better checkout experience
3. **Skip All Validations Mode**
- Fixed: "Invoice number required" error
- Impact: Works with or without invoice document
---
## ? Behavior Changes
| Scenario | Transaction State | Order State | User |
|----------|-------------------|-------------|------|
| Checkout Decline | Failed | Open | Stays on checkout |
| Checkout Cancellation | Cancelled | Open | Stays on checkout |
| Webhook Decline | Failed | Cancelled* | Order cancelled |
| Webhook Cancellation | Cancelled | Cancelled* | Order cancelled |
\* Only if "Allow Mondu transition order state" enabled
Implement PayNow payment method
Implementation of Shopware 6.7 support
Implementation of the PayNow payment method
Fix the issue when the order status is not updated after the status is set from PENDING to CONFIRMED
This update fixes the error during the “back to the merchant” request.
Bugfixes and improvements.
Bugfixes and improvements
Bugfixes and improvements
Fix for Mondu orders can no longer be loaded if a product referenced
Added Order Transaction State configuration
Added Order Transaction State configuration
Changed Order Status to Paid after placing an order
Added support for Shopware 6.5.x
Added support for hosted checkout
Bug Fixes related to invoices
Added multi-currency support
Fixed incorrect document URL in invoice payload
- Improved performance on the CheckoutController
- Removed unnecessary development environment references
- Changed commands to use shared services instead of HTTP Requests
- Minor codebase improvements
- Dutch localization
- Fixed table collation issue
- New logos
- Fixed issue with deinstallation
- Stability improvements
- Fixed sub-shop API Validation
- Fixed translations
- Fixed Sales Channel Configuration issues
- Added installments payment methods
- Fixed plugin conflicts and order ID reservation
- Added a configuration flag to skip order state validation
- Multiple sales channels compatibility
- Added cancel credit note button to cancel credit notes on the Mondu API
- Added button to test API credentials
Sepa SDD payment method added. (#13) * Sepa SDD payment method added. * typo fix * compiled assets