TokenTransactionRejectedModel::toArray()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 34
Code Lines 32

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 32
nc 1
nop 0
dl 0
loc 34
rs 9.408
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace Korobovn\CloudPayments\Message\Response\Model;
6
7
use Korobovn\CloudPayments\Message\Traits\ModelField\NameString;
8
use Korobovn\CloudPayments\Message\Traits\ModelField\AmountFloat;
9
use Korobovn\CloudPayments\Message\Traits\ModelField\IssuerString;
10
use Korobovn\CloudPayments\Message\Traits\ModelField\ReasonString;
11
use Korobovn\CloudPayments\Message\Traits\ModelField\StatusString;
12
use Korobovn\CloudPayments\Message\Traits\ModelField\TestModeBool;
13
use Korobovn\CloudPayments\Message\Traits\ModelField\ReasonCodeInt;
14
use Korobovn\CloudPayments\Message\Traits\ModelField\StatusCodeInt;
15
use Korobovn\CloudPayments\Message\Traits\ModelField\CardTypeString;
16
use Korobovn\CloudPayments\Message\Traits\ModelField\CurrencyString;
17
use Korobovn\CloudPayments\Message\Traits\ModelField\AccountIdString;
18
use Korobovn\CloudPayments\Message\Traits\ModelField\CardTypeCodeInt;
19
use Korobovn\CloudPayments\Message\Traits\ModelField\CurrencyCodeInt;
20
use Korobovn\CloudPayments\Message\Traits\ModelField\EmailStringNull;
21
use Korobovn\CloudPayments\Message\Traits\ModelField\IpAddressString;
22
use Korobovn\CloudPayments\Message\Traits\ModelField\IpCountryString;
23
use Korobovn\CloudPayments\Message\Traits\ModelField\IpCityStringNull;
24
use Korobovn\CloudPayments\Message\Traits\ModelField\TransactionIdInt;
25
use Korobovn\CloudPayments\Message\Traits\ModelField\CreatedDateString;
26
use Korobovn\CloudPayments\Message\Traits\ModelField\CardFirstSixString;
27
use Korobovn\CloudPayments\Message\Traits\ModelField\CardLastFourString;
28
use Korobovn\CloudPayments\Message\Traits\ModelField\IpRegionStringNull;
29
use Korobovn\CloudPayments\Message\Traits\ModelField\JsonDataStringNull;
30
use Korobovn\CloudPayments\Message\Traits\ModelField\InvoiceIdStringNull;
31
use Korobovn\CloudPayments\Message\Traits\ModelField\IpLatitudeFloatNull;
32
use Korobovn\CloudPayments\Message\Traits\ModelField\CreatedDateIsoString;
33
use Korobovn\CloudPayments\Message\Traits\ModelField\IpDistrictStringNull;
34
use Korobovn\CloudPayments\Message\Traits\ModelField\IpLongitudeFloatNull;
35
use Korobovn\CloudPayments\Message\Traits\ModelField\DescriptionStringNull;
36
use Korobovn\CloudPayments\Message\Traits\ModelField\CardHolderMessageString;
37
use Korobovn\CloudPayments\Message\Traits\ModelField\IssuerBankCountryString;
38
39
/**
40
 * @see https://developers.cloudpayments.ru/#oplata-po-tokenu-rekarring
41
 */
42
class TokenTransactionRejectedModel extends AbstractModel
43
{
44
    use TransactionIdInt,
45
        AmountFloat,
46
        CurrencyString,
47
        CurrencyCodeInt,
48
        InvoiceIdStringNull,
49
        AccountIdString,
50
        EmailStringNull,
51
        DescriptionStringNull,
52
        JsonDataStringNull,
53
        CreatedDateString,
54
        CreatedDateIsoString,
55
        TestModeBool,
56
        IpAddressString,
57
        IpCountryString,
58
        IpCityStringNull,
59
        IpRegionStringNull,
60
        IpDistrictStringNull,
61
        IpLatitudeFloatNull,
62
        IpLongitudeFloatNull,
63
        CardFirstSixString,
64
        CardLastFourString,
65
        CardTypeString,
66
        CardTypeCodeInt,
67
        IssuerString,
68
        IssuerBankCountryString,
69
        StatusString,
70
        StatusCodeInt,
71
        ReasonString,
72
        ReasonCodeInt,
73
        CardHolderMessageString,
74
        NameString;
75
76
    /**
77
     * {@inheritDoc}
78
     */
79
    public function toArray(): array
80
    {
81
        return [
82
            'TransactionId'       => $this->getTransactionId(),
83
            'Amount'              => $this->getAmount(),
84
            'Currency'            => $this->getCurrency(),
85
            'CurrencyCode'        => $this->getCurrencyCode(),
86
            'InvoiceId'           => $this->getInvoiceId(),
87
            'AccountId'           => $this->getAccountId(),
88
            'Email'               => $this->getEmail(),
89
            'Description'         => $this->getDescription(),
90
            'JsonData'            => $this->getJsonData(),
91
            'CreatedDate'         => $this->getCreatedDate(),
92
            'CreatedDateIso'      => $this->getCreatedDateIso(),
93
            'TestMode'            => $this->isTestMode(),
94
            'IpAddress'           => $this->getIpAddress(),
95
            'IpCountry'           => $this->getIpCountry(),
96
            'IpCity'              => $this->getIpCity(),
97
            'IpRegion'            => $this->getIpRegion(),
98
            'IpDistrict'          => $this->getIpDistrict(),
99
            'IpLatitude'          => $this->getIpLatitude(),
100
            'IpLongitude'         => $this->getIpLongitude(),
101
            'CardFirstSix'        => $this->getCardFirstSix(),
102
            'CardLastFour'        => $this->getCardLastFour(),
103
            'CardType'            => $this->getCardType(),
104
            'CardTypeCode'        => $this->getCardTypeCode(),
105
            'Issuer'              => $this->getIssuer(),
106
            'IssuerBankCountry'   => $this->getIssuerBankCountry(),
107
            'Status'              => $this->getStatus(),
108
            'StatusCode'          => $this->getStatusCode(),
109
            'Reason'              => $this->getReason(),
110
            'ReasonCode'          => $this->getReasonCode(),
111
            'CardHolderMessage'   => $this->getCardHolderMessage(),
112
            'Name'                => $this->getName(),
113
        ];
114
    }
115
}
116