Hi,
I made a test payment on your test website with the debug activated.
What I can see is that the instId provided by WorldPay during the callback is 1135466 while it is supposed to be the "Installation ID" configured in the settings of the payment method. At least that's what was said in the old documentation BrainForge (he made the plugin and provided for free to be included in HikaShop) based himself on when developing the first version of the plugin years ago.
So it's normal the plugin is refusing the callback to confirm the order.
From what I can see the bug is on WorldPay's end which changes how it sends back the notifications and doesn't provide a valid InstId anymore for some reason.
So I went on their new API website and found the new documentation for Business gateway. There, there is a page for the parameters :
developerengine.fisglobal.com/apis/bg350...mandatory-parameters
The "payment result parameters" (near the end of the page), don't mention the InstId at all.
So, a simple solution would be to remove the code:
if(@$vars['instId'] != $this->payment_params->instid) {
return false;
}
from the payment plugin in plugins/hikashoppayment/bf_rbsbusinessgateway/bf_rbsbusinessgateway.php in order to remove that check on the installation ID.
I also see they have a new parameter called "callbackPW". Apparently, it would help in securing the payment notifications.
Supporting this parameter would surely help improve security for the transactions. I'm surprised they didn't mention anything about it to you ?
So, I would recommend you to check with the support there that they know about all this and what they recommend.