Hi,
Thank you for reporting this and for providing the details. I’ve identified the PHP 8+ compatibility issue and fixed it by properly handling the tax values as numeric amounts.
I’m releasing a new version of the plugin with this fix included. Please update to the latest version and let me know if you encounter any further issues.
Thanks again for reporting it!
Following up on the previous fatal error I reported (which you fixed — thank you).
I’m now getting a new fatal error, but only on combined orders (orders created via your plugin’s combination feature). Regular orders are unaffected.
Uncaught TypeError: Cannot access offset of type string on string in
/wp-content/plugins/e-transactions-wc/templates/admin/order/payment-info.php:44
The failing code is:
php
foreach ( $transactions as $transaction ):
if(empty($transaction_number)){
$transaction_number = $transaction['captured'] ? $transaction['numtrans'] : $transaction['auth_numtrans'];
}
$transactions comes from an order meta field maintained by the e-transactions-wc payment plugin — normally an array of associative arrays, each describing one payment transaction (captured, numtrans, auth_numtrans, amount, card_type, etc.). On combined orders, at least one entry in this array ends up being a plain string instead of an associative array, which causes the fatal TypeError on PHP 8+.
This strongly suggests that when combining orders, the plugin doesn’t preserve the internal structure of this payment gateway meta — it’s likely copied/merged as if it were a simple value, instead of being handled as a structured array coming from another plugin.
Could you check how order meta belonging to other plugins (not just WooCommerce core order data) is copied when combining orders — specifically whether serialized/array meta values are preserved correctly, rather than being flattened or concatenated as strings?
Environment:
- WordPress + WooCommerce (Cloudways hosting)
- PHP version: 8.3
- Plugin version: 2.0.7
- Payment gateway: e-transactions-wc
Thanks!
I just released an improved version. Please try it and see if the issue is fixed. If it still doesn’t work, please use the Contact Developer option under the Help tab on the settings page so I can troubleshoot the issue with you more effectively.