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.
- 'Restore order' action improvement.
- Add data anonymization for order items.
- Fix 'Restore order' action on order.
- Update composer dependencies.
- Added Apple Pay payment method.
- Added new UI for payment page.
- Improve WCAG 2.1 accessibility.
- Added negative rows for discount splitter.
- Added ACL configuration.
- Support the new VAT in Finland.
- Update CSP whitelist.
- Fix issue with submit shipment for custom order status.
- Add toggle to enable or disable 'Add card' & 'Login to add card' button on checkout page.
- Fix issue with loading orders from reference in callbacks.
- Fix for DI configuration
- New MFTF test cases
- Update CSP
- Fix for recurring payments
- Refactoring related to Adobe App Assurance Program
- Hide pay and add card buttons when payment method is not available
- fix for issue paytrail#81
- Added module MFTF tests
- Fix empty array issue when credit cards payments are disabled on merchant panel
- Update CSP
- Add support for paytrail/paytrail-for-adobe-commerce-graphql module
- Fix for version validation in composer and GitHub
- Fix for cc payment method, to not show separately
- Add CSP whitelist for Paytrail payment providers form submission
- Fixing issue with setting error on response in callback controller
- Fix issue with invoice credit memos
- Fix deprecated dynamic properties for PHP 8.2
- Exchange array_first method
- Improve discount splitter
- Refactored codebase
- Remove Helpers classes and split them to smaller classes
- Remove ApiData class with all the request and split it to GatewayCommandPool interface
- Refactor Model/Ui/ConfigProvider to provide only data to Ui and data getters moved to other classes.
- Create Receipt classes under Model/Receipt which contains services and process classes (process payment, transaction, order).
- Most configuration data is implemented in Gateway/Config/Config class
- Add Pay and add card functionality
- Add Manual Invoice Activation functionality
- Fix: Rounding issue with shipping tax and int conversion
- Fix: Fix PHP 7 compatibility issues
- Improvements for GraphQl module compatibility
- Add translations
- Enable/Disable switcher for recurring-payment
- Fix: Fix PHP compatibility issues
- Fix: Restore quote after click 'back button' on payment site.
- Fix: Fix payment method selection related issue
- Fix: Fix PHP compatibility issue
- Fix: Fixing issue with setting floats as Paytrail Item UnitPrice
- Fix: Fix issues listed in Adobe's Code Sniffer results
- New Feature: Paytrail Recurring payment offers merchants the ability to create and sell a products as a service in Magento. By assigning a recurring payment schedule to any existing Magento product you'll convert it to a recurring payment product which only logged in customers may purchase. Any order that contains one of these products will be recreated and billed automatically with the same product in it while products without recurring schedule are removed..
- New Feature: Post company name to Paytrail Api while making a payment.
- Fix: Callback controller now returns correct http code (200) if callback processing was successful.
- Fix reduces the amount of callbacks posted from Paytrail Api to Magento.
- Fix reduces the amount of order transaction comments saved in admin view.
- Fix undefined constant error during failed payment requests
- Summary: Update contains a lot of smaller code quality fixes as highlighted by upgrade compatibility tools by Magento. 1.3.0 addresses over 20 different minor issues in the module
- New Feature: Improve logging and exception handling in controllers
- New Feature: Update php-sdk dependency to 2.3.*
- Fix: Added Database Exceptions catching during order cancellation when customer interrupts a payment to an order that
has sales rule coupon in it while Magento background processes are not running.
- Issue hapens due to Magento using asynchronous logic to increment coupon usage, while coupons are decremented synchronously. The disparity can cause Magento to throw exceptions in rare cases if coupon was not marked as used before the payment cancellation happens
- Changes do not fix the underlying problem in Magento, changes only catch and log the error. While preventing the uncaught exception from reaching end users
- Fix: Refactored frontend controllers to implement actionInterface instead of extending a deprecated controller
- Fix: Strip a significant number of unused dependencies across the module
- Fix: Refactored controllers use resultFactories instead of a specific result injected via dependency.
- Fix: Strip/refactor discouraged functions
- Fix: Replace direct resourceModel dependencies with repository dependencies during order restoration from admin.
- Fix: Some unnecessary extend calls have been removed as recommended by Magento "composition over inheritance" rule
- Fix: Remove invalid extends from plugin
- Fix: Trim excess use statements
- Fix: Code formatting fixes to tax plugin
- Fix: Refactor recurring setup script with invalid constructor arguments into a patch
- Fix: Improve phpDoc notation
- Fix: Replace incorrect usage of "$this" with "$block" in templates and improve phpDoc notation in templates.
- Fix: Incorrect variable usage in order restoration email template.
- Refactored order loading in payment callback controllers to use factory - load implementation over direct model instantiation
- Added new restore order controller. It is used then the "Restore order" button is clicked in the admin view. This implementation replaces previous non-compliant implementation that which restored the order during page reload of the same page.
- Added support for PHP 8
- Added dependency to Paytrail PHP SDK to version 2.0
Fixes:
- When an already paid order receives a "Fail" callback from API, it is no longer cancelled.
- "Delayed" status from API no longer causes the order to be cancelled.
- Invoices are only created for "Ok" api responses. Mitigating an issue where invoices are missing transaction ids.
New features:
- You can now disable automatic order cancelling, if you are having issues with cancelled orders receiving payments. You can find the setting from Payment method's configuration.
- Refactor logging to a separate class.
- Improve error logging beyond Api errors
- Add support for giftcards and cart discounts.
- Gift card and Cart total discounts are now split between all products in the payment when posted to paytrail.
- Custom total discounts can now be implemented by implementing DiscountGetterInterface and injecting the implementation to DiscountSplitter class.
- Rounding correction of the split discounts is now placed on a separate row. The tax percent of it is configurable from admin. Please check that the tax configuration is valid before deploying the update to production.
- Remove unnecessary constructor arguments in ApiData Helper
- Remove discount implementation from Data Helper
- Added default value for "skip method selection" config. Fixing missing javascript validations in frontend.
- Added conflict information with Markup/Paytrail
- Added upgrade instruction to README
- Error handling for empty API credentials
- All initial module functionalities