Passed
Pull Request — master (#34)
by
unknown
04:37
created

InitializeRequest::getBillingAddressForm()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 2
rs 10
1
<?php declare(strict_types=1);
2
3
namespace Ticketpark\SaferpayJson\Request\PaymentPage;
4
5
use JMS\Serializer\Annotation\SerializedName;
6
use Ticketpark\SaferpayJson\Request\Container\AddressForm;
7
use Ticketpark\SaferpayJson\Request\Container\Authentication;
8
use Ticketpark\SaferpayJson\Request\Container\CardForm;
9
use Ticketpark\SaferpayJson\Request\Container\Notification;
10
use Ticketpark\SaferpayJson\Request\Container\Order;
11
use Ticketpark\SaferpayJson\Request\Container\Payer;
12
use Ticketpark\SaferpayJson\Request\Container\Payment;
13
use Ticketpark\SaferpayJson\Request\Container\PaymentMethodsOptions;
14
use Ticketpark\SaferpayJson\Request\Container\RegisterAlias;
15
use Ticketpark\SaferpayJson\Request\Container\ReturnUrls;
16
use Ticketpark\SaferpayJson\Request\Container\RiskFactors;
17
use Ticketpark\SaferpayJson\Request\Container\Styling;
18
use Ticketpark\SaferpayJson\Request\Request;
19
use Ticketpark\SaferpayJson\Request\RequestCommonsTrait;
20
use Ticketpark\SaferpayJson\Request\RequestConfig;
21
use Ticketpark\SaferpayJson\Response\PaymentPage\InitializeResponse;
22
23
final class InitializeRequest extends Request {
24
    const API_PATH = '/Payment/v1/PaymentPage/Initialize';
25
    const RESPONSE_CLASS = InitializeResponse::class;
26
27
    const PAYMENT_METHOD_ALIPAY = "ALIPAY";
28
    const PAYMENT_METHOD_AMEX = "AMEX";
29
    const PAYMENT_METHOD_BANCONTACT = "BANCONTACT";
30
    const PAYMENT_METHOD_BONUS = "BONUS";
31
    const PAYMENT_METHOD_DINERS = "DINERS";
32
    const PAYMENT_METHOD_DIRECTDEBIT = "DIRECTDEBIT";
33
    const PAYMENT_METHOD_EPRZELEWY = "EPRZELEWY";
34
    const PAYMENT_METHOD_EPS = "EPS";
35
    const PAYMENT_METHOD_GIROPAY = "GIROPAY";
36
    const PAYMENT_METHOD_IDEAL = "IDEAL";
37
    const PAYMENT_METHOD_INVOICE = "INVOICE";
38
    const PAYMENT_METHOD_JCB = "JCB";
39
    const PAYMENT_METHOD_MAESTRO = "MAESTRO";
40
    const PAYMENT_METHOD_MASTERCARD = "MASTERCARD";
41
    const PAYMENT_METHOD_MYONE = "MYONE";
42
    const PAYMENT_METHOD_PAYPAL = "PAYPAL";
43
    const PAYMENT_METHOD_PAYDIREKT = "PAYDIREKT";
44
    const PAYMENT_METHOD_POSTCARD = "POSTCARD";
45
    const PAYMENT_METHOD_POSTFINANCE = "POSTFINANCE";
46
    const PAYMENT_METHOD_SAFERPAYTEST = "SAFERPAYTEST";
47
    const PAYMENT_METHOD_SOFORT = "SOFORT";
48
    const PAYMENT_METHOD_TWINT = "TWINT";
49
    const PAYMENT_METHOD_UNIONPAY = "UNIONPAY";
50
    const PAYMENT_METHOD_VISA = "VISA";
51
    const PAYMENT_METHOD_VPAY = "VPAY";
52
53
    const WALLET_MASTERPASS = "MASTERPASS";
54
    const WALLET_APPLEPAY = "APPLEPAY";
55
56
    const CONDITION_WITH_LIABILITY_SHIFT = 'WITH_LIABILITY_SHIFT';
57
    const CONDITION_IF_ALLOWED_BY_SCHEME = 'IF_ALLOWED_BY_SCHEME';
58
59
    use RequestCommonsTrait;
60
61
    /**
62
     * @var string
63
     * @SerializedName("TerminalId")
64
     */
65
    private $terminalId;
66
67
    /**
68
     * @var Payment
69
     * @SerializedName("Payment")
70
     */
71
    private $payment;
72
73
    /**
74
     * @var ReturnUrls
75
     * @SerializedName("ReturnUrls")
76
     */
77
    private $returnUrls;
78
79
    /**
80
     * @var string|null
81
     * @SerializedName("ConfigSet")
82
     */
83
    private $configSet;
84
85
    /**
86
     * @var array<string>|null
87
     * @SerializedName("PaymentMethods")
88
     */
89
    private $paymentMethods;
90
91
    /**
92
     * @var PaymentMethodsOptions|null
93
     * @SerializedName("PaymentMethodsOptions")
94
     */
95
    private $paymentMethodsOptions;
96
97
    /**
98
     * @var Authentication|null
99
     * @SerializedName("Authentication")
100
     */
101
    private $authentication;
102
103
    /**
104
     * @var array<string>|null
105
     * @SerializedName("Wallets")
106
     */
107
    private $wallets;
108
109
    /**
110
     * @var Payer|null
111
     * @SerializedName("Payer")
112
     */
113
    private $payer;
114
115
    /**
116
     * @var RegisterAlias|null
117
     * @SerializedName("RegisterAlias")
118
     */
119
    private $registerAlias;
120
121
    /**
122
     * @var Notification|null
123
     * @SerializedName("Notification")
124
     */
125
    private $notification;
126
127
    /**
128
     * @var Styling|null
129
     * @SerializedName("Styling")
130
     */
131
    private $styling;
132
133
    /**
134
     * @var AddressForm|null
135
     * @SerializedName("BillingAddressForm")
136
     */
137
    private $billingAddressForm;
138
139
    /**
140
     * @var AddressForm|null
141
     * @SerializedName("DeliveryAddressForm")
142
     */
143
    private $deliveryAddressForm;
144
145
    /**
146
     * @var CardForm|null
147
     * @SerializedName("CardForm")
148
     */
149
    private $cardForm;
150
151
    /**
152
     * @var string|null
153
     * @SerializedName("Condition")
154
     */
155
    private $condition;
156
157
    /**
158
     * @var Order|null
159
     * @SerializedName("Order")
160
     */
161
    private $order;
162
163
    /**
164
     * @var RiskFactors|null
165
     * @SerializedName("RiskFactors")
166
     */
167
    private $riskFactors;
168
169
    public function __construct(
170
        RequestConfig $requestConfig,
171
        string $terminalId,
172
        Payment $payment,
173
        ReturnUrls $returnUrls
174
    ) {
175
        $this->terminalId = $terminalId;
176
        $this->payment = $payment;
177
        $this->returnUrls = $returnUrls;
178
179
        parent::__construct($requestConfig);
180
    }
181
182
    public function getTerminalId(): string {
183
        return $this->terminalId;
184
    }
185
186
    public function setTerminalId(string $terminalId): self {
187
        $this->terminalId = $terminalId;
188
189
        return $this;
190
    }
191
192
    public function getPayment(): Payment {
193
        return $this->payment;
194
    }
195
196
    public function setPayment(Payment $payment): self {
197
        $this->payment = $payment;
198
199
        return $this;
200
    }
201
202
    public function getReturnUrls(): ReturnUrls {
203
        return $this->returnUrls;
204
    }
205
206
    public function setReturnUrls(ReturnUrls $returnUrls): self {
207
        $this->returnUrls = $returnUrls;
208
209
        return $this;
210
    }
211
212
    public function getConfigSet(): ?string {
213
        return $this->configSet;
214
    }
215
216
    public function setConfigSet(?string $configSet): self {
217
        $this->configSet = $configSet;
218
219
        return $this;
220
    }
221
222
    public function getPaymentMethods(): ?array {
223
        return $this->paymentMethods;
224
    }
225
226
    public function setPaymentMethods(?array $paymentMethods): self {
227
        $this->paymentMethods = $paymentMethods;
228
229
        return $this;
230
    }
231
232
    public function getPaymentMethodsOptions(): ?PaymentMethodsOptions {
233
        return $this->paymentMethodsOptions;
234
    }
235
236
    public function setPaymentMethodsOptions(?PaymentMethodsOptions $paymentMethodsOptions): self {
237
        $this->paymentMethodsOptions = $paymentMethodsOptions;
238
239
        return $this;
240
    }
241
242
    public function getAuthentication(): ?Authentication {
243
        return $this->authentication;
244
    }
245
246
    public function setAuthentication(?Authentication $authentication): self {
247
        $this->authentication = $authentication;
248
249
        return $this;
250
    }
251
252
    public function getWallets(): ?array {
253
        return $this->wallets;
254
    }
255
256
    public function setWallets(?array $wallets): self {
257
        $this->wallets = $wallets;
258
259
        return $this;
260
    }
261
262
    public function getPayer(): ?Payer {
263
        return $this->payer;
264
    }
265
266
    public function setPayer(?Payer $payer): self {
267
        $this->payer = $payer;
268
269
        return $this;
270
    }
271
272
    public function getRegisterAlias(): ?RegisterAlias {
273
        return $this->registerAlias;
274
    }
275
276
    public function setRegisterAlias(?RegisterAlias $registerAlias): self {
277
        $this->registerAlias = $registerAlias;
278
279
        return $this;
280
    }
281
282
    public function getNotification(): ?Notification {
283
        return $this->notification;
284
    }
285
286
    public function setNotification(?Notification $notification): self {
287
        $this->notification = $notification;
288
289
        return $this;
290
    }
291
292
    public function getStyling(): ?Styling {
293
        return $this->styling;
294
    }
295
296
    public function setStyling(?Styling $styling): self {
297
        $this->styling = $styling;
298
299
        return $this;
300
    }
301
302
    public function getBillingAddressForm(): ?AddressForm {
303
        return $this->billingAddressForm;
304
    }
305
306
    public function setBillingAddressForm(?AddressForm $billingAddressForm): self {
307
        $this->billingAddressForm = $billingAddressForm;
308
309
        return $this;
310
    }
311
312
    public function getDeliveryAddressForm(): ?AddressForm {
313
        return $this->deliveryAddressForm;
314
    }
315
316
    public function setDeliveryAddressForm(?AddressForm $deliveryAddressForm): self {
317
        $this->deliveryAddressForm = $deliveryAddressForm;
318
319
        return $this;
320
    }
321
322
    public function getCardForm(): ?CardForm {
323
        return $this->cardForm;
324
    }
325
326
    public function setCardForm(?CardForm $cardForm): self {
327
        $this->cardForm = $cardForm;
328
329
        return $this;
330
    }
331
332
    public function getCondition(): ?string {
333
        return $this->condition;
334
    }
335
336
    public function setCondition(?string $condition): self {
337
        $this->condition = $condition;
338
339
        return $this;
340
    }
341
342
    public function getOrder(): ?Order {
343
        return $this->order;
344
    }
345
346
    public function setOrder(?Order $order): self {
347
        $this->order = $order;
348
349
        return $this;
350
    }
351
352
    public function getRiskFactors(): ?RiskFactors {
353
        return $this->riskFactors;
354
    }
355
356
    public function setRiskFactors(?RiskFactors $riskFactors): self {
357
        $this->riskFactors = $riskFactors;
358
359
        return $this;
360
    }
361
362
363
    public function execute(): InitializeResponse {
364
        /** @var InitializeResponse $response */
365
        $response = $this->doExecute();
366
367
        return $response;
368
    }
369
}
370