CryptogramTransactionAcceptedModel::toArray()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 41
Code Lines 39

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 39
nc 1
nop 0
dl 0
loc 41
rs 9.296
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\TokenString;
10
use Korobovn\CloudPayments\Message\Traits\ModelField\IssuerString;
11
use Korobovn\CloudPayments\Message\Traits\ModelField\ReasonString;
12
use Korobovn\CloudPayments\Message\Traits\ModelField\StatusString;
13
use Korobovn\CloudPayments\Message\Traits\ModelField\TestModeBool;
14
use Korobovn\CloudPayments\Message\Traits\ModelField\ReasonCodeInt;
15
use Korobovn\CloudPayments\Message\Traits\ModelField\StatusCodeInt;
16
use Korobovn\CloudPayments\Message\Traits\ModelField\AuthCodeString;
17
use Korobovn\CloudPayments\Message\Traits\ModelField\AuthDateString;
18
use Korobovn\CloudPayments\Message\Traits\ModelField\CardTypeString;
19
use Korobovn\CloudPayments\Message\Traits\ModelField\CurrencyString;
20
use Korobovn\CloudPayments\Message\Traits\ModelField\CardTypeCodeInt;
21
use Korobovn\CloudPayments\Message\Traits\ModelField\CurrencyCodeInt;
22
use Korobovn\CloudPayments\Message\Traits\ModelField\EmailStringNull;
23
use Korobovn\CloudPayments\Message\Traits\ModelField\IpAddressString;
24
use Korobovn\CloudPayments\Message\Traits\ModelField\IpCountryString;
25
use Korobovn\CloudPayments\Message\Traits\ModelField\IpCityStringNull;
26
use Korobovn\CloudPayments\Message\Traits\ModelField\TransactionIdInt;
27
use Korobovn\CloudPayments\Message\Traits\ModelField\AuthDateIsoString;
28
use Korobovn\CloudPayments\Message\Traits\ModelField\CardExpDateString;
29
use Korobovn\CloudPayments\Message\Traits\ModelField\CreatedDateString;
30
use Korobovn\CloudPayments\Message\Traits\ModelField\CardFirstSixString;
31
use Korobovn\CloudPayments\Message\Traits\ModelField\CardLastFourString;
32
use Korobovn\CloudPayments\Message\Traits\ModelField\IpRegionStringNull;
33
use Korobovn\CloudPayments\Message\Traits\ModelField\JsonDataStringNull;
34
use Korobovn\CloudPayments\Message\Traits\ModelField\AccountIdStringNull;
35
use Korobovn\CloudPayments\Message\Traits\ModelField\InvoiceIdStringNull;
36
use Korobovn\CloudPayments\Message\Traits\ModelField\IpLatitudeFloatNull;
37
use Korobovn\CloudPayments\Message\Traits\ModelField\CreatedDateIsoString;
38
use Korobovn\CloudPayments\Message\Traits\ModelField\IpDistrictStringNull;
39
use Korobovn\CloudPayments\Message\Traits\ModelField\IpLongitudeFloatNull;
40
use Korobovn\CloudPayments\Message\Traits\ModelField\ConfirmDateStringNull;
41
use Korobovn\CloudPayments\Message\Traits\ModelField\DescriptionStringNull;
42
use Korobovn\CloudPayments\Message\Traits\ModelField\CardHolderMessageString;
43
use Korobovn\CloudPayments\Message\Traits\ModelField\IssuerBankCountryString;
44
use Korobovn\CloudPayments\Message\Traits\ModelField\ConfirmDateIsoStringNull;
45
46
/**
47
 * @see https://developers.cloudpayments.ru/#oplata-po-kriptogramme
48
 */
49
class CryptogramTransactionAcceptedModel extends AbstractModel
50
{
51
    use TransactionIdInt,
52
        AmountFloat,
53
        CurrencyString,
54
        CurrencyCodeInt,
55
        InvoiceIdStringNull,
56
        AccountIdStringNull,
57
        EmailStringNull,
58
        DescriptionStringNull,
59
        JsonDataStringNull,
60
        CreatedDateString,
61
        CreatedDateIsoString,
62
        AuthDateString,
63
        AuthDateIsoString,
64
        ConfirmDateStringNull,
65
        ConfirmDateIsoStringNull,
66
        AuthCodeString,
67
        TestModeBool,
68
        IpAddressString,
69
        IpCountryString,
70
        IpCityStringNull,
71
        IpRegionStringNull,
72
        IpDistrictStringNull,
73
        IpLatitudeFloatNull,
74
        IpLongitudeFloatNull,
75
        CardFirstSixString,
76
        CardLastFourString,
77
        CardExpDateString,
78
        CardTypeString,
79
        CardTypeCodeInt,
80
        IssuerString,
81
        IssuerBankCountryString,
82
        StatusString,
83
        StatusCodeInt,
84
        ReasonString,
85
        ReasonCodeInt,
86
        CardHolderMessageString,
87
        NameString,
88
        TokenString;
89
90
    /**
91
     * {@inheritDoc}
92
     */
93
    public function toArray(): array
94
    {
95
        return [
96
            'TransactionId'     => $this->getTransactionId(),
97
            'Amount'            => $this->getAmount(),
98
            'Currency'          => $this->getCurrency(),
99
            'CurrencyCode'      => $this->getCurrencyCode(),
100
            'InvoiceId'         => $this->getInvoiceId(),
101
            'AccountId'         => $this->getAccountId(),
102
            'Email'             => $this->getEmail(),
103
            'Description'       => $this->getDescription(),
104
            'JsonData'          => $this->getJsonData(),
105
            'CreatedDate'       => $this->getCreatedDate(),
106
            'CreatedDateIso'    => $this->getCreatedDateIso(),
107
            'AuthDate'          => $this->getAuthDate(),
108
            'AuthDateIso'       => $this->getAuthDateIso(),
109
            'ConfirmDate'       => $this->getConfirmDate(),
110
            'ConfirmDateIso'    => $this->getConfirmDateIso(),
111
            'AuthCode'          => $this->getAuthCode(),
112
            'TestMode'          => $this->isTestMode(),
113
            'IpAddress'         => $this->getIpAddress(),
114
            'IpCountry'         => $this->getIpCountry(),
115
            'IpCity'            => $this->getIpCity(),
116
            'IpRegion'          => $this->getIpRegion(),
117
            'IpDistrict'        => $this->getIpDistrict(),
118
            'IpLatitude'        => $this->getIpLatitude(),
119
            'IpLongitude'       => $this->getIpLongitude(),
120
            'CardFirstSix'      => $this->getCardFirstSix(),
121
            'CardLastFour'      => $this->getCardLastFour(),
122
            'CardExpDate'       => $this->getCardExpDate(),
123
            'CardType'          => $this->getCardType(),
124
            'CardTypeCode'      => $this->getCardTypeCode(),
125
            'Issuer'            => $this->getIssuer(),
126
            'IssuerBankCountry' => $this->getIssuerBankCountry(),
127
            'Status'            => $this->getStatus(),
128
            'StatusCode'        => $this->getStatusCode(),
129
            'Reason'            => $this->getReason(),
130
            'ReasonCode'        => $this->getReasonCode(),
131
            'CardHolderMessage' => $this->getCardHolderMessage(),
132
            'Name'              => $this->getName(),
133
            'Token'             => $this->getToken(),
134
        ];
135
    }
136
}
137