Completed
Push — master ( ee7786...e4569e )
by Nikolay
53:54 queued 26s
created

TokenTransactionAcceptedModel::toArray()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 40
Code Lines 38

Duplication

Lines 0
Ratio 0 %

Importance

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