sdk-php icon indicating copy to clipboard operation
sdk-php copied to clipboard

Change work with parent classes. Revise supported php versions

Open vkhramtsov opened this issue 6 years ago • 22 comments

  • [x] Fix checking and calling for parent in classes, which does not have parent
  • [x] Remove checking for parent class in classes, which extend other casses
  • [x] Remove outdated php versions
  • [x] Add actual php versions
  • [x] Fix tests (count on classes)

vkhramtsov avatar Dec 07 '19 15:12 vkhramtsov

Very helpful, cause to work on PHP 7.4 we had to patch the library to avoid crash on parent:: usage in context of not child class Thanks, @vkhramtsov , I hope this PR will be accepted and merged soon

alexndr-novikov avatar Dec 09 '19 15:12 alexndr-novikov

@kikmak42 Would you be so kind to review and merge this PR or point to valid person for it?

vkhramtsov avatar Dec 11 '19 06:12 vkhramtsov

@gnongsie Would you be so kind to help me with this PR?

vkhramtsov avatar Dec 13 '19 07:12 vkhramtsov

Is this repo dead or alive?

vkhramtsov avatar Dec 26 '19 17:12 vkhramtsov

Also trying to upgrade our app to PHP 7.4 and blocked on this issue -- paging other recent contributors @brianmc and @ashtru: any news on this?

SteveDesmond-ca avatar Jan 01 '20 15:01 SteveDesmond-ca

We moved our application to 7.4, and now we can't use Authorize.NET 😢 any news on this?

dranes avatar Jan 30 '20 15:01 dranes

Currently being blocked by this, it's kind of crazy that there's been no activity from the maintainers since this has been opened. Seeing that the last commit on this repo was in June, I feel like that my team has no choice but to fork and apply the changes ourselves.

carloslahrssen avatar Jan 30 '20 15:01 carloslahrssen

I don't know that this PR will be merged, as it modifies generated code, rather than updating the generator, which I'm not positive is possible, given what it needs to know.

As a workaround, we currently briefly set error_reporting (E_ALL & ~E_DEPRECATED) while the questionable code runs, then revert back to error_reporting (E_ALL) once it's done.

SteveDesmond-ca avatar Jan 31 '20 01:01 SteveDesmond-ca

@stevedesmond-ca Would you be so kind to supply me with the link to generator and documentation for it?

vkhramtsov avatar Jan 31 '20 05:01 vkhramtsov

I have tested this code un production too looks good, any news on this?

dranes avatar Mar 24 '20 14:03 dranes

I've having problems because of this. Not sure why it's not merged. Anyone has any idea how to get this pull request merged to my forked version or use package based off of this pull request?

Edit: Found it https://stackoverflow.com/questions/25878984/can-i-pull-a-specific-commit-with-composer Thanks :)

sharik709 avatar Apr 22 '20 10:04 sharik709

@shahariaazam yes in your composer.json you need to add in the require section

 "authorizenet/authorizenet": "dev-bugfix-remove-parent-call-when-class-does-not-have-parent"

and then in the "repositories" section

"repositories": [
        {
            "type": "vcs",
            "url": "[email protected]:vkhramtsov/sdk-php.git",
            "no-api": true
        }]

dranes avatar Apr 22 '20 14:04 dranes

@dranes Thank you :)

sharik709 avatar Apr 23 '20 22:04 sharik709

authorize.net... surely you can afford to hire a single PHP developer to handle this package. it seriously needs some support. I'll do it. Just hand it over, please.

jgile avatar Apr 25 '20 03:04 jgile

Should we create a Patreon for this package?

dranes avatar Apr 25 '20 14:04 dranes

i tried these and still got error on PHP 7.4 had to downgrade php from 7.4 to 7.3 to get Authorize master version to work.

andydev271 avatar May 01 '20 00:05 andydev271

@anuradhan i'm unsure how you did it. But this is how I solved it.

delete composer.lock

delete vendor

add "authorizenet/authorizenet": "dev-master#ef297d3e2d7c1092ddabd2c376eb485aac1aa66c" to composer.json require section.

run composer install

obliviously, you should be careful on production and install it properly but that's how i did it in my development env.

Enjoy :)

sharik709 avatar May 05 '20 17:05 sharik709

I don't know that this PR will be merged, as it modifies generated code, rather than updating the generator, which I'm not positive is possible, given what it needs to know.

As a workaround, we currently briefly set error_reporting (E_ALL & ~E_DEPRECATED) while the questionable code runs, then revert back to error_reporting (E_ALL) once it's done.

@stevedesmond-ca Can you show a snippet for this? I wrapped my code into these but still getting same error.

error_reporting (E_ALL & ~E_DEPRECATED)
// All Authorize.net code
error_reporting (E_ALL)

sentiasa avatar Sep 09 '20 23:09 sentiasa

@sentiasa can you degrade your php version to like php7.2 or 7.1. It should begin working if changing php to older version if not possible then may be you can try my comment. See if that helps. https://github.com/AuthorizeNet/sdk-php/pull/382#issuecomment-624199431

sharik709 avatar Sep 10 '20 11:09 sharik709

I submitted a request to have the pull approved.
Support Case: 07319355
Maybe that will help it along.

JeffUssing avatar Sep 30 '20 21:09 JeffUssing

I submitted request to have the pull approved. Support Case: 07319355 Maybe that will help it along.

In the interest of transparency, here's my transcript with Authorize.Net Case Support...
Even though they don't say it outright, I get the feeling that Authorize.Net doesn't support this SDK.
However, @gnongsie seems to be fairly active on the Authorize.Net repos, maybe he can help us out.


Oct 9, 2020

Hello again Jeff!

Thank you for providing the information. Unfortunately, we at Authorize.Net support are not able to assist with the GitHub set up. In your situation, if you do not need integration assistance, we highly recommend posting on our developer forums for help.

