CryptogramTransactionRejectedModel   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 79
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 72
dl 0
loc 79
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A toArray() 0 38 1
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