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

CryptogramTransactionRejectedModel   A

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