https://community.developer.authorize.net/

Regards, Jakob T. Customer Support

Oct 9, 2020

I've been able to get the integration working, so I don't need help with that. I was able to get it working by hacking the SDK a little bit and changing the error reporting when I instantiate the MerchantAuthenticationType class.

The issue is well documented on the pull request. Please ask the engineer team to see the pull request for details (https://github.com/AuthorizeNet/sdk-php/pull/382).

I've attached a screenshot of the error (ErrorException MerchantAuthenticationType.png) and a code snip. Uncommenting line 9 (error_reporting(~E_DEPRECATED);) will stop it from throwing the error, but doesn't really fix anything.

Jeff

ErrorException MerchantAuthenticationType

<?php
use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;

public function getListOfSubscriptions($searchType)
{
  /* Create a merchantAuthenticationType object with authentication details
	 retrieved from the env file */
  // error_reporting(~E_DEPRECATED);
  $merchantAuthentication = new AnetAPI\MerchantAuthenticationType();
  $merchantAuthentication->setName(env('MERCHANT_LOGIN_ID'));
  $merchantAuthentication->setTransactionKey(env('MERCHANT_TRANSACTION_KEY'));

  // Set the transaction's refId
  $refId = 'ref' . time();

  $sorting = new AnetAPI\ARBGetSubscriptionListSortingType();
  $sorting->setOrderBy("id");
  $sorting->setOrderDescending(false);

  $paging = new AnetAPI\PagingType();
  $paging->setLimit("1000");
  $paging->setOffset("1");

  $request = new AnetAPI\ARBGetSubscriptionListRequest();
  $request->setMerchantAuthentication($merchantAuthentication);
  $request->setRefId($refId);
  $request->setSearchType($searchType);
  $request->setSorting($sorting);
  $request->setPaging($paging);


  $controller = new AnetController\ARBGetSubscriptionListController($request);

  return $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);
}

Oct 6, 2020

Hello Jeff,

I'm happy to assist with your PHP SDK Issue, and apologize if you are having issues integrating the SDK.

Can we get a few things from you to help troubleshoot this further. I have attached an Integration form to the support case if you can fill this out with a detailed description of what issue you are encountering, and attach it back to the support case for us. Any error codes you are receiving, along with what version of PHP you are trying to use to integrate the SDK. If you are able to pull the raw request you are sending that would definitely help us with troubleshooting your current issue with our engineer team, and there is a section in the form to put that raw request.

We look forward to hearing back from you

Regards, Richard B. Authorize.Net Support

Oct 6, 2020

When you say "...we do not maintain the SDK.", are you saying that this support team (support cases) doesn't support the SDK, or that Authorize.Net doesn't support their own SDK?

Jeff

Oct 6, 2020

Hello Jeff,

Thank you for your reply in regards to that information.

I apologize, we do not maintain the SDK. Are you able to provide additional information about that you are seeing in this support case so that we can review?

We look forward to hearing from you.

Regards, Elisha S. Authorize.Net Support

Oct 6, 2020

I just reopened the case. This case needs to be addressed by Authorize.Net team that maintains the SDK's on GitHub.

There hasn't been any activity in the last 18 months and there are 4 open pull requests that need to be addressed. https://github.com/AuthorizeNet/sdk-php/pulls

If Authorize.Net is no longer supporting the PHP SDK, please let me know so that I can move to a more modern service provider.

Thx, Jeff

Oct 6, 2020

Hello again Jeff!

We have received a notice that there was an update to this case, but we see no new information. Can you please clarify what it is you need Authorize.Net to do?

We apologize, but we are not trained in web development or integration, so our ability to answer developer/integration related questions is limited. If you need further assistance, we have created developer forums for web programmers to assist each other. It is possible another developer can assist you there:

https://community.developer.authorize.net/

We look forward to your response.

Regards, Jakob T. Customer Support

Sep 30, 2020

Hello Jeff,

Thanks for contacting Authorize.Net. I'm happy to assist you today!

However, I apologize as I'm not sure I'm understanding your question/inquiry fully. Can you please clarify?

In addition to that, if you ever see any error codes communicated through the system and would like details on them, we offer a great resource for reviewing the error codes in our error code list. This way you can review the codes as you need. http://developer.authorize.net/api/reference/features/errorandresponsecodes.html

We look forward to hearing from you so we may better assist!

If the information provided above satisfies your needs, please close this Support Case. Otherwise, please add an update to this Support Case with your follow-up questions so I can further assist you. For your convenience the Authorize.Net Knowledge Base, located at: https://support.authorize.net, available 24x7.

For more information regarding our privacy practices, visit the privacy page at Authorize.Net.

Regards, Francisco Client Support


JeffUssing avatar Oct 09 '20 19:10 JeffUssing

After asking some questions today (1/21/2021) I asked about PHP 8 support, it is planned. Just an update since I know some people were looking from some answers. Elisha was also very nice and helpful, small shoutout. Transcript with Elisha from Authorized.net today:

18:24:18 UTC Parker Bergen : Will support be made for PHP8 in the Authorized.net PHP SDK. 18:24:53 UTC Elisha : There are plans but there is no ETA yet on this. As of now we support up to PHP 7.3 with our SDK. 18:26:00 UTC Parker Bergen : Ok. We would like to keep using Authorized.net but it is stating to get out of our support range, just wanted to make sure it will continue to be supported, and hopefully soon. 18:27:35 UTC Elisha : I understand, that was the latest update from our escalation team as of 1/19/2021. 18:27:48 UTC Elisha : You can check back with us on a later date if you would like. Was that all I could answer for you today on my end?

Parker-Bergen avatar Jan 21 '21 18:01 Parker-Bergen