Sometimes when you installing new Osclass plugins there is an error - Error import SQL struct.sql.
And the plugin is not installed.
This can easily be fixed:
1) The first reason is that the database already has tables with the same name(in 5% this reason).
For example, you have an old Payments plugin installed.
And when you try to install a new one( Ultimate Payments or any other payment plugin), get error Error import SQL.
You must unistall the old Payments plugin and try again install new one.
2) The second reason is very poorly configured hosting (in 95% this reason).
Ultimate Payments plugin ( for example) use by default MySQL InnoDB Engine.
And some tables with Foreign keys.
And in your database (no matter what deafult Engine you have InnoDB or MyISAM) new tables are created for the plugin with InnoDB Engine.
That is how it should be.
MyISAM also allows you to create tables in InnoDB.
But sometimes it's not like that
Sometimes, poorly configured hosting with default MyISAM engine does not allow creating tables in InnoDB with Foreign keys.
It's only on badly configured hosting, on good it's impossible.
Why are they doing this ??? I do not know ... but it's very strange.
And you will get an Error import SQL.
You need to open a file struct.sql in plugin folder and search tables from this file in your MySQL Database.
For Example in Ultimate Payments this is :
oc_t_upayments_log, oc_t_upayments_wallet, oc_t_upayments_premium, oc_t_upayments_prices, oc_t_upayments_publish, oc_ t_upayments_is_publish_payment_needed, oc_t_upayments_cron_email_filter, oc_t_upayments_policy, oc_t_upayments_skrill, oc_t_upayments_bitcoin, oc_ t_upayments_colorized and other tables from struct.sql.
If there are any of these tables, delete them.
Then open the file struct.sql and replace all ENGINE=InnoDB to ENGINE=MyISAM.
Install the plugin.
Other plugins may have different tables, but the order of the action is the same.