1 | <?php |
||
2 | |||
3 | /** |
||
4 | * PAYONE Magento 2 Connector is free software: you can redistribute it and/or modify |
||
5 | * it under the terms of the GNU Lesser General Public License as published by |
||
6 | * the Free Software Foundation, either version 3 of the License, or |
||
7 | * (at your option) any later version. |
||
8 | * |
||
9 | * PAYONE Magento 2 Connector is distributed in the hope that it will be useful, |
||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
12 | * GNU Lesser General Public License for more details. |
||
13 | * |
||
14 | * You should have received a copy of the GNU Lesser General Public License |
||
15 | * along with PAYONE Magento 2 Connector. If not, see <http://www.gnu.org/licenses/>. |
||
16 | * |
||
17 | * PHP version 5 |
||
18 | * |
||
19 | * @category Payone |
||
20 | * @package Payone_Magento2_Plugin |
||
21 | * @author FATCHIP GmbH <[email protected]> |
||
22 | * @copyright 2003 - 2016 Payone GmbH |
||
23 | * @license <http://www.gnu.org/licenses/> GNU Lesser General Public License |
||
24 | * @link http://www.payone.de |
||
25 | */ |
||
26 | |||
27 | namespace Payone\Core\Model\Api\Request; |
||
28 | |||
29 | use Magento\Sales\Model\Order; |
||
0 ignored issues
–
show
|
|||
30 | use Payone\Core\Model\Methods\PayoneMethod; |
||
31 | |||
32 | /** |
||
33 | * Class for the PAYONE Server API request "getfile" |
||
34 | */ |
||
35 | class Getfile extends Base |
||
36 | { |
||
37 | /** |
||
38 | * Send request "getfile" to PAYONE server API |
||
39 | * |
||
40 | * @param Order $oOrder |
||
41 | * @param PayoneMethod $oPayment |
||
42 | * @return string |
||
43 | */ |
||
44 | public function sendRequest(Order $oOrder, PayoneMethod $oPayment) |
||
45 | { |
||
46 | $sReturn = false; |
||
47 | $sStatus = 'ERROR'; |
||
48 | $aResponse = []; |
||
49 | |||
50 | $this->addParameter('request', 'getfile'); // Request method |
||
51 | $this->addParameter('file_reference', $oOrder->getPayoneMandateId()); |
||
52 | $this->addParameter('file_type', 'SEPA_MANDATE'); |
||
53 | $this->addParameter('file_format', 'PDF'); |
||
54 | |||
55 | $this->addParameter('mode', $oOrder->getPayoneMode()); |
||
56 | if ($oOrder->getPayoneMode() == 'test') { |
||
57 | $this->removeParameter('integrator_name'); |
||
58 | $this->removeParameter('integrator_version'); |
||
59 | $this->removeParameter('solution_name'); |
||
60 | $this->removeParameter('solution_version'); |
||
61 | } |
||
62 | |||
63 | if ($oPayment->hasCustomConfig()) {// if payment type doesnt use the global settings |
||
64 | $this->addCustomParameters($oPayment); // add custom connection settings |
||
65 | } |
||
66 | |||
67 | $aOptions = [ |
||
68 | 'http' => [ |
||
69 | 'header' => "Content-type: application/x-www-form-urlencoded\r\n", |
||
70 | 'method' => 'POST', |
||
71 | 'content' => http_build_query($this->aParameters), |
||
72 | ], |
||
73 | ]; |
||
74 | $oContext = stream_context_create($aOptions); |
||
75 | $sMandate = file_get_contents($this->sApiUrl, false, $oContext); |
||
76 | if ($sMandate !== false) { |
||
77 | $sReturn = $sMandate; |
||
78 | $sStatus = 'SUCCESS'; |
||
79 | $aResponse['file'] = $oOrder->getPayoneMandateId().'.pdf'; |
||
80 | } |
||
81 | |||
82 | $this->apiLog->addApiLogEntry($this->getParameters(), $aResponse, $sStatus, $this->getOrderId()); // log request to db |
||
83 | return $sReturn; |
||
0 ignored issues
–
show
The expression
return $sReturn could also return false which is incompatible with the documented return type string . Did you maybe forget to handle an error condition?
If the returned type also contains false, it is an indicator that maybe an error condition leading to the specific return statement remains unhandled. ![]() |
|||
84 | } |
||
85 | } |
||
86 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths