Gateway not found

Updated from 3.6 to 4.0 and I run a custom gateway package however in trying to install it I get

RuntimeException in GatewayFactory.php line 105: Class '\Omnipay\Wipay\Gateway' not found

in GatewayFactory.php line 105
at GatewayFactory->create('\Omnipay\Wipay\Gateway')
at call_user_func_array(array(object(GatewayFactory), 'create'), array('Wipay')) in Omnipay.php line 115
at Omnipay::__callStatic('create', array('Wipay')) in Gateway.php line 202
at Gateway->getFields() in /var/www/app/app/Http/Controllers/AccountGatewayController.php line 138
at AccountGatewayController->getViewModel() in AccountGatewayController.php line 95
at AccountGatewayController->create()
at call_user_func_array(array(object(AccountGatewayController), 'create'), array()) in compiled.php line 9584
at Controller->callAction('create', array()) in compiled.php line 9611
at ControllerDispatcher->dispatch(object(Route), object(AccountGatewayController), 'create') in compiled.php line 8665
at Route->runController() in compiled.php line 8646

It seems that the application tried to use GatewayFactory->create('\Omnipay\Wipay\Gateway') and not GatewayFactory->create('Omnipay\Wipay\Gateway') which works for me… is this something by design or a bug?

If you’re using a custom gateway have you re-added it after upgrading?

Several times. Not sure why I have to but my class path is Omnipay\Wipay\Gateway and not \Omnipay\Wipay\Gateway

The code is failing here, changing the provider value in the gateways table may help.

https://github.com/invoiceninja/invoiceninja/blob/master/app/Models/Gateway.php#L202

Change the provider to what…? I’ve tried

  • Wipay
  • \Wipay
  • Omnipay\Wipay
  • \Omnipay\Wipay
  • Omnipay\Wipay\Gateway
  • \Omnipay\Wipay\Gateway

nada… this was working before the upgrade…is there any special treatment you can think of that I need to perform when adding a new payment gateway that has not been mentioned?

Is it possible you’re using a different version of the Wipay driver?

I can’t think of any related code which has been changed.