1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
declare(strict_types = 1); |
4
|
|
|
|
5
|
|
|
namespace Korobovn\CloudPayments\Message\Response\Model; |
6
|
|
|
|
7
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\IdString; |
8
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\PeriodInt; |
9
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\AmountFloat; |
10
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\EmailString; |
11
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\StatusString; |
12
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\StatusCodeInt; |
13
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\CurrencyString; |
14
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\IntervalString; |
15
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\AccountIdString; |
16
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\CurrencyCodeInt; |
17
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\IntervalCodeInt; |
18
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\StartDateString; |
19
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\DescriptionString; |
20
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\MaxPeriodsIntNull; |
21
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\StartDateIsoString; |
22
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\CultureNameStringNull; |
23
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\RequireConfirmationBool; |
24
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\FailedTransactionsNumberInt; |
25
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\LastTransactionDateStringNull; |
26
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\NextTransactionDateStringNull; |
27
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\SuccessfulTransactionsNumberInt; |
28
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\LastTransactionDateIsoStringNull; |
29
|
|
|
use Korobovn\CloudPayments\Message\Traits\ModelField\NextTransactionDateIsoStringNull; |
30
|
|
|
|
31
|
|
|
/** |
32
|
|
|
* @see https://developers.cloudpayments.ru/#sozdanie-podpiski-na-rekurrentnye-platezhi |
33
|
|
|
* @see https://developers.cloudpayments.ru/#zapros-informatsii-o-podpiske |
34
|
|
|
* @see https://developers.cloudpayments.ru/#izmenenie-podpiski-na-rekurrentnye-platezhi |
35
|
|
|
*/ |
36
|
|
|
class SubscriptionModel extends AbstractModel |
37
|
|
|
{ |
38
|
|
|
use IdString, |
39
|
|
|
AccountIdString, |
40
|
|
|
DescriptionString, |
41
|
|
|
EmailString, |
42
|
|
|
AmountFloat, |
43
|
|
|
CurrencyCodeInt, |
44
|
|
|
CurrencyString, |
45
|
|
|
RequireConfirmationBool, |
46
|
|
|
StartDateString, |
47
|
|
|
StartDateIsoString, |
48
|
|
|
IntervalCodeInt, |
49
|
|
|
IntervalString, |
50
|
|
|
PeriodInt, |
51
|
|
|
MaxPeriodsIntNull, |
52
|
|
|
CultureNameStringNull, |
53
|
|
|
StatusCodeInt, |
54
|
|
|
StatusString, |
55
|
|
|
SuccessfulTransactionsNumberInt, |
56
|
|
|
FailedTransactionsNumberInt, |
57
|
|
|
LastTransactionDateStringNull, |
58
|
|
|
LastTransactionDateIsoStringNull, |
59
|
|
|
NextTransactionDateStringNull, |
60
|
|
|
NextTransactionDateIsoStringNull; |
61
|
|
|
|
62
|
|
|
/** |
63
|
|
|
* {@inheritDoc} |
64
|
|
|
*/ |
65
|
|
|
public function toArray(): array |
66
|
|
|
{ |
67
|
|
|
return [ |
68
|
|
|
'Id' => $this->getId(), |
69
|
|
|
'AccountId' => $this->getAccountId(), |
70
|
|
|
'Description' => $this->getDescription(), |
71
|
|
|
'Email' => $this->getEmail(), |
72
|
|
|
'Amount' => $this->getAmount(), |
73
|
|
|
'CurrencyCode' => $this->getCurrencyCode(), |
74
|
|
|
'Currency' => $this->getCurrency(), |
75
|
|
|
'RequireConfirmation' => $this->isRequireConfirmation(), |
76
|
|
|
'StartDate' => $this->getStartDate(), |
77
|
|
|
'StartDateIso' => $this->getStartDateIso(), |
78
|
|
|
'IntervalCode' => $this->getIntervalCode(), |
79
|
|
|
'Interval' => $this->getInterval(), |
80
|
|
|
'Period' => $this->getPeriod(), |
81
|
|
|
'MaxPeriods' => $this->getMaxPeriods(), |
82
|
|
|
'CultureName' => $this->getCultureName(), |
83
|
|
|
'StatusCode' => $this->getStatusCode(), |
84
|
|
|
'Status' => $this->getStatus(), |
85
|
|
|
'SuccessfulTransactionsNumber' => $this->getSuccessfulTransactionsNumber(), |
86
|
|
|
'FailedTransactionsNumber' => $this->getFailedTransactionsNumber(), |
87
|
|
|
'LastTransactionDate' => $this->getLastTransactionDate(), |
88
|
|
|
'LastTransactionDateIso' => $this->getLastTransactionDate(), |
89
|
|
|
'NextTransactionDate' => $this->getNextTransactionDate(), |
90
|
|
|
'NextTransactionDateIso' => $this->getNextTransactionDateIso(), |
91
|
|
|
]; |
92
|
|
|
} |
93
|
|
|
} |
94
|
|
|
|