Eway error 500 problem (Undefined property)

I have just setup a new self-hosted installation and attempting to use the eWay gateway.

Version: v5.6.4-C121
Platform: Ubuntu 22.04

The issue I am finding is that after generating an invoice for a client, when they goto pay it prompts them to enter their CC details but then instantly responds back with a ‘500 — Server Error’.

Turning on debug mode I see it is stopping with an ErrorException:

Undefined property ‘ResponseMessage’ in class ‘Eway\Rapid\Model\Response\CreateCustomerResponse’

I do also have an invoicing.co account where I have setup eway and running through a test CC has the same ‘500 - Server Error’ response. So I get the feeling I have an issue with my eway setup and not the way the self-hosted install has been built. eway is also being used via another payment processing software without any reported issues.

Full output from Stack Trace:

ErrorException:
Undefined property 'ResponseMessage' in class 'Eway\Rapid\Model\Response\CreateCustomerResponse'

  at /var/www/invoiceninja/vendor/eway/eway-rapid-php/src/Rapid/Model/Support/HasAttributesTrait.php:199
  at Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:266)
  at Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()
  at trigger_error()
     (/var/www/invoiceninja/vendor/eway/eway-rapid-php/src/Rapid/Model/Support/HasAttributesTrait.php:199)
  at Eway\Rapid\Model\AbstractModel->getAttributeFromArray()
     (/var/www/invoiceninja/vendor/eway/eway-rapid-php/src/Rapid/Model/Support/HasAttributesTrait.php:75)
  at Eway\Rapid\Model\AbstractModel->getAttribute()
     (/var/www/invoiceninja/vendor/eway/eway-rapid-php/src/Rapid/Model/Support/HasAttributesTrait.php:150)
  at Eway\Rapid\Model\AbstractModel->__get()
     (/var/www/invoiceninja/app/PaymentDrivers/Eway/CreditCard.php:73)
  at App\PaymentDrivers\Eway\CreditCard->createEwayToken()
     (/var/www/invoiceninja/app/PaymentDrivers/Eway/CreditCard.php:45)
  at App\PaymentDrivers\Eway\CreditCard->authorizeResponse()
     (/var/www/invoiceninja/app/PaymentDrivers/EwayPaymentDriver.php:80)
  at App\PaymentDrivers\EwayPaymentDriver->authorizeResponse()
     (/var/www/invoiceninja/app/Http/Controllers/ClientPortal/PaymentMethodController.php:80)
  at App\Http\Controllers\ClientPortal\PaymentMethodController->store()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54)
  at Illuminate\Routing\Controller->callAction()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43)
  at Illuminate\Routing\ControllerDispatcher->dispatch()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Route.php:260)
  at Illuminate\Routing\Route->runController()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Route.php:205)
  at Illuminate\Routing\Route->run()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php:798)
  at Illuminate\Routing\Router->Illuminate\Routing\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php:126)
  at Illuminate\Routing\Middleware\ThrottleRequests->handleRequest()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php:62)
  at Illuminate\Routing\Middleware\ThrottleRequests->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/app/Http/Middleware/QueryLogging.php:40)
  at App\Http\Middleware\QueryLogging->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50)
  at Illuminate\Routing\Middleware\SubstituteBindings->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/app/Http/Middleware/Locale.php:44)
  at App\Http\Middleware\Locale->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/app/Http/Middleware/CheckClientExistence.php:32)
  at App\Http\Middleware\CheckClientExistence->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:44)
  at Illuminate\Auth\Middleware\Authenticate->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/app/Http/Middleware/SetDomainNameDb.php:39)
  at App\Http\Middleware\SetDomainNameDb->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:78)
  at Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49)
  at Illuminate\View\Middleware\ShareErrorsFromSession->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37)
  at Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/app/Http/Middleware/SessionDomains.php:30)
  at App\Http\Middleware\SessionDomains->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:121)
  at Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64)
  at Illuminate\Session\Middleware\StartSession->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:67)
  at Illuminate\Cookie\Middleware\EncryptCookies->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116)
  at Illuminate\Pipeline\Pipeline->then()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php:799)
  at Illuminate\Routing\Router->runRouteWithinStack()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php:776)
  at Illuminate\Routing\Router->runRoute()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php:740)
  at Illuminate\Routing\Router->dispatchToRoute()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php:729)
  at Illuminate\Routing\Router->dispatch()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:190)
  at Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/livewire/livewire/src/DisableBrowserCache.php:19)
  at Livewire\DisableBrowserCache->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/app/Http/Middleware/Cors.php:24)
  at App\Http\Middleware\Cors->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:39)
  at Illuminate\Http\Middleware\TrustProxies->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21)
  at Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31)
  at Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21)
  at Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:40)
  at Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27)
  at Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:86)
  at Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116)
  at Illuminate\Pipeline\Pipeline->then()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:165)
  at Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
     (/var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:134)
  at Illuminate\Foundation\Http\Kernel->handle()
     (/var/www/invoiceninja/public/index.php:57)                

Just adding that if I goto the client portal and simply add a new payment method (ie add new credit card) then the error occurs.
It seems that it is the action of adding the payment method and not the processing of a payment that is triggering the error.

Hi,

@david do you have any suggestions?

I’ve just started seeing this error today in our production environment so it is on my list to check

Hi,

I was wondering if you had any thoughts on what might be wrong, or is it something that is going to take some time to fix?

Hi @david, is there likely to be any fix for this in either the self-install or invoicing.co versions of the software?

Should I try installing an earlier version of the software? Is anyone else using eWay for CC processing.

Would appreciate some sort of guidance as I would like to start using the software in production.

@Matt

I had a look into this, and I couldn’t recreate the issue. I did put some additional error handling around this however.

Have you upgraded to the latest version and retried? If you can advise the error response we can continue to look into it.

We have quite a few users on this gateway and none have reported issues. I’ve only seen it once in production also, so i think it may be a localized issue.

I tried this on a fresh install done back last week. At the time it was the latest version, v5.6.4-C121

Then tested against our invoicing.co version which I assume is always the latest, and had the same issue. Maybe it is a problem with our eWay service, but this works fine from a couple of other services we tested against the interface.

I will try again later today against the online instance to see if that is still having issues, and hopefully your increased error handling will capture it.

@david

I have gone into our invoicing.co service, double checked all the eWay API keys & passwords. Then I went to a client portal and tried to add a new credit card as a payment method.

Result was a 500 - Server Error page.

Looking in the Gateway Eway Rapid section of the config there is nothing listed under System Logs.

Our Hosted version appears to be 5.6.5-C121

Are you able to see any mention in the logs what might be causing this?

@Matt

Send us an email contact@invoiceninja.com

We can continue there.