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

AuthorizeRequest::getParameters()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 15
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

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