diff --git a/composer.json b/composer.json index 2933d767..04b38d1f 100644 --- a/composer.json +++ b/composer.json @@ -16,11 +16,12 @@ "psr-0": { "Omnipay\\Ecopayz\\" : "src/" } }, "require": { - "omnipay/common": "~2.3" + "omnipay/common": "^3.0" }, "require-dev": { - "omnipay/tests": "~2.0", - "satooshi/php-coveralls": "1.0.0" + "omnipay/tests": "^3.0.0", + "php-coveralls/php-coveralls": "^2.4.0", + "squizlabs/php_codesniffer": "3.*" }, "extra": { "branch-alias": { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index ad0befd1..da14877a 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -14,9 +14,6 @@ ./tests/ - - - ./src diff --git a/src/Omnipay/Ecopayz/Message/CompletePurchaseRequest.php b/src/Omnipay/Ecopayz/Message/CompletePurchaseRequest.php index 911dbea9..4e599be3 100644 --- a/src/Omnipay/Ecopayz/Message/CompletePurchaseRequest.php +++ b/src/Omnipay/Ecopayz/Message/CompletePurchaseRequest.php @@ -27,20 +27,15 @@ public function getData() ); if ($xml = $this->httpRequest->request->get('XML')) { - if (!$this->validateChecksum($xml)) { throw new InvalidRequestException('Invalid XML checksum'); } return new \SimpleXMLElement($xml); - } elseif ($xml = $this->httpRequest->getContent()) { return new \SimpleXMLElement($xml); - } else { - throw new InvalidRequestException('Missing XML'); - } } @@ -53,7 +48,6 @@ public function getData() public function sendData($data) { if (isset($data->StatusReport)) { - if (in_array($data->StatusReport->Status, array(1, 2, 3))) { $response = $this->createResponse('OK', 0, 'OK'); } elseif (in_array($data->StatusReport->Status, array(4, 5))) { @@ -65,7 +59,6 @@ public function sendData($data) header('Content-Type: text/xml; charset=utf-8'); echo $response; die(); - } else { return new CompletePurchaseResponse($this, $data); } diff --git a/src/Omnipay/Ecopayz/Message/FetchTransactionRequest.php b/src/Omnipay/Ecopayz/Message/FetchTransactionRequest.php index 3c5e3616..53a06df2 100644 --- a/src/Omnipay/Ecopayz/Message/FetchTransactionRequest.php +++ b/src/Omnipay/Ecopayz/Message/FetchTransactionRequest.php @@ -1,4 +1,5 @@ getTransactionReference()) { - $query = $body->appendChild( $document->createElement('q0:QueryBySVSTransactionID') ); @@ -63,9 +63,7 @@ public function getData() $request->appendChild( $document->createElement('q0:SVSTxID', $transactionReference) ); - } elseif ($transactionId = $this->getTransactionId()) { - $query = $body->appendChild( $document->createElement('q0:QueryByCustomerTransactionID') ); @@ -85,11 +83,8 @@ public function getData() $request->appendChild( $document->createElement('q0:TxID', $transactionId) ); - } else { - throw new InvalidRequestException('The transactionId or transactionReference parameter is required'); - } return $document->saveXML(); @@ -98,23 +93,21 @@ public function getData() /** * Send the request with specified data * - * @param mixed $data The data to send - * @throws InvalidResponseException - * @throws InvalidRequestException + * @param mixed $data The data to send * @return FetchTransactionResponse + * @throws InvalidRequestException + * @throws InvalidResponseException */ public function sendData($data) { if (strpos($data, 'QueryBySVSTransactionID') !== false) { - $headers = array( 'Content-Type' => 'text/xml; charset=utf-8', 'SOAPAction' => 'http://www.ecocard.com/merchantAPI/QueryBySVSTransactionID' ); - $httpRequest = $this->httpClient->createRequest('POST', $this->getEndpoint(), $headers, $data); - $httpResponse = $httpRequest->send(); - $xmlResponse = $httpResponse->xml() + $httpResponse = $this->httpClient->request('POST', $this->getEndpoint(), $headers, $data); + $xmlResponse = simplexml_load_string($httpResponse->getBody()->getContents()) ->children('http://schemas.xmlsoap.org/soap/envelope/') ->children('http://www.ecocard.com/merchantAPI/'); @@ -132,17 +125,14 @@ public function sendData($data) ->QueryBySVSTransactionIDResponse ->TransactionResponse ); - } elseif (strpos($data, 'QueryByCustomerTransactionID') !== false) { - $headers = array( 'Content-Type' => 'text/xml; charset=utf-8', 'SOAPAction' => 'http://www.ecocard.com/merchantAPI/QueryByCustomerTransactionID' ); - $httpRequest = $this->httpClient->createRequest('POST', $this->getEndpoint(), $headers, $data); - $httpResponse = $httpRequest->send(); - $xmlResponse = $httpResponse->xml() + $httpResponse = $this->httpClient->request('POST', $this->getEndpoint(), $headers, $data); + $xmlResponse = simplexml_load_string($httpResponse->getBody()->getContents()) ->children('http://schemas.xmlsoap.org/soap/envelope/') ->children('http://www.ecocard.com/merchantAPI/'); @@ -160,11 +150,8 @@ public function sendData($data) ->QueryByCustomerTransactionIDResponse ->TransactionResponse ); - } else { - throw new InvalidRequestException('The transactionId or transactionReference parameter is required'); - } } } diff --git a/src/Omnipay/Ecopayz/Message/PayoutRequest.php b/src/Omnipay/Ecopayz/Message/PayoutRequest.php index db74a59a..41a27783 100644 --- a/src/Omnipay/Ecopayz/Message/PayoutRequest.php +++ b/src/Omnipay/Ecopayz/Message/PayoutRequest.php @@ -159,9 +159,8 @@ public function sendData($data) 'SOAPAction' => 'http://www.ecocard.com/merchantAPI/Payout' ); - $httpRequest = $this->httpClient->createRequest('POST', $this->getEndpoint(), $headers, $data); - $httpResponse = $httpRequest->send(); - $xmlResponse = $httpResponse->xml() + $httpResponse = $this->httpClient->request('POST', $this->getEndpoint(), $headers, $data); + $xmlResponse = simplexml_load_string($httpResponse->getBody()->getContents()) ->children('http://schemas.xmlsoap.org/soap/envelope/') ->children('http://www.ecocard.com/merchantAPI/');