CryptogramTransactionRejectedModel::toArray()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 38
Code Lines 36

Duplication

Lines 0
Ratio 0 %

Importance

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