CyberSource / cybersource-rest-client-php

PHP client library for the CyberSource REST API
27 stars 65 forks source link

MicroformIntegrationApi - Only variables should be passed by reference #144

Closed uverus2 closed 5 months ago

uverus2 commented 8 months ago

Hello,

I seem to be having an issue with the MicroformIntegrationApi class when invoking the generateCaptureContext method.

Here is a small snipped of the exception.

"message": "Only variables should be passed by reference", "exception": "ErrorException", "file": "/var/www/html/vendor/cybersource/rest-client-php/lib/Api/MicroformIntegrationApi.php", "line": 153, "trace": [

The issue appears to be within this bit of code end(explode('\\', '\CyberSource\Model\GenerateCaptureContextRequest')

The "end" PHP method expects the array passed to it to be passed by [reference] (https://www.php.net/manual/en/function.end.php)

This array is passed by reference because it is modified by the function. This means you must pass it a real variable and not a function returning an array because only actual variables may be passed by reference.

However, you are passing a function returning an array.

My application is running PHP 8.0 currently.

Please do let me know if that is not the issue and maybe a pointer to what I am doing wrong because I could not see anything wrong with my implantation based on example here.

However, if this is the issue could I please get an update on a timeline of when this can be fixed. I have to upgrade to Microform V2 by the end of January and this is significantly threatening my timescale.

Thank you.

uverus2 commented 8 months ago

As a quick workaround I am using version 0.0.44 as the change that is breaking the code was introduced in version 0.0.45

monu-kumar-visa commented 6 months ago

We have investigated this issue but couldn't determine why you are encountering the exception. It seems to be triggering a PHP "Notice" which doesn't break the execution or functionality. Additionally, we have identified a solution for the PHP Notice, which we will incorporate into the next release.

uverus2 commented 6 months ago

@monu-kumar-visa thank you for the reply I will await the next release.

irvingleyva commented 6 months ago

Hi,

Just to let you know i have the same issue but i'am calling SimpleAuthorizationInternet. php: 8.2.0 cybersource-rest-client-php: 0.0.47 error: Notice: Only variables should be passed by reference in cybersource-rest-samples-php\vendor\cybersource\rest-client-php\lib\Api\PaymentsApi.php on line 150