Completed
Pull Request — master (#12)
by Sullivan
02:11
created

AuthorizeRequest::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 7
rs 9.4285
cc 1
eloc 4
nc 1
nop 4
1
<?php
2
3
namespace Nexy\PayboxDirect\Request;
4
5
/**
6
 * @author Sullivan Senechal <[email protected]>
7
 */
8
final class AuthorizeRequest extends AbstractReferencedTransactionRequest
9
{
10
    /**
11
     * @var string
12
     */
13
    private $cardSerial;
14
15
    /**
16
     * @var string
17
     */
18
    private $cardValidity;
19
20
    /**
21
     * @var string
22
     */
23
    private $cardVerificationValue = null;
24
25
    /**
26
     * @param string $reference
27
     * @param int    $amount
28
     * @param string $cardSerial
29
     * @param string $cardValidity
30
     */
31
    public function __construct($reference, $amount, $cardSerial, $cardValidity)
32
    {
33
        parent::__construct($reference, $amount);
34
35
        $this->cardSerial = $cardSerial;
36
        $this->cardValidity = $cardValidity;
37
    }
38
39
    /**
40
     * @param string|null $cardVerificationValue
41
     */
42
    public function setCardVerificationValue($cardVerificationValue = null)
43
    {
44
        $this->cardVerificationValue = $cardVerificationValue;
45
    }
46
47
    /**
48
     * {@inheritdoc}
49
     */
50
    public function getRequestId()
51
    {
52
        return RequestInterface::AUTHORIZE;
53
    }
54
55
    /**
56
     * {@inheritdoc}
57
     */
58
    public function getParameters()
59
    {
60
        $parameters = [
61
            'PORTEUR' => $this->cardSerial,
62
            'DATEVAL' => $this->cardValidity,
63
        ];
64
65
        if (null !== $this->cardVerificationValue) {
66
            $parameters['CVV'] = $this->cardVerificationValue;
67
        }
68
69
        return array_merge(parent::getParameters(), $parameters);
70
    }
71
}
72