Issues (8)

src/Builder/Posnet/BaseRequestBuilder.php (1 issue)

Severity
1
<?php
2
namespace Paranoia\Builder\Posnet;
3
4
use Paranoia\Builder\AbstractRequestBuilder;
5
use Paranoia\Configuration\AbstractConfiguration;
6
use Paranoia\Configuration\Posnet;
7
use Paranoia\Formatter\MoneyFormatter;
8
use Paranoia\Formatter\MultiDigitInstallmentFormatter;
9
use Paranoia\Formatter\Posnet\CustomCurrencyCodeFormatter;
10
use Paranoia\Formatter\Posnet\ExpireDateFormatter;
11
use Paranoia\Formatter\Posnet\OrderIdFormatter;
12
use Paranoia\Request\Request;
13
use Paranoia\Request\Resource\Card;
14
use Paranoia\Request\Resource\ResourceInterface;
15
16
abstract class BaseRequestBuilder extends AbstractRequestBuilder
17
{
18
    /** @var MoneyFormatter */
19
    protected $amountFormatter;
20
21
    /** @var  CustomCurrencyCodeFormatter */
22
    protected $currencyCodeFormatter;
23
24
    /** @var  MultiDigitInstallmentFormatter */
25
    protected $installmentFormatter;
26
27
    /** @var  ExpireDateFormatter */
28
    protected $expireDateFormatter;
29
30
    /** @var OrderIdFormatter OrderId */
31
    protected $orderIdFormatter;
32
33
    public function __construct(
34
        AbstractConfiguration $configuration,
35
        CustomCurrencyCodeFormatter $currencyCodeFormatter,
36
        MoneyFormatter $amountFormatter,
37
        MultiDigitInstallmentFormatter $installmentFormatter,
38
        ExpireDateFormatter $expireDateFormatter,
39
        OrderIdFormatter $orderIdFormatter
40
    ) {
41
        parent::__construct($configuration);
42
        $this->currencyCodeFormatter = $currencyCodeFormatter;
43
        $this->amountFormatter = $amountFormatter;
44
        $this->installmentFormatter = $installmentFormatter;
45
        $this->expireDateFormatter = $expireDateFormatter;
46
        $this->orderIdFormatter = $orderIdFormatter;
47
    }
48
49
    protected function buildBaseRequest(Request $request)
0 ignored issues
show
The parameter $request is not used and could be removed. ( Ignorable by Annotation )

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

49
    protected function buildBaseRequest(/** @scrutinizer ignore-unused */ Request $request)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
50
    {
51
        /** @var Posnet $configuration */
52
        $configuration = $this->configuration;
53
        return [
54
            'mid' => $configuration->getMerchantId(),
55
            'tid' => $configuration->getTerminalId(),
56
            'username' => $configuration->getUsername(),
57
            'password' => $configuration->getPassword()
58
        ];
59
    }
60
61
    protected function buildCard(ResourceInterface $card)
62
    {
63
        assert($card instanceof Card);
64
65
        /** @var Card $_card */
66
        $_card = $card;
67
68
        return [
69
            'ccno' => $_card->getNumber(),
70
            'cvc' => $_card->getSecurityCode(),
71
            'expDate' => $this->expireDateFormatter->format(
72
                [
73
                    $_card->getExpireMonth(),
74
                    $_card->getExpireYear()
75
                ]
76
            )
77
        ];
78
    }
79
}
80