Order creation fails silently – "A plugin cancelled the order creation without d

  • Posts: 9
  • Thank you received: 0
  • Hikashop Essential
2 days 2 hours ago #367746

-- HikaShop version -- : 6.0.0 (Essential)
-- Joomla version -- : 5.3.1
-- PHP version -- : PHP 8.3
-- Browser(s) name and version -- : Chrome 137.0.7151.120
-- Error-message(debug-mod must be tuned on) -- : A plugin cancelled the order creation without displaying any error message.

Hi HikaShop team,
I'm encountering a critical issue during the checkout process. When attempting to finalize an order, the following message appears:
"A plugin cancelled the order creation without displaying any error message."
There is no visible error on the frontend, and the order is not saved in the backend. I’ve already tried the following steps:

  • Disabled all shipping methods and plugins (since only local pickup is used).
  • Enabled only the most basic payment method ("Pay on Pickup") and disabled all others.

Set Joomla to "Error Reporting: Maximum" and enabled debug mode.

My questions:

How can I find out which plugin is cancelling the order creation?
Is there any logging or debug mode within HikaShop Essential that helps pinpoint this?

Is there a way to force a plugin to display an error message if it cancels the order?
Or log the reason internally so I can see it in the database or filesystem?

Are there known issues with unserialize() in plugin configuration fields (like payment_params)?
Could this cause such silent failures?

Any help would be greatly appreciated — especially in finding out how to get more insight into which plugin or process is stopping the order.

Thanks a lot!
Patrick

Last edit: 2 days 2 hours ago by pkaeller.

Please Log in or Create an account to join the conversation.

  • Posts: 84044
  • Thank you received: 13620
  • MODERATOR
2 days 27 minutes ago #367747

Hi,

HikaShop triggers the order creation event through Joomla, which calls each plugin.
HikaShop doesn't know which plugin refused the order creation as Joomla doesn't provide that information.
If the plugin itself doesn't provide any information then you can't know easily.
The only solution will be to disable them one by one to see if it changes anything.
Normally, all the plugins we develop display an error message when they cancel the creation of an order.
So, I would recommend to start with plugins made by third party developers.
Note also that it can only be plugins of the groups "hikashop", "hikashoppayment", "hikashopshipping" and "system".
Since you're using the "manual shipping plugin" and the "bank transfer payment plugin", it can't come from any plugin of the groups "hikashoppayment" and "hikashopshipping" as only the plugin of the selected shipping/payment methods are involved.
So that leaves will plugins of the group "hikashop" and "system".

The following user(s) said Thank You: pkaeller

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 0
  • Hikashop Essential
1 day 17 hours ago #367748

Hi everyone,

I wanted to share a solution to a tricky issue we encountered on our Joomla website using HikaShop, which resulted in the following PHP warning:

PHP Warning: unserialize(): Error at offset ... in /administrator/components/com_hikashop/helpers/helper.php on line 2223

The Problem
The issue was caused by malformed or corrupted serialized data, likely due to character encoding problems. For example, the unserialize error was triggered by values like:

O:8:"stdClass":... "information";s:...:"<p>Kontoinhaber: Geselligkeitsverein Fidele Brüder e.V...."
As you can see, the string contains incorrectly encoded characters like Brüder instead of Brüder.

This data was originally stored in HikaShop fields like order_payment_params, email_log_body, or similar fields that include HTML or structured serialized content.

The Cause
After investigating further, it turned out that:

The affected content had already been stored with corrupted UTF-8 encoding in the MySQL database.

Even older SQL backups (from our hosting provider) already contained these encoding errors.

As a result, unserialize() failed, as the string length did not match the actual byte size of the corrupted characters.

The Solution
- Created a PHP script to scan all database tables and fields for problematic character sequences (Brüder, Â, zł, ₱, etc.).
- Identified the corrupted entries, mostly in hikashop_currency, hikashop_email_log, and other custom HikaShop fields.
- Used a script to automatically replace corrupted character sequences with the correct UTF-8 representations.

Cleaned and re-imported the SQL database.After the cleanup, the unserialize warnings disappeared and the data displayed correctly.

Recommendation
If you're facing similar issues:

- Check your database for encoding inconsistencies (especially if you've migrated, restored backups, or used third-party imports).
- Use a script to scan and fix encoding issues before unserialize() tries to process the data.
- Always ensure your tables use utf8mb4_unicode_ci and your files are saved in UTF-8 without BOM.

Best regards,
Patrick

Please Log in or Create an account to join the conversation.

  • Posts: 84044
  • Thank you received: 13620
  • MODERATOR
1 day 14 hours ago #367749

Hi,

I think the problem didn't happen when the data was stored in the database.
It happened either when the data was exported by the SQL backup, without taking properly care of the charset / collation, or when it was imported back without taking properly care of the charset / collation.
Indeed, it's important to be careful with export / import of data, especially when your website is not using purely english characters.
Thanks for the valuable feedback on this issue.

Please Log in or Create an account to join the conversation.

Time to create page: 0.056 seconds
Powered by Kunena Forum