marinsagovac / woocommerce-tcom-payway

[WORDPRESS] Woocommerce plugin for payment service using PayWay HT payment gateway service
MIT License
27 stars 16 forks source link

Plugin Crash on PHP v8.3 #34

Open 9jaDevo opened 1 day ago

9jaDevo commented 1 day ago

Describe the bug When activating the woocommerce-tcom-payway plugin on a WordPress site running PHP version 8.3, the following fatal error occurs: Fatal error: Access level to WC_TPAYWAY::$title must be public (as in class WC_Payment_Gateway) in /home/dovecare/public_html/ecomms/wp-content/plugins/woocommerce-tcom-payway-master/classes/class-wc-tpayway.php on line 8 This error prevents the website from functioning properly, displaying a critical error message to both administrators and visitors.

To Reproduce FireShot Capture 463 - WordPress › Error - dovecarehome uk

  1. Update your server's PHP version to 8.3.
  2. Ensure you have the latest versions of WordPress and WooCommerce installed.
  3. Install and activate the woocommerce-tcom-payway plugin.
  4. Visit the frontend or backend of your site.
  5. Observe the fatal error message displayed.

Version WordPress: Latest version (as of November 2024) WooCommerce: Latest version (as of November 2024) PHP: 8.3 Plugin: woocommerce-tcom-payway (latest master from GitHub)

Expected behavior The woocommerce-tcom-payway plugin should activate without errors and function correctly, allowing customers to use the T-Com PayWay payment gateway seamlessly on a site running PHP 8.3.

Additional context The error message indicates an access level issue with the $title property in the WC_TPAYWAY class. It must be declared as public to match the visibility in the parent WC_Payment_Gateway class.

This issue appears to be related to stricter access level enforcement in PHP 8.3.

The problem does not occur on earlier PHP versions (e.g., PHP 7.4 or 8.0), suggesting compatibility issues specifically with PHP 8.3.

Adjusting the visibility of the $title property from protected to public in class-wc-tpayway.php resolves the fatal error, but further testing is needed to ensure full compatibility with PHP 8.3.

Error details: Fatal error: Access level to WC_TPAYWAY::$title must be public (as in class WC_Payment_Gateway) in /wp-content/plugins/woocommerce-tcom-payway-master/classes/class-wc-tpayway.php on line 8

The site shows a critical error message: There has been a critical error on this website. Please check your site admin email inbox for instructions. If you continue to have problems, please try the support forums.

Steps have been taken to update all plugins and themes to their latest versions, but the issue persists.

Request Please investigate this compatibility issue with PHP 8.3 and update the plugin to ensure it functions correctly with the latest PHP version.

marinsagovac commented 1 day ago

Published under 1.8.4

I will retest it again.

denniszg72 commented 1 day ago

v.1.8.4 Does not redirect to the PayWay payment platform but returns to the website. Test with: PHP 7.4, 8.0, 8.1, 8.2, 8.3.

9jaDevo commented 16 hours ago

v.1.8.4 Does not redirect to the PayWay payment platform but returns to the website. Test with: PHP 7.4, 8.0, 8.1, 8.2, 8.3.

@denniszg72 @marinsagovac Can you provide me with a Test Key Details that I can add in my WooCommerce payment settings so I can thoroughly check these issue