Completed
Push — master ( 9097d5...0ce82e )
by Florian
06:13
created

Debit::_prepareSpecificInformation()   D

Complexity

Conditions 9
Paths 73

Size

Total Lines 36
Code Lines 25

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 9
eloc 25
nc 73
nop 1
dl 0
loc 36
rs 4.909
c 1
b 0
f 0
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 - 2017 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\Block\Info;
28
29
class Debit extends Base
30
{
31
    /**
32
     * Prepare credit card related payment info
33
     *
34
     * @param \Magento\Framework\DataObject|array $transport
35
     * @return \Magento\Framework\DataObject
36
     */
37
    protected function _prepareSpecificInformation($transport = null)
38
    {
39
        if (null !== $this->_paymentSpecificInformation) {
40
            return $this->_paymentSpecificInformation;
41
        }
42
        $transport = parent::_prepareSpecificInformation($transport);
43
        $data = [];
44
45
        $oInfo = $this->getInfo();
46
        $oStatus = $this->getAppointedStatus();
47
        $aRaw = $oStatus->getRawStatusArray();
48
49
        if (!empty($oInfo->getAdditionalInformation('iban'))) {
50
            $data[(string)__('IBAN:')] = $oInfo->getAdditionalInformation('iban');
0 ignored issues
show
Bug introduced by
The function __ was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

50
            $data[(string)/** @scrutinizer ignore-call */ __('IBAN:')] = $oInfo->getAdditionalInformation('iban');
Loading history...
51
        } elseif (isset($aRaw['iban'])) {
52
            $data[(string)__('IBAN:')] = $aRaw['iban'];
53
        }
54
        if (!empty($oInfo->getAdditionalInformation('bic'))) {
55
            $data[(string)__('BIC:')] = $oInfo->getAdditionalInformation('bic');
56
        } elseif (isset($aRaw['bic'])) {
57
            $data[(string)__('BIC:')] = $aRaw['bic'];
58
        }
59
        if (isset($aRaw['bankaccount'])) {
60
            $data[(string)__('Account number:')] = $aRaw['bankaccount'];
61
        }
62
        if (isset($aRaw['bankcode'])) {
63
            $data[(string)__('Bank code:')] = $aRaw['bankcode'];
64
        }
65
66
        $sTransId = $oInfo->getLastTransId();
67
        if ($sTransId == '') {
68
            $data[(string)__('Payment has not been processed yet.')] = '';
69
        } else {
70
            $data[(string)__('Payment reference:')] = $sTransId;
71
        }
72
        return $transport->setData(array_merge($data, $transport->getData()));
73
    }
74
}
75