diff --git a/README.md b/README.md index 304e7601..4160aaaa 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ override the new secure-http default setting)*. { "require": { "php": ">=5.6", - "authorizenet/authorizenet": "2.0.0" + "authorizenet/authorizenet": "2.0.1" } } ``` diff --git a/lib/net/authorize/api/constants/ANetEnvironment.php b/lib/net/authorize/api/constants/ANetEnvironment.php index 61d1aec0..4dcd85c8 100644 --- a/lib/net/authorize/api/constants/ANetEnvironment.php +++ b/lib/net/authorize/api/constants/ANetEnvironment.php @@ -7,5 +7,5 @@ class ANetEnvironment const SANDBOX = "https://apitest.authorize.net"; const PRODUCTION = "https://api2.authorize.net"; - const VERSION = "2.0.0"; + const VERSION = "2.0.1"; } diff --git a/lib/net/authorize/api/controller/base/ApiOperationBase.php b/lib/net/authorize/api/controller/base/ApiOperationBase.php index 6aa75588..bb62d688 100644 --- a/lib/net/authorize/api/controller/base/ApiOperationBase.php +++ b/lib/net/authorize/api/controller/base/ApiOperationBase.php @@ -109,7 +109,7 @@ public function execute($endPoint = \net\authorize\api\constants\ANetEnvironment { $this->beforeExecute(); - $this->apiRequest->setClientId("sdk-php-" . \net\authorize\api\constants\ANetEnvironment::VERSION); + $this->apiRequest->setClientId("sdk-php-" . \net\authorize\api\constants\ANetEnvironment::VERSION); $this->logger->info("Request Creation Begin"); $this->logger->debug($this->apiRequest); @@ -122,7 +122,7 @@ public function execute($endPoint = \net\authorize\api\constants\ANetEnvironment $requestRoot = $mapper->getXmlName((new \ReflectionClass($this->apiRequest))->getName()); $requestArray = [$requestRoot => $this->apiRequest]; - + $this->logger->info("Request Creation End"); $this->httpClient->setPostUrl( $endPoint); @@ -138,7 +138,15 @@ public function execute($endPoint = \net\authorize\api\constants\ANetEnvironment $jsonResponse = $this->httpClient->_sendRequest(json_encode($requestArray)); if($jsonResponse != null){ //decoding json and removing bom - $response = json_decode( substr($jsonResponse,3), true); + $possibleBOM = substr($jsonResponse, 0, 3); + $utfBOM = pack("CCC", 0xef, 0xbb, 0xbf); + + if (0 === strncmp($possibleBOM, $utfBOM, 3)) { + $response = json_decode( substr($jsonResponse,3), true); + } + else { + $response = json_decode($jsonResponse, true); + } $this->apiResponse = new $this->apiResponseType(); $this->apiResponse->set($response); }