All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.3.0 - 2025-02-12
- Configurable redirect routes for Monetico payment status
failed_payment_redirect_route(default:sylius_shop_order_show) for failed/cancelled paymentssuccess_payment_redirect_route(default:sylius_shop_order_thank_you) for successful payments- Unit tests for StatusHttpResponseProvider routing logic
- StatusHttpResponseProvider now redirects based on payment state (completed/authorized vs other)
1.1.4 - 2025-10-16
- Refactored NotifyPaymentRequestHandler to use atomic transaction handling
- All database changes (response data, PaymentRequest state, Payment state, Order state) now flush in a single transaction
- Improved code organization and flow for better maintainability
- Moved EntityManager flush to the end of the handler after all state transitions
- Added comprehensive inline documentation explaining Sylius workflow listener behavior
- Order state updates are automatically handled by Sylius's ResolveOrderPaymentStateListener
- Ensures data consistency with atomic database operations
1.1.3 - 2025-10-16
- CRITICAL: Fixed Payment entity state not being updated when payment notifications are received
- NotifyPaymentRequestHandler now applies transitions to both PaymentRequest AND Payment entities
- Orders are now correctly marked as paid when Monetico sends successful payment notifications
- Added PaymentTransitions to update the Payment entity state alongside PaymentRequest state
- Payment state transitions (complete/fail) are now applied based on Monetico notification status
- This triggers Sylius's order payment state resolution to properly update order status
1.1.2 - 2025-10-16
- CRITICAL: Fixed NotifyPaymentRequestHandler not being executed when Monetico sends payment notifications
- NotifyPaymentRequest command now includes notification data instead of relying on RequestStack
- MAC signature validation now happens in NotifyController before command dispatch
- Changed NotifyController to use sylius.command_bus for better integration with Sylius messenger routing
- Removed RequestStack dependency from NotifyPaymentRequestHandler for async compatibility
- Refactored payment notification flow to pass validated data through the command
- Updated NotifyHttpResponseProvider to include proper Content-Type header and CDR response
1.1.1 - 2025-10-16
- Status payment request command provider to support payment status checks on "after pay" page
- StatusPaymentRequest command for handling status requests
- StatusPaymentRequestHandler for processing status checks
- StatusPaymentRequestCommandProvider for status action support
- StatusHttpResponseProvider to redirect users to thank you page after payment
- Fixed "No payment request command provider supported for 'status'" error when accessing after pay page
- Improved exception handling in NotifyController by using RuntimeException instead of NotFoundException for invalid data
1.1.0 - 2025-10-16
- Detailed payment flow documentation in CLAUDE.md
- Payment request hash now included in Monetico's
texte-librefield for improved security and tracking
- BREAKING: NotifyController now extracts hash from
texte-libreparameter instead of URL - Unified success and error URLs in CapturePaymentRequestHandler for consistent user experience
- Updated shop route to remove hash from notification URL
- Modified CapturePaymentRequestHandler to ensure all payment requests include a hash
- Enhanced README.md to document
texte-librefield changes and hash handling
- MoneticoService class as part of codebase cleanup and refactoring
- Improved payment notification handling by moving hash extraction to server-side parameter
1.0.0 - 2025-10-16
- Initial release of LakeDynamics Sylius Monetico Plugin
- Complete Monetico payment gateway integration for Sylius
- Docker-based development environment
- PHPUnit and Behat test suites
- Code quality tools (PHPStan, ECS)
- Comprehensive documentation and development guides