Change work with parent classes. Revise supported php versions
- [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)
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
@kikmak42 Would you be so kind to review and merge this PR or point to valid person for it?
@gnongsie Would you be so kind to help me with this PR?
Is this repo dead or alive?
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?
We moved our application to 7.4, and now we can't use Authorize.NET 😢 any news on this?
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.
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 Would you be so kind to supply me with the link to generator and documentation for it?
I have tested this code un production too looks good, any news on this?
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 :)
@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 Thank you :)
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.
Should we create a Patreon for this package?
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.
@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 :)
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 toerror_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 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
I submitted a request to have the pull approved.
Support Case: 07319355
Maybe that will help it along.
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

<?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
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?