In getPayments() of payment.php the else section below has been added to queue the no payments found message.
if(!empty($usable_methods)){
ksort($usable_methods);
}else{
$app =& JFactory::getApplication();
$app->enqueueMessage('No payment methods found');
}
There are a couple of issues with this:
(a) getpayments() is getting called 3 times - not tracked down where each call is coming from with the result that I get 3 messages.
(b) In my payment plug-ins I have the following code
$user = hikashop::loadUser(true);
if (!$user) return false;
which was working OK, but now has the unfortunate effect of raising those error messages if the user is not logged in.
In the shop I am currently looking at I don't think this matters, but would have to check elsewhere as to why I originally put this condition in. Shall I remove the condition for now?