CreateSubscriptionModel::toArray()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 12
nc 1
nop 0
dl 0
loc 14
rs 9.8666
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace Korobovn\CloudPayments\Message\Request\Model;
6
7
use Korobovn\CloudPayments\Message\Traits\ModelField\PeriodInt;
8
use Korobovn\CloudPayments\Message\Traits\ModelField\AmountFloat;
9
use Korobovn\CloudPayments\Message\Traits\ModelField\EmailString;
10
use Korobovn\CloudPayments\Message\Traits\ModelField\TokenString;
11
use Korobovn\CloudPayments\Message\Traits\ModelField\CurrencyString;
12
use Korobovn\CloudPayments\Message\Traits\ModelField\IntervalString;
13
use Korobovn\CloudPayments\Message\Traits\ModelField\AccountIdString;
14
use Korobovn\CloudPayments\Message\Traits\ModelField\StartDateString;
15
use Korobovn\CloudPayments\Message\Traits\ModelField\DescriptionString;
16
use Korobovn\CloudPayments\Message\Traits\ModelField\MaxPeriodsIntNull;
17
use Korobovn\CloudPayments\Message\Traits\ModelField\RequireConfirmationBool;
18
19
/**
20
 * @see https://developers.cloudpayments.ru/#sozdanie-podpiski-na-rekurrentnye-platezhi
21
 */
22
class CreateSubscriptionModel extends AbstractModel
23
{
24
    use TokenString,
25
        AccountIdString,
26
        DescriptionString,
27
        EmailString,
28
        AmountFloat,
29
        CurrencyString,
30
        RequireConfirmationBool,
31
        StartDateString,
32
        IntervalString,
33
        PeriodInt,
34
        MaxPeriodsIntNull;
35
36
    /**
37
     * {@inheritDoc}
38
     */
39
    public function toArray(): array
40
    {
41
        return [
42
            'Token'               => $this->getToken(),
43
            'AccountId'           => $this->getAccountId(),
44
            'Description'         => $this->getDescription(),
45
            'Email'               => $this->getEmail(),
46
            'Amount'              => $this->getAmount(),
47
            'Currency'            => $this->getCurrency(),
48
            'RequireConfirmation' => $this->isRequireConfirmation(),
49
            'StartDate'           => $this->getStartDate(),
50
            'Interval'            => $this->getInterval(),
51
            'Period'              => $this->getPeriod(),
52
            'MaxPeriods'          => $this->getMaxPeriods(),
53
        ];
54
    }
55
}
56