= 1.0.0 =
* Plugin Release
* Inventory synchronization between WooCommerce e-shops in Master/Spoke topology
* Capture of inventory changes via WooCommerce setters, matching via SKU
* Secure communication between e-shops, queue with repetition and reconciliation
* Plugin Release
* Inventory synchronization between WooCommerce e-shops in Master/Spoke topology
* Capture of inventory changes via WooCommerce setters, matching via SKU
* Secure communication between e-shops, queue with repetition and reconciliation
= 3.13.5 =
* Fixed: an order with shipping to a pick-up point could be created without a selected branch when a concurrent checkout refresh overwrote the session — the selection is now refreshed directly from the submitted form and any mismatch in the branch type is logged.
* Fixed: the label print dialog now defaults to the default format from the settings (previously always 100×150 mm); a separate shipment label and the complete batch sheet are downloaded directly without a dialog.
* Fixed: downloading labels on hosting with a read-only plugin directory (Bedrock/Composer) — the PDF is sent directly from memory, without writing to disk.
* Fixed: saving the flat rate shipping price in other currencies — after saving, the option was deactivated and the values disappeared (regression from 3.13.1).
* Fixed: the placeholder {order_number} in the label note template was replaced with the customer's note instead of the order number.
* Improved: sent shipment data is now written to the PPL log even when the batch is successfully created (previously only on error).
* Improved: long diagnostic records were no longer silently discarded in the log due to the length limit (context is now shortened).
* Fixed: an order with shipping to a pick-up point could be created without a selected branch when a concurrent checkout refresh overwrote the session — the selection is now refreshed directly from the submitted form and any mismatch in the branch type is logged.
* Fixed: the label print dialog now defaults to the default format from the settings (previously always 100×150 mm); a separate shipment label and the complete batch sheet are downloaded directly without a dialog.
* Fixed: downloading labels on hosting with a read-only plugin directory (Bedrock/Composer) — the PDF is sent directly from memory, without writing to disk.
* Fixed: saving the flat rate shipping price in other currencies — after saving, the option was deactivated and the values disappeared (regression from 3.13.1).
* Fixed: the placeholder {order_number} in the label note template was replaced with the customer's note instead of the order number.
* Improved: sent shipment data is now written to the PPL log even when the batch is successfully created (previously only on error).
* Improved: long diagnostic records were no longer silently discarded in the log due to the length limit (context is now shortened).
= 2.17.0 =
* You can now set a deadline in hours for "Failed payment notification" and select controlled payment methods; the deadline is now measured from the order's transition to the Failed payment status
* Fixed product inquiry for variable products – the link to the popup now works even before selecting a variant
* Fixed the "Product inquiry notification" field in the settings – the specified recipient is now actually used
* Improved Cloudflare Turnstile verification for product inquiries – the token is renewed when the popup is opened and after a sending error, the attempt can be repeated
* Fixed a fatal error in the available shipping shortcode when editing a page in the administration (block editor)
* Fixed the "Show shipping price" popup – the necessary scripts and styles were not loaded on the frontend, so the popup did not open at all; the cross now closes the popup; rates are loaded even on websites with a cache plugin (WP Rocket) for unlogged visitors
* The "Don't show free shipping" option is now actually respected – previously free shipping was never displayed
* Fixed saving global email attachments via selection from the media library – the ID was saved instead of the path and the attachment was not attached to the email
* Fixed opening popups (price history, product inquiry) on websites with deferred jQuery loading
* Fixed subjects of mass emails (unpaid orders, back in stock, complaints…) – each email now has its order details in the subject, previously they all carried the details of the first order from the batch
* You can now set a deadline in hours for "Failed payment notification" and select controlled payment methods; the deadline is now measured from the order's transition to the Failed payment status
* Fixed product inquiry for variable products – the link to the popup now works even before selecting a variant
* Fixed the "Product inquiry notification" field in the settings – the specified recipient is now actually used
* Improved Cloudflare Turnstile verification for product inquiries – the token is renewed when the popup is opened and after a sending error, the attempt can be repeated
* Fixed a fatal error in the available shipping shortcode when editing a page in the administration (block editor)
* Fixed the "Show shipping price" popup – the necessary scripts and styles were not loaded on the frontend, so the popup did not open at all; the cross now closes the popup; rates are loaded even on websites with a cache plugin (WP Rocket) for unlogged visitors
* The "Don't show free shipping" option is now actually respected – previously free shipping was never displayed
* Fixed saving global email attachments via selection from the media library – the ID was saved instead of the path and the attachment was not attached to the email
* Fixed opening popups (price history, product inquiry) on websites with deferred jQuery loading
* Fixed subjects of mass emails (unpaid orders, back in stock, complaints…) – each email now has its order details in the subject, previously they all carried the details of the first order from the batch
= 2.3.8 =
* Stock is now returned even after an unsuccessful payment (Failed status) – e.g. when a customer cancels a payment on the gateway. Previously, stock was only returned when an order was canceled.
* 2.3.7
* Fixed stock restoration after canceling an unpaid order – stock reduced when redirected to the gateway is returned when the order is canceled (until now, the stock reduction flag was missing and WooCommerce did not return stock)
* 2.3.6
* Fixed passing of a long name to the payment gateway – the name in the ADDINFO field is now shortened to 45 characters (gateway limit according to EMV 3DS, verified by tests). Orders with a longer name were rejected by the gateway with the error PRCODE=3 / SRCODE=83.
* 2.3.5
* Fixed missing name of associated payment method in WooCommerce payment method overview (typo in internal name of method_title property)
* 2.3.4
* Excluded order statuses ("Do not check payment status if order has the following status(es)") are now respected with each automatic status change based on payment status – not only in cron, but also when checking status from order detail. An order in Completed status is no longer switched according to status mapping after opening the detail (e.g. to Processing).
* 2.3.3
* Fixed loading of shipping methods in associated payment method settings (field "Enable shipping method" remained empty)
* 2.3.2
* Fixed payment numbering – payment number is now recorded when redirected to the gateway, not when the customer returns. An abandoned (unfinished) payment will no longer cause a duplicate payment number for the next order (PRCODE=14 and redirect the customer to the Pay page instead of the gateway).
* 2.3.1
* Fixed passing of name and email to the ADDINFO parameter – values are now XML-escaped and limited to the maximum length according to the GP webpay specification. Orders with a name containing a special character (e.g. apostrophe) or a very long name will no longer be rejected by the gateway (error PRCODE=3 / SRCODE=83).
* 2.3.0
* New option to upload the GP webpay public key and verify the signature (DIGEST/DIGEST1) of incoming payment gateway responses. After uploading the key, callbacks with an invalid signature are rejected before the payment is evaluated. Without an uploaded key, the behavior remains unchanged.
* 2.2.2
* Added detailed logging of payment status check (getPaymentStatus) — outgoing SOAP request, successful response and error when loading private key are logged, previously these cases did not leave any trace in the log
* 2.2.1
* Fixed payment status synchronization via getPaymentStatus web service (request signature returned to SHA-1)
* Fixed payment method availability check on the Pay for order page
* Stock is now returned even after an unsuccessful payment (Failed status) – e.g. when a customer cancels a payment on the gateway. Previously, stock was only returned when an order was canceled.
* 2.3.7
* Fixed stock restoration after canceling an unpaid order – stock reduced when redirected to the gateway is returned when the order is canceled (until now, the stock reduction flag was missing and WooCommerce did not return stock)
* 2.3.6
* Fixed passing of a long name to the payment gateway – the name in the ADDINFO field is now shortened to 45 characters (gateway limit according to EMV 3DS, verified by tests). Orders with a longer name were rejected by the gateway with the error PRCODE=3 / SRCODE=83.
* 2.3.5
* Fixed missing name of associated payment method in WooCommerce payment method overview (typo in internal name of method_title property)
* 2.3.4
* Excluded order statuses ("Do not check payment status if order has the following status(es)") are now respected with each automatic status change based on payment status – not only in cron, but also when checking status from order detail. An order in Completed status is no longer switched according to status mapping after opening the detail (e.g. to Processing).
* 2.3.3
* Fixed loading of shipping methods in associated payment method settings (field "Enable shipping method" remained empty)
* 2.3.2
* Fixed payment numbering – payment number is now recorded when redirected to the gateway, not when the customer returns. An abandoned (unfinished) payment will no longer cause a duplicate payment number for the next order (PRCODE=14 and redirect the customer to the Pay page instead of the gateway).
* 2.3.1
* Fixed passing of name and email to the ADDINFO parameter – values are now XML-escaped and limited to the maximum length according to the GP webpay specification. Orders with a name containing a special character (e.g. apostrophe) or a very long name will no longer be rejected by the gateway (error PRCODE=3 / SRCODE=83).
* 2.3.0
* New option to upload the GP webpay public key and verify the signature (DIGEST/DIGEST1) of incoming payment gateway responses. After uploading the key, callbacks with an invalid signature are rejected before the payment is evaluated. Without an uploaded key, the behavior remains unchanged.
* 2.2.2
* Added detailed logging of payment status check (getPaymentStatus) — outgoing SOAP request, successful response and error when loading private key are logged, previously these cases did not leave any trace in the log
* 2.2.1
* Fixed payment status synchronization via getPaymentStatus web service (request signature returned to SHA-1)
* Fixed payment method availability check on the Pay for order page
= 2.7.1 =
* Added Hungarian (hu_HU) for checkout location selection
* Added missing translation cache file for German (WordPress 6.5+)
* Added Hungarian (hu_HU) for checkout location selection
* Added missing translation cache file for German (WordPress 6.5+)
= 3.3.1 =
* Fixed premature display of QR code on order payment page
* New filter tqr_show_qr_on_order_pay to disable QR code on order payment page
* Fixed premature display of QR code on order payment page
* New filter tqr_show_qr_on_order_pay to disable QR code on order payment page
= 1.4.1 =
* Fixed license key activation using the Activate button — the license could not be activated for new installations
* Fixed license key activation using the Activate button — the license could not be activated for new installations
= 2.1.4 =
* Fixed sending the shipment class — the choice of 1st class for registered and insured letters and the letter is now actually transferred to the API (previously, 2nd class was always sent regardless of the selection).
* Fixed the insurance amount — now the amount entered in the form is sent (previously, the total price of the order was sent regardless of the entry); the amount is also rounded according to API requirements.
* Fixed bulk and automatic sending — now respects the additional services set (previously, services were ignored for bulk and automatic sending).
* Fixed the rounding of cash on delivery and insurance when converting from another currency to EUR (previously, an amount with extra decimal places could go to the API).
* Fixed rate conversion — if the rate is unavailable (download failure or custom rate not filled in), the package will not be sent and a clear message will be displayed in the log, instead of the previous silent sending of the wrong amount or fatal error with an empty custom rate. In addition, saved rates will no longer be overwritten when the download fails.
* Added the option to set a separate return address for the shipment — in the settings, you can fill in your own address or leave it identical to the sender's address.
* Improved background shipment status checking (CRON) — it correctly processes the cut-off day of the period, does not skip shipments without a downloaded status yet, and writes an overview of each run to the log.
* Fixed sending the shipment class — the choice of 1st class for registered and insured letters and the letter is now actually transferred to the API (previously, 2nd class was always sent regardless of the selection).
* Fixed the insurance amount — now the amount entered in the form is sent (previously, the total price of the order was sent regardless of the entry); the amount is also rounded according to API requirements.
* Fixed bulk and automatic sending — now respects the additional services set (previously, services were ignored for bulk and automatic sending).
* Fixed the rounding of cash on delivery and insurance when converting from another currency to EUR (previously, an amount with extra decimal places could go to the API).
* Fixed rate conversion — if the rate is unavailable (download failure or custom rate not filled in), the package will not be sent and a clear message will be displayed in the log, instead of the previous silent sending of the wrong amount or fatal error with an empty custom rate. In addition, saved rates will no longer be overwritten when the download fails.
* Added the option to set a separate return address for the shipment — in the settings, you can fill in your own address or leave it identical to the sender's address.
* Improved background shipment status checking (CRON) — it correctly processes the cut-off day of the period, does not skip shipments without a downloaded status yet, and writes an overview of each run to the log.
= 1.3.7 =
* Fixed sending shipments and updating statuses after changing FOFR API
* Improved error logging when communicating with FOFR API
* Fixed sending shipments and updating statuses after changing FOFR API
* Improved error logging when communicating with FOFR API
= 1.20.6 =
* New option to display wholesale prices excluding VAT (switch in plugin settings)
* Fixed display of fixed wholesale price excluding VAT for the tvelko_product_price shortcode
* Added the title Wholesale to the plugin fields in the product variant settings
* Added SK and DE translations
* New option to display wholesale prices excluding VAT (switch in plugin settings)
* Fixed display of fixed wholesale price excluding VAT for the tvelko_product_price shortcode
* Added the title Wholesale to the plugin fields in the product variant settings
* Added SK and DE translations