Passed
Push — master ( 5addfc...e8c424 )
by Manuel
59s queued 11s
created

AliasInsertRequest::getStyling()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 1
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace Ticketpark\SaferpayJson\Request\SecureCardData;
4
5
use JMS\Serializer\Annotation\SerializedName;
6
use JMS\Serializer\Annotation\Type;
7
use Ticketpark\SaferpayJson\Request\Container\CardForm;
8
use Ticketpark\SaferpayJson\Request\Container\Check;
9
use Ticketpark\SaferpayJson\Request\Container\PaymentMeans;
10
use Ticketpark\SaferpayJson\Request\Container\RegisterAlias;
11
use Ticketpark\SaferpayJson\Request\Container\ReturnUrls;
12
use Ticketpark\SaferpayJson\Request\Container\Styling;
13
use Ticketpark\SaferpayJson\Request\Request;
14
use Ticketpark\SaferpayJson\Request\RequestCommonsTrait;
15
use Ticketpark\SaferpayJson\Request\RequestConfig;
16
use Ticketpark\SaferpayJson\Response\SecureCardData\AliasInsertResponse;
17
18
final class AliasInsertRequest extends Request
19
{
20
    const API_PATH = '/Payment/v1/Alias/Insert';
21
    const RESPONSE_CLASS = AliasInsertResponse::class;
22
23
    const PAYMENT_METHOD_AMEX = "AMEX";
24
    const PAYMENT_METHOD_BANCONTACT = "BANCONTACT";
25
    const PAYMENT_METHOD_BONUS = "BONUS";
26
    const PAYMENT_METHOD_DINERS = "DINERS";
27
    const PAYMENT_METHOD_DIRECTDEBIT = "DIRECTDEBIT";
28
    const PAYMENT_METHOD_JCB = "JCB";
29
    const PAYMENT_METHOD_MAESTRO = "MAESTRO";
30
    const PAYMENT_METHOD_MASTERCARD = "MASTERCARD";
31
    const PAYMENT_METHOD_MYONE = "MYONE";
32
    const PAYMENT_METHOD_SAFERPAYTEST = "SAFERPAYTEST";
33
    const PAYMENT_METHOD_UNIONPAY = "UNIONPAY";
34
    const PAYMENT_METHOD_VISA = "VISA";
35
    const PAYMENT_METHOD_VPAY = "VPAY";
36
37
    const TYPE_CARD = 'CARD';
38
    const TYPE_BANK_ACCOUNT = 'BANK_ACCOUNT';
39
    const TYPE_POSTFINANCE = 'POSTFINANCE';
40
    const TYPE_TWINT = 'TWINT';
41
42
    use RequestCommonsTrait;
43
44
    /**
45
     * @var RegisterAlias
46
     * @SerializedName("RegisterAlias")
47
     */
48
    private $registerAlias;
49
50
    /**
51
     * @var string
52
     * @SerializedName("Type")
53
     * @Type("string")
54
     */
55
    private $type;
56
57
    /**
58
     * @var ReturnUrls
59
     * @SerializedName("ReturnUrls")
60
     */
61
    private $returnUrls;
62
63
    /**
64
     * @var Styling|null
65
     * @SerializedName("Styling")
66
     */
67
    private $styling;
68
69
    /**
70
     * @var string|null
71
     * @SerializedName("LanguageCode")
72
     * @Type("string")
73
     */
74
    private $languageCode;
75
76
    /**
77
     * @var Check|null
78
     * @SerializedName("Check")
79
     */
80
    private $check;
81
82
    /**
83
     * @var array<string>|null
84
     * @SerializedName("PaymentMethods")
85
     */
86
    private $paymentMethods;
87
88
    /**
89
     * @var CardForm|null
90
     * @SerializedName("CardForm")
91
     */
92
    private $cardForm;
93
94
    /**
95
     * @var PaymentMeans|null
96
     * @SerializedName("PaymentMeans")
97
     */
98
    private $paymentMeans;
99
100
    public function __construct(
101
        RequestConfig $requestConfig,
102
        RegisterAlias $registerAlias,
103
        string $type,
104
        ReturnUrls $returnUrls
105
    ) {
106
        $this->registerAlias = $registerAlias;
107
        $this->type = $type;
108
        $this->returnUrls = $returnUrls;
109
110
        parent::__construct($requestConfig);
111
    }
112
113
    public function getRegisterAlias(): RegisterAlias
114
    {
115
        return $this->registerAlias;
116
    }
117
118
    public function setRegisterAlias(RegisterAlias $registerAlias): self
119
    {
120
        $this->registerAlias = $registerAlias;
121
122
        return $this;
123
    }
124
125
    public function getType(): string
126
    {
127
        return $this->type;
128
    }
129
130
    public function setType(string $type): self
131
    {
132
        $this->type = $type;
133
134
        return $this;
135
    }
136
137
    public function getReturnUrls(): ReturnUrls
138
    {
139
        return $this->returnUrls;
140
    }
141
142
    public function setReturnUrls(ReturnUrls $returnUrls): self
143
    {
144
        $this->returnUrls = $returnUrls;
145
146
        return $this;
147
    }
148
149
    public function getStyling(): ?Styling
150
    {
151
        return $this->styling;
152
    }
153
154
    public function setStyling(?Styling $styling): self
155
    {
156
        $this->styling = $styling;
157
158
        return $this;
159
    }
160
161
    public function getCheck(): ?Check
162
    {
163
        return $this->check;
164
    }
165
166
    public function setCheck(?Check $check): self
167
    {
168
        $this->check = $check;
169
170
        return $this;
171
    }
172
173
    public function getLanguageCode(): ?string
174
    {
175
        return $this->languageCode;
176
    }
177
178
    public function setLanguageCode(?string $languageCode): self
179
    {
180
        $this->languageCode = $languageCode;
181
182
        return $this;
183
    }
184
185
    public function getPaymentMethods(): ?array
186
    {
187
        return $this->paymentMethods;
188
    }
189
190
    public function setPaymentMethods(?array $paymentMethods): self
191
    {
192
        $this->paymentMethods = $paymentMethods;
193
194
        return $this;
195
    }
196
197
    public function getCardForm(): ?CardForm
198
    {
199
        return $this->cardForm;
200
    }
201
202
    public function setCardForm(?CardForm $cardForm): self
203
    {
204
        $this->cardForm = $cardForm;
205
206
        return $this;
207
    }
208
209
    public function getPaymentMeans(): ?PaymentMeans
210
    {
211
        return $this->paymentMeans;
212
    }
213
214
    public function setPaymentMeans(?PaymentMeans $paymentMeans): self
215
    {
216
        $this->paymentMeans = $paymentMeans;
217
218
        return $this;
219
    }
220
221
    public function execute(): AliasInsertResponse
222
    {
223
        /** @var AliasInsertResponse $response */
224
        $response = $this->doExecute();
225
226
        return $response;
227
    }
228
}
229