cloudpayments-ruby 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +50 -0
- data/README.md +250 -0
- data/SECURITY.md +23 -0
- data/lib/cloudpayments_ruby/client.rb +93 -0
- data/lib/cloudpayments_ruby/errors.rb +228 -0
- data/lib/cloudpayments_ruby/file_part.rb +58 -0
- data/lib/cloudpayments_ruby/internal/transport/base_client.rb +579 -0
- data/lib/cloudpayments_ruby/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/cloudpayments_ruby/internal/type/array_of.rb +168 -0
- data/lib/cloudpayments_ruby/internal/type/base_model.rb +536 -0
- data/lib/cloudpayments_ruby/internal/type/base_page.rb +55 -0
- data/lib/cloudpayments_ruby/internal/type/boolean.rb +77 -0
- data/lib/cloudpayments_ruby/internal/type/converter.rb +327 -0
- data/lib/cloudpayments_ruby/internal/type/enum.rb +133 -0
- data/lib/cloudpayments_ruby/internal/type/file_input.rb +111 -0
- data/lib/cloudpayments_ruby/internal/type/hash_of.rb +188 -0
- data/lib/cloudpayments_ruby/internal/type/request_parameters.rb +42 -0
- data/lib/cloudpayments_ruby/internal/type/union.rb +256 -0
- data/lib/cloudpayments_ruby/internal/type/unknown.rb +81 -0
- data/lib/cloudpayments_ruby/internal/util.rb +920 -0
- data/lib/cloudpayments_ruby/internal.rb +20 -0
- data/lib/cloudpayments_ruby/models/order_cancel_params.rb +22 -0
- data/lib/cloudpayments_ruby/models/order_cancel_response.rb +27 -0
- data/lib/cloudpayments_ruby/models/order_create_params.rb +152 -0
- data/lib/cloudpayments_ruby/models/order_create_response.rb +187 -0
- data/lib/cloudpayments_ruby/models/payment_auth_params.rb +211 -0
- data/lib/cloudpayments_ruby/models/payment_auth_response.rb +167 -0
- data/lib/cloudpayments_ruby/models/payment_charge_params.rb +211 -0
- data/lib/cloudpayments_ruby/models/payment_charge_response.rb +167 -0
- data/lib/cloudpayments_ruby/models/payment_confirm_params.rb +38 -0
- data/lib/cloudpayments_ruby/models/payment_confirm_response.rb +27 -0
- data/lib/cloudpayments_ruby/models/payment_post3ds_params.rb +30 -0
- data/lib/cloudpayments_ruby/models/payment_post3ds_response.rb +35 -0
- data/lib/cloudpayments_ruby/models/payment_refund_params.rb +38 -0
- data/lib/cloudpayments_ruby/models/payment_refund_response.rb +49 -0
- data/lib/cloudpayments_ruby/models/payment_void_params.rb +22 -0
- data/lib/cloudpayments_ruby/models/payment_void_response.rb +27 -0
- data/lib/cloudpayments_ruby/models/payments/token_auth_params.rb +197 -0
- data/lib/cloudpayments_ruby/models/payments/token_auth_response.rb +37 -0
- data/lib/cloudpayments_ruby/models/payments/token_charge_params.rb +197 -0
- data/lib/cloudpayments_ruby/models/payments/token_charge_response.rb +37 -0
- data/lib/cloudpayments_ruby/models/subscription.rb +212 -0
- data/lib/cloudpayments_ruby/models/subscription_cancel_params.rb +22 -0
- data/lib/cloudpayments_ruby/models/subscription_cancel_response.rb +27 -0
- data/lib/cloudpayments_ruby/models/subscription_create_params.rb +112 -0
- data/lib/cloudpayments_ruby/models/subscription_create_response.rb +35 -0
- data/lib/cloudpayments_ruby/models/subscription_find_params.rb +22 -0
- data/lib/cloudpayments_ruby/models/subscription_find_response.rb +37 -0
- data/lib/cloudpayments_ruby/models/subscription_get_params.rb +22 -0
- data/lib/cloudpayments_ruby/models/subscription_get_response.rb +35 -0
- data/lib/cloudpayments_ruby/models/subscription_update_params.rb +104 -0
- data/lib/cloudpayments_ruby/models/subscription_update_response.rb +35 -0
- data/lib/cloudpayments_ruby/models/transaction.rb +492 -0
- data/lib/cloudpayments_ruby/models.rb +76 -0
- data/lib/cloudpayments_ruby/request_options.rb +79 -0
- data/lib/cloudpayments_ruby/resources/orders.rb +95 -0
- data/lib/cloudpayments_ruby/resources/payments/tokens.rb +110 -0
- data/lib/cloudpayments_ruby/resources/payments.rb +232 -0
- data/lib/cloudpayments_ruby/resources/subscriptions.rb +178 -0
- data/lib/cloudpayments_ruby/version.rb +5 -0
- data/lib/cloudpayments_ruby.rb +91 -0
- data/manifest.yaml +17 -0
- data/rbi/cloudpayments_ruby/client.rbi +61 -0
- data/rbi/cloudpayments_ruby/errors.rbi +205 -0
- data/rbi/cloudpayments_ruby/file_part.rbi +37 -0
- data/rbi/cloudpayments_ruby/internal/transport/base_client.rbi +310 -0
- data/rbi/cloudpayments_ruby/internal/transport/pooled_net_requester.rbi +84 -0
- data/rbi/cloudpayments_ruby/internal/type/array_of.rbi +108 -0
- data/rbi/cloudpayments_ruby/internal/type/base_model.rbi +316 -0
- data/rbi/cloudpayments_ruby/internal/type/base_page.rbi +43 -0
- data/rbi/cloudpayments_ruby/internal/type/boolean.rbi +58 -0
- data/rbi/cloudpayments_ruby/internal/type/converter.rbi +225 -0
- data/rbi/cloudpayments_ruby/internal/type/enum.rbi +82 -0
- data/rbi/cloudpayments_ruby/internal/type/file_input.rbi +59 -0
- data/rbi/cloudpayments_ruby/internal/type/hash_of.rbi +108 -0
- data/rbi/cloudpayments_ruby/internal/type/request_parameters.rbi +33 -0
- data/rbi/cloudpayments_ruby/internal/type/union.rbi +134 -0
- data/rbi/cloudpayments_ruby/internal/type/unknown.rbi +58 -0
- data/rbi/cloudpayments_ruby/internal/util.rbi +487 -0
- data/rbi/cloudpayments_ruby/internal.rbi +18 -0
- data/rbi/cloudpayments_ruby/models/order_cancel_params.rbi +43 -0
- data/rbi/cloudpayments_ruby/models/order_cancel_response.rbi +42 -0
- data/rbi/cloudpayments_ruby/models/order_create_params.rbi +219 -0
- data/rbi/cloudpayments_ruby/models/order_create_response.rbi +255 -0
- data/rbi/cloudpayments_ruby/models/payment_auth_params.rbi +323 -0
- data/rbi/cloudpayments_ruby/models/payment_auth_response.rbi +278 -0
- data/rbi/cloudpayments_ruby/models/payment_charge_params.rbi +325 -0
- data/rbi/cloudpayments_ruby/models/payment_charge_response.rbi +278 -0
- data/rbi/cloudpayments_ruby/models/payment_confirm_params.rbi +65 -0
- data/rbi/cloudpayments_ruby/models/payment_confirm_response.rbi +42 -0
- data/rbi/cloudpayments_ruby/models/payment_post3ds_params.rbi +54 -0
- data/rbi/cloudpayments_ruby/models/payment_post3ds_response.rbi +63 -0
- data/rbi/cloudpayments_ruby/models/payment_refund_params.rbi +65 -0
- data/rbi/cloudpayments_ruby/models/payment_refund_response.rbi +97 -0
- data/rbi/cloudpayments_ruby/models/payment_void_params.rbi +46 -0
- data/rbi/cloudpayments_ruby/models/payment_void_response.rbi +42 -0
- data/rbi/cloudpayments_ruby/models/payments/token_auth_params.rbi +306 -0
- data/rbi/cloudpayments_ruby/models/payments/token_auth_response.rbi +65 -0
- data/rbi/cloudpayments_ruby/models/payments/token_charge_params.rbi +307 -0
- data/rbi/cloudpayments_ruby/models/payments/token_charge_response.rbi +65 -0
- data/rbi/cloudpayments_ruby/models/subscription.rbi +260 -0
- data/rbi/cloudpayments_ruby/models/subscription_cancel_params.rbi +43 -0
- data/rbi/cloudpayments_ruby/models/subscription_cancel_response.rbi +42 -0
- data/rbi/cloudpayments_ruby/models/subscription_create_params.rbi +143 -0
- data/rbi/cloudpayments_ruby/models/subscription_create_response.rbi +63 -0
- data/rbi/cloudpayments_ruby/models/subscription_find_params.rbi +46 -0
- data/rbi/cloudpayments_ruby/models/subscription_find_response.rbi +65 -0
- data/rbi/cloudpayments_ruby/models/subscription_get_params.rbi +43 -0
- data/rbi/cloudpayments_ruby/models/subscription_get_response.rbi +63 -0
- data/rbi/cloudpayments_ruby/models/subscription_update_params.rbi +156 -0
- data/rbi/cloudpayments_ruby/models/subscription_update_response.rbi +63 -0
- data/rbi/cloudpayments_ruby/models/transaction.rbi +594 -0
- data/rbi/cloudpayments_ruby/models.rbi +35 -0
- data/rbi/cloudpayments_ruby/request_options.rbi +64 -0
- data/rbi/cloudpayments_ruby/resources/orders.rbi +95 -0
- data/rbi/cloudpayments_ruby/resources/payments/tokens.rbi +117 -0
- data/rbi/cloudpayments_ruby/resources/payments.rbi +214 -0
- data/rbi/cloudpayments_ruby/resources/subscriptions.rbi +159 -0
- data/rbi/cloudpayments_ruby/version.rbi +5 -0
- data/sig/cloudpayments_ruby/client.rbs +33 -0
- data/sig/cloudpayments_ruby/errors.rbs +117 -0
- data/sig/cloudpayments_ruby/file_part.rbs +21 -0
- data/sig/cloudpayments_ruby/internal/transport/base_client.rbs +133 -0
- data/sig/cloudpayments_ruby/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/cloudpayments_ruby/internal/type/array_of.rbs +48 -0
- data/sig/cloudpayments_ruby/internal/type/base_model.rbs +106 -0
- data/sig/cloudpayments_ruby/internal/type/base_page.rbs +24 -0
- data/sig/cloudpayments_ruby/internal/type/boolean.rbs +26 -0
- data/sig/cloudpayments_ruby/internal/type/converter.rbs +79 -0
- data/sig/cloudpayments_ruby/internal/type/enum.rbs +32 -0
- data/sig/cloudpayments_ruby/internal/type/file_input.rbs +25 -0
- data/sig/cloudpayments_ruby/internal/type/hash_of.rbs +48 -0
- data/sig/cloudpayments_ruby/internal/type/request_parameters.rbs +20 -0
- data/sig/cloudpayments_ruby/internal/type/union.rbs +52 -0
- data/sig/cloudpayments_ruby/internal/type/unknown.rbs +26 -0
- data/sig/cloudpayments_ruby/internal/util.rbs +185 -0
- data/sig/cloudpayments_ruby/internal.rbs +10 -0
- data/sig/cloudpayments_ruby/models/order_cancel_params.rbs +23 -0
- data/sig/cloudpayments_ruby/models/order_cancel_response.rbs +17 -0
- data/sig/cloudpayments_ruby/models/order_create_params.rbs +136 -0
- data/sig/cloudpayments_ruby/models/order_create_response.rbs +146 -0
- data/sig/cloudpayments_ruby/models/payment_auth_params.rbs +197 -0
- data/sig/cloudpayments_ruby/models/payment_auth_response.rbs +151 -0
- data/sig/cloudpayments_ruby/models/payment_charge_params.rbs +197 -0
- data/sig/cloudpayments_ruby/models/payment_charge_response.rbs +151 -0
- data/sig/cloudpayments_ruby/models/payment_confirm_params.rbs +34 -0
- data/sig/cloudpayments_ruby/models/payment_confirm_response.rbs +17 -0
- data/sig/cloudpayments_ruby/models/payment_post3ds_params.rbs +28 -0
- data/sig/cloudpayments_ruby/models/payment_post3ds_response.rbs +32 -0
- data/sig/cloudpayments_ruby/models/payment_refund_params.rbs +34 -0
- data/sig/cloudpayments_ruby/models/payment_refund_response.rbs +46 -0
- data/sig/cloudpayments_ruby/models/payment_void_params.rbs +24 -0
- data/sig/cloudpayments_ruby/models/payment_void_response.rbs +17 -0
- data/sig/cloudpayments_ruby/models/payments/token_auth_params.rbs +183 -0
- data/sig/cloudpayments_ruby/models/payments/token_auth_response.rbs +38 -0
- data/sig/cloudpayments_ruby/models/payments/token_charge_params.rbs +183 -0
- data/sig/cloudpayments_ruby/models/payments/token_charge_response.rbs +38 -0
- data/sig/cloudpayments_ruby/models/subscription.rbs +158 -0
- data/sig/cloudpayments_ruby/models/subscription_cancel_params.rbs +23 -0
- data/sig/cloudpayments_ruby/models/subscription_cancel_response.rbs +17 -0
- data/sig/cloudpayments_ruby/models/subscription_create_params.rbs +87 -0
- data/sig/cloudpayments_ruby/models/subscription_create_response.rbs +32 -0
- data/sig/cloudpayments_ruby/models/subscription_find_params.rbs +24 -0
- data/sig/cloudpayments_ruby/models/subscription_find_response.rbs +36 -0
- data/sig/cloudpayments_ruby/models/subscription_get_params.rbs +23 -0
- data/sig/cloudpayments_ruby/models/subscription_get_response.rbs +32 -0
- data/sig/cloudpayments_ruby/models/subscription_update_params.rbs +96 -0
- data/sig/cloudpayments_ruby/models/subscription_update_response.rbs +32 -0
- data/sig/cloudpayments_ruby/models/transaction.rbs +369 -0
- data/sig/cloudpayments_ruby/models.rbs +33 -0
- data/sig/cloudpayments_ruby/request_options.rbs +36 -0
- data/sig/cloudpayments_ruby/resources/orders.rbs +33 -0
- data/sig/cloudpayments_ruby/resources/payments/tokens.rbs +41 -0
- data/sig/cloudpayments_ruby/resources/payments.rbs +70 -0
- data/sig/cloudpayments_ruby/resources/subscriptions.rbs +53 -0
- data/sig/cloudpayments_ruby/version.rbs +3 -0
- metadata +250 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
class Subscription < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute account_id
|
|
7
|
+
# Идентификатор пользователя
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :account_id, String, api_name: :AccountId
|
|
11
|
+
|
|
12
|
+
# @!attribute amount
|
|
13
|
+
# Сумма платежа
|
|
14
|
+
#
|
|
15
|
+
# @return [Float]
|
|
16
|
+
required :amount, Float, api_name: :Amount
|
|
17
|
+
|
|
18
|
+
# @!attribute culture_name
|
|
19
|
+
# Язык
|
|
20
|
+
#
|
|
21
|
+
# @return [String]
|
|
22
|
+
required :culture_name, String, api_name: :CultureName
|
|
23
|
+
|
|
24
|
+
# @!attribute currency
|
|
25
|
+
# Валюта
|
|
26
|
+
#
|
|
27
|
+
# @return [String]
|
|
28
|
+
required :currency, String, api_name: :Currency
|
|
29
|
+
|
|
30
|
+
# @!attribute currency_code
|
|
31
|
+
# Код валюты
|
|
32
|
+
#
|
|
33
|
+
# @return [Integer]
|
|
34
|
+
required :currency_code, Integer, api_name: :CurrencyCode
|
|
35
|
+
|
|
36
|
+
# @!attribute failed_transactions_number
|
|
37
|
+
# Количество неуспешных транзакций
|
|
38
|
+
#
|
|
39
|
+
# @return [Integer]
|
|
40
|
+
required :failed_transactions_number, Integer, api_name: :FailedTransactionsNumber
|
|
41
|
+
|
|
42
|
+
# @!attribute id
|
|
43
|
+
# Идентификатор подписки
|
|
44
|
+
#
|
|
45
|
+
# @return [String]
|
|
46
|
+
required :id, String, api_name: :Id
|
|
47
|
+
|
|
48
|
+
# @!attribute interval
|
|
49
|
+
# Интервал
|
|
50
|
+
#
|
|
51
|
+
# @return [String]
|
|
52
|
+
required :interval, String, api_name: :Interval
|
|
53
|
+
|
|
54
|
+
# @!attribute interval_code
|
|
55
|
+
# Код интервала
|
|
56
|
+
#
|
|
57
|
+
# @return [Integer]
|
|
58
|
+
required :interval_code, Integer, api_name: :IntervalCode
|
|
59
|
+
|
|
60
|
+
# @!attribute period
|
|
61
|
+
# Период
|
|
62
|
+
#
|
|
63
|
+
# @return [Integer]
|
|
64
|
+
required :period, Integer, api_name: :Period
|
|
65
|
+
|
|
66
|
+
# @!attribute require_confirmation
|
|
67
|
+
# Требуется подтверждение (двухстадийная схема)
|
|
68
|
+
#
|
|
69
|
+
# @return [Boolean]
|
|
70
|
+
required :require_confirmation,
|
|
71
|
+
CloudpaymentsRuby::Internal::Type::Boolean,
|
|
72
|
+
api_name: :RequireConfirmation
|
|
73
|
+
|
|
74
|
+
# @!attribute start_date
|
|
75
|
+
# Дата начала (формат /Date(...)/)
|
|
76
|
+
#
|
|
77
|
+
# @return [String]
|
|
78
|
+
required :start_date, String, api_name: :StartDate
|
|
79
|
+
|
|
80
|
+
# @!attribute start_date_iso
|
|
81
|
+
# Дата начала ISO
|
|
82
|
+
#
|
|
83
|
+
# @return [String]
|
|
84
|
+
required :start_date_iso, String, api_name: :StartDateIso
|
|
85
|
+
|
|
86
|
+
# @!attribute status
|
|
87
|
+
# Статус
|
|
88
|
+
#
|
|
89
|
+
# @return [String]
|
|
90
|
+
required :status, String, api_name: :Status
|
|
91
|
+
|
|
92
|
+
# @!attribute status_code
|
|
93
|
+
# Код статуса
|
|
94
|
+
#
|
|
95
|
+
# @return [Integer]
|
|
96
|
+
required :status_code, Integer, api_name: :StatusCode
|
|
97
|
+
|
|
98
|
+
# @!attribute successful_transactions_number
|
|
99
|
+
# Количество успешных транзакций
|
|
100
|
+
#
|
|
101
|
+
# @return [Integer]
|
|
102
|
+
required :successful_transactions_number, Integer, api_name: :SuccessfulTransactionsNumber
|
|
103
|
+
|
|
104
|
+
# @!attribute description
|
|
105
|
+
# Описание платежа
|
|
106
|
+
#
|
|
107
|
+
# @return [String, nil]
|
|
108
|
+
optional :description, String, api_name: :Description
|
|
109
|
+
|
|
110
|
+
# @!attribute email
|
|
111
|
+
# Email плательщика
|
|
112
|
+
#
|
|
113
|
+
# @return [String, nil]
|
|
114
|
+
optional :email, String, api_name: :Email
|
|
115
|
+
|
|
116
|
+
# @!attribute failover_scheme_id
|
|
117
|
+
# ID схемы фейловера
|
|
118
|
+
#
|
|
119
|
+
# @return [String, nil]
|
|
120
|
+
optional :failover_scheme_id, String, api_name: :FailoverSchemeId
|
|
121
|
+
|
|
122
|
+
# @!attribute last_transaction_date
|
|
123
|
+
# Дата последней транзакции
|
|
124
|
+
#
|
|
125
|
+
# @return [String, nil]
|
|
126
|
+
optional :last_transaction_date, String, api_name: :LastTransactionDate
|
|
127
|
+
|
|
128
|
+
# @!attribute last_transaction_date_iso
|
|
129
|
+
# Дата последней транзакции ISO
|
|
130
|
+
#
|
|
131
|
+
# @return [String, nil]
|
|
132
|
+
optional :last_transaction_date_iso, String, api_name: :LastTransactionDateIso
|
|
133
|
+
|
|
134
|
+
# @!attribute max_periods
|
|
135
|
+
# Максимальное количество платежей
|
|
136
|
+
#
|
|
137
|
+
# @return [Integer, nil]
|
|
138
|
+
optional :max_periods, Integer, api_name: :MaxPeriods
|
|
139
|
+
|
|
140
|
+
# @!attribute next_transaction_date
|
|
141
|
+
# Дата следующей транзакции
|
|
142
|
+
#
|
|
143
|
+
# @return [String, nil]
|
|
144
|
+
optional :next_transaction_date, String, api_name: :NextTransactionDate
|
|
145
|
+
|
|
146
|
+
# @!attribute next_transaction_date_iso
|
|
147
|
+
# Дата следующей транзакции ISO
|
|
148
|
+
#
|
|
149
|
+
# @return [String, nil]
|
|
150
|
+
optional :next_transaction_date_iso, String, api_name: :NextTransactionDateIso
|
|
151
|
+
|
|
152
|
+
# @!attribute receipt
|
|
153
|
+
# Данные чека
|
|
154
|
+
#
|
|
155
|
+
# @return [Object, nil]
|
|
156
|
+
optional :receipt, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :Receipt
|
|
157
|
+
|
|
158
|
+
# @!method initialize(account_id:, amount:, culture_name:, currency:, currency_code:, failed_transactions_number:, id:, interval:, interval_code:, period:, require_confirmation:, start_date:, start_date_iso:, status:, status_code:, successful_transactions_number:, description: nil, email: nil, failover_scheme_id: nil, last_transaction_date: nil, last_transaction_date_iso: nil, max_periods: nil, next_transaction_date: nil, next_transaction_date_iso: nil, receipt: nil)
|
|
159
|
+
# Модель подписки на рекуррентные платежи
|
|
160
|
+
#
|
|
161
|
+
# @param account_id [String] Идентификатор пользователя
|
|
162
|
+
#
|
|
163
|
+
# @param amount [Float] Сумма платежа
|
|
164
|
+
#
|
|
165
|
+
# @param culture_name [String] Язык
|
|
166
|
+
#
|
|
167
|
+
# @param currency [String] Валюта
|
|
168
|
+
#
|
|
169
|
+
# @param currency_code [Integer] Код валюты
|
|
170
|
+
#
|
|
171
|
+
# @param failed_transactions_number [Integer] Количество неуспешных транзакций
|
|
172
|
+
#
|
|
173
|
+
# @param id [String] Идентификатор подписки
|
|
174
|
+
#
|
|
175
|
+
# @param interval [String] Интервал
|
|
176
|
+
#
|
|
177
|
+
# @param interval_code [Integer] Код интервала
|
|
178
|
+
#
|
|
179
|
+
# @param period [Integer] Период
|
|
180
|
+
#
|
|
181
|
+
# @param require_confirmation [Boolean] Требуется подтверждение (двухстадийная схема)
|
|
182
|
+
#
|
|
183
|
+
# @param start_date [String] Дата начала (формат /Date(...)/)
|
|
184
|
+
#
|
|
185
|
+
# @param start_date_iso [String] Дата начала ISO
|
|
186
|
+
#
|
|
187
|
+
# @param status [String] Статус
|
|
188
|
+
#
|
|
189
|
+
# @param status_code [Integer] Код статуса
|
|
190
|
+
#
|
|
191
|
+
# @param successful_transactions_number [Integer] Количество успешных транзакций
|
|
192
|
+
#
|
|
193
|
+
# @param description [String] Описание платежа
|
|
194
|
+
#
|
|
195
|
+
# @param email [String] Email плательщика
|
|
196
|
+
#
|
|
197
|
+
# @param failover_scheme_id [String] ID схемы фейловера
|
|
198
|
+
#
|
|
199
|
+
# @param last_transaction_date [String] Дата последней транзакции
|
|
200
|
+
#
|
|
201
|
+
# @param last_transaction_date_iso [String] Дата последней транзакции ISO
|
|
202
|
+
#
|
|
203
|
+
# @param max_periods [Integer] Максимальное количество платежей
|
|
204
|
+
#
|
|
205
|
+
# @param next_transaction_date [String] Дата следующей транзакции
|
|
206
|
+
#
|
|
207
|
+
# @param next_transaction_date_iso [String] Дата следующей транзакции ISO
|
|
208
|
+
#
|
|
209
|
+
# @param receipt [Object] Данные чека
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#cancel
|
|
6
|
+
class SubscriptionCancelParams < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include CloudpaymentsRuby::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute id
|
|
11
|
+
# Идентификатор подписки
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :id, String, api_name: :Id
|
|
15
|
+
|
|
16
|
+
# @!method initialize(id:, request_options: {})
|
|
17
|
+
# @param id [String] Идентификатор подписки
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#cancel
|
|
6
|
+
class SubscriptionCancelResponse < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute success
|
|
8
|
+
# Результат выполнения запроса
|
|
9
|
+
#
|
|
10
|
+
# @return [Boolean]
|
|
11
|
+
required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
|
|
12
|
+
|
|
13
|
+
# @!attribute message
|
|
14
|
+
# Описание ошибки (при наличии)
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :message, String, api_name: :Message
|
|
18
|
+
|
|
19
|
+
# @!method initialize(success:, message: nil)
|
|
20
|
+
# Пустой ответ API (только Success и Message)
|
|
21
|
+
#
|
|
22
|
+
# @param success [Boolean] Результат выполнения запроса
|
|
23
|
+
#
|
|
24
|
+
# @param message [String] Описание ошибки (при наличии)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#create
|
|
6
|
+
class SubscriptionCreateParams < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include CloudpaymentsRuby::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute account_id
|
|
11
|
+
# Идентификатор пользователя
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :account_id, String, api_name: :AccountId
|
|
15
|
+
|
|
16
|
+
# @!attribute amount
|
|
17
|
+
# Сумма платежа
|
|
18
|
+
#
|
|
19
|
+
# @return [Float]
|
|
20
|
+
required :amount, Float, api_name: :Amount
|
|
21
|
+
|
|
22
|
+
# @!attribute currency
|
|
23
|
+
# Валюта
|
|
24
|
+
#
|
|
25
|
+
# @return [String]
|
|
26
|
+
required :currency, String, api_name: :Currency
|
|
27
|
+
|
|
28
|
+
# @!attribute description
|
|
29
|
+
# Описание платежа
|
|
30
|
+
#
|
|
31
|
+
# @return [String]
|
|
32
|
+
required :description, String, api_name: :Description
|
|
33
|
+
|
|
34
|
+
# @!attribute interval
|
|
35
|
+
# Интервал: Day, Week, Month
|
|
36
|
+
#
|
|
37
|
+
# @return [String]
|
|
38
|
+
required :interval, String, api_name: :Interval
|
|
39
|
+
|
|
40
|
+
# @!attribute period
|
|
41
|
+
# Период (в сочетании с Interval)
|
|
42
|
+
#
|
|
43
|
+
# @return [Integer]
|
|
44
|
+
required :period, Integer, api_name: :Period
|
|
45
|
+
|
|
46
|
+
# @!attribute require_confirmation
|
|
47
|
+
# Требуется подтверждение (двухстадийная схема)
|
|
48
|
+
#
|
|
49
|
+
# @return [Boolean]
|
|
50
|
+
required :require_confirmation,
|
|
51
|
+
CloudpaymentsRuby::Internal::Type::Boolean,
|
|
52
|
+
api_name: :RequireConfirmation
|
|
53
|
+
|
|
54
|
+
# @!attribute start_date
|
|
55
|
+
# Дата и время первого платежа (UTC)
|
|
56
|
+
#
|
|
57
|
+
# @return [Time]
|
|
58
|
+
required :start_date, Time, api_name: :StartDate
|
|
59
|
+
|
|
60
|
+
# @!attribute token
|
|
61
|
+
# Токен карты
|
|
62
|
+
#
|
|
63
|
+
# @return [String]
|
|
64
|
+
required :token, String, api_name: :Token
|
|
65
|
+
|
|
66
|
+
# @!attribute customer_receipt
|
|
67
|
+
# Данные для онлайн-чека
|
|
68
|
+
#
|
|
69
|
+
# @return [Object, nil]
|
|
70
|
+
optional :customer_receipt, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :CustomerReceipt
|
|
71
|
+
|
|
72
|
+
# @!attribute email
|
|
73
|
+
# Email плательщика
|
|
74
|
+
#
|
|
75
|
+
# @return [String, nil]
|
|
76
|
+
optional :email, String, api_name: :Email
|
|
77
|
+
|
|
78
|
+
# @!attribute max_periods
|
|
79
|
+
# Максимальное количество платежей
|
|
80
|
+
#
|
|
81
|
+
# @return [Integer, nil]
|
|
82
|
+
optional :max_periods, Integer, api_name: :MaxPeriods
|
|
83
|
+
|
|
84
|
+
# @!method initialize(account_id:, amount:, currency:, description:, interval:, period:, require_confirmation:, start_date:, token:, customer_receipt: nil, email: nil, max_periods: nil, request_options: {})
|
|
85
|
+
# @param account_id [String] Идентификатор пользователя
|
|
86
|
+
#
|
|
87
|
+
# @param amount [Float] Сумма платежа
|
|
88
|
+
#
|
|
89
|
+
# @param currency [String] Валюта
|
|
90
|
+
#
|
|
91
|
+
# @param description [String] Описание платежа
|
|
92
|
+
#
|
|
93
|
+
# @param interval [String] Интервал: Day, Week, Month
|
|
94
|
+
#
|
|
95
|
+
# @param period [Integer] Период (в сочетании с Interval)
|
|
96
|
+
#
|
|
97
|
+
# @param require_confirmation [Boolean] Требуется подтверждение (двухстадийная схема)
|
|
98
|
+
#
|
|
99
|
+
# @param start_date [Time] Дата и время первого платежа (UTC)
|
|
100
|
+
#
|
|
101
|
+
# @param token [String] Токен карты
|
|
102
|
+
#
|
|
103
|
+
# @param customer_receipt [Object] Данные для онлайн-чека
|
|
104
|
+
#
|
|
105
|
+
# @param email [String] Email плательщика
|
|
106
|
+
#
|
|
107
|
+
# @param max_periods [Integer] Максимальное количество платежей
|
|
108
|
+
#
|
|
109
|
+
# @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#create
|
|
6
|
+
class SubscriptionCreateResponse < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute success
|
|
8
|
+
# Результат выполнения запроса
|
|
9
|
+
#
|
|
10
|
+
# @return [Boolean]
|
|
11
|
+
required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
|
|
12
|
+
|
|
13
|
+
# @!attribute message
|
|
14
|
+
# Описание ошибки (при наличии)
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :message, String, api_name: :Message
|
|
18
|
+
|
|
19
|
+
# @!attribute model
|
|
20
|
+
# Модель подписки на рекуррентные платежи
|
|
21
|
+
#
|
|
22
|
+
# @return [CloudpaymentsRuby::Models::Subscription, nil]
|
|
23
|
+
optional :model, -> { CloudpaymentsRuby::Subscription }, api_name: :Model
|
|
24
|
+
|
|
25
|
+
# @!method initialize(success:, message: nil, model: nil)
|
|
26
|
+
# Базовый ответ API
|
|
27
|
+
#
|
|
28
|
+
# @param success [Boolean] Результат выполнения запроса
|
|
29
|
+
#
|
|
30
|
+
# @param message [String] Описание ошибки (при наличии)
|
|
31
|
+
#
|
|
32
|
+
# @param model [CloudpaymentsRuby::Models::Subscription] Модель подписки на рекуррентные платежи
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#find
|
|
6
|
+
class SubscriptionFindParams < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include CloudpaymentsRuby::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute account_id
|
|
11
|
+
# Идентификатор пользователя
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :account_id, String, api_name: :AccountId
|
|
15
|
+
|
|
16
|
+
# @!method initialize(account_id:, request_options: {})
|
|
17
|
+
# @param account_id [String] Идентификатор пользователя
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#find
|
|
6
|
+
class SubscriptionFindResponse < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute success
|
|
8
|
+
# Результат выполнения запроса
|
|
9
|
+
#
|
|
10
|
+
# @return [Boolean]
|
|
11
|
+
required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
|
|
12
|
+
|
|
13
|
+
# @!attribute message
|
|
14
|
+
# Описание ошибки (при наличии)
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :message, String, api_name: :Message
|
|
18
|
+
|
|
19
|
+
# @!attribute model
|
|
20
|
+
# Данные ответа
|
|
21
|
+
#
|
|
22
|
+
# @return [Array<CloudpaymentsRuby::Models::Subscription>, nil]
|
|
23
|
+
optional :model,
|
|
24
|
+
-> { CloudpaymentsRuby::Internal::Type::ArrayOf[CloudpaymentsRuby::Subscription] },
|
|
25
|
+
api_name: :Model
|
|
26
|
+
|
|
27
|
+
# @!method initialize(success:, message: nil, model: nil)
|
|
28
|
+
# Базовый ответ API
|
|
29
|
+
#
|
|
30
|
+
# @param success [Boolean] Результат выполнения запроса
|
|
31
|
+
#
|
|
32
|
+
# @param message [String] Описание ошибки (при наличии)
|
|
33
|
+
#
|
|
34
|
+
# @param model [Array<CloudpaymentsRuby::Models::Subscription>] Данные ответа
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#get
|
|
6
|
+
class SubscriptionGetParams < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include CloudpaymentsRuby::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute id
|
|
11
|
+
# Идентификатор подписки
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :id, String, api_name: :Id
|
|
15
|
+
|
|
16
|
+
# @!method initialize(id:, request_options: {})
|
|
17
|
+
# @param id [String] Идентификатор подписки
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#get
|
|
6
|
+
class SubscriptionGetResponse < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute success
|
|
8
|
+
# Результат выполнения запроса
|
|
9
|
+
#
|
|
10
|
+
# @return [Boolean]
|
|
11
|
+
required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
|
|
12
|
+
|
|
13
|
+
# @!attribute message
|
|
14
|
+
# Описание ошибки (при наличии)
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :message, String, api_name: :Message
|
|
18
|
+
|
|
19
|
+
# @!attribute model
|
|
20
|
+
# Модель подписки на рекуррентные платежи
|
|
21
|
+
#
|
|
22
|
+
# @return [CloudpaymentsRuby::Models::Subscription, nil]
|
|
23
|
+
optional :model, -> { CloudpaymentsRuby::Subscription }, api_name: :Model
|
|
24
|
+
|
|
25
|
+
# @!method initialize(success:, message: nil, model: nil)
|
|
26
|
+
# Базовый ответ API
|
|
27
|
+
#
|
|
28
|
+
# @param success [Boolean] Результат выполнения запроса
|
|
29
|
+
#
|
|
30
|
+
# @param message [String] Описание ошибки (при наличии)
|
|
31
|
+
#
|
|
32
|
+
# @param model [CloudpaymentsRuby::Models::Subscription] Модель подписки на рекуррентные платежи
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#update
|
|
6
|
+
class SubscriptionUpdateParams < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include CloudpaymentsRuby::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute id
|
|
11
|
+
# Идентификатор подписки
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :id, String, api_name: :Id
|
|
15
|
+
|
|
16
|
+
# @!attribute amount
|
|
17
|
+
# Сумма платежа
|
|
18
|
+
#
|
|
19
|
+
# @return [Float, nil]
|
|
20
|
+
optional :amount, Float, api_name: :Amount
|
|
21
|
+
|
|
22
|
+
# @!attribute culture_name
|
|
23
|
+
# Язык уведомлений (ru-RU, en-US)
|
|
24
|
+
#
|
|
25
|
+
# @return [String, nil]
|
|
26
|
+
optional :culture_name, String, api_name: :CultureName
|
|
27
|
+
|
|
28
|
+
# @!attribute currency
|
|
29
|
+
# Валюта
|
|
30
|
+
#
|
|
31
|
+
# @return [String, nil]
|
|
32
|
+
optional :currency, String, api_name: :Currency
|
|
33
|
+
|
|
34
|
+
# @!attribute customer_receipt
|
|
35
|
+
# Данные для онлайн-чека
|
|
36
|
+
#
|
|
37
|
+
# @return [Object, nil]
|
|
38
|
+
optional :customer_receipt, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :CustomerReceipt
|
|
39
|
+
|
|
40
|
+
# @!attribute description
|
|
41
|
+
# Описание платежа
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :description, String, api_name: :Description
|
|
45
|
+
|
|
46
|
+
# @!attribute interval
|
|
47
|
+
# Интервал: Day, Week, Month
|
|
48
|
+
#
|
|
49
|
+
# @return [String, nil]
|
|
50
|
+
optional :interval, String, api_name: :Interval
|
|
51
|
+
|
|
52
|
+
# @!attribute max_periods
|
|
53
|
+
# Максимальное количество платежей
|
|
54
|
+
#
|
|
55
|
+
# @return [Integer, nil]
|
|
56
|
+
optional :max_periods, Integer, api_name: :MaxPeriods
|
|
57
|
+
|
|
58
|
+
# @!attribute period
|
|
59
|
+
# Период
|
|
60
|
+
#
|
|
61
|
+
# @return [Integer, nil]
|
|
62
|
+
optional :period, Integer, api_name: :Period
|
|
63
|
+
|
|
64
|
+
# @!attribute require_confirmation
|
|
65
|
+
# Требуется подтверждение
|
|
66
|
+
#
|
|
67
|
+
# @return [Boolean, nil]
|
|
68
|
+
optional :require_confirmation,
|
|
69
|
+
CloudpaymentsRuby::Internal::Type::Boolean,
|
|
70
|
+
api_name: :RequireConfirmation
|
|
71
|
+
|
|
72
|
+
# @!attribute start_date
|
|
73
|
+
# Дата и время следующего платежа (UTC)
|
|
74
|
+
#
|
|
75
|
+
# @return [Time, nil]
|
|
76
|
+
optional :start_date, Time, api_name: :StartDate
|
|
77
|
+
|
|
78
|
+
# @!method initialize(id:, amount: nil, culture_name: nil, currency: nil, customer_receipt: nil, description: nil, interval: nil, max_periods: nil, period: nil, require_confirmation: nil, start_date: nil, request_options: {})
|
|
79
|
+
# @param id [String] Идентификатор подписки
|
|
80
|
+
#
|
|
81
|
+
# @param amount [Float] Сумма платежа
|
|
82
|
+
#
|
|
83
|
+
# @param culture_name [String] Язык уведомлений (ru-RU, en-US)
|
|
84
|
+
#
|
|
85
|
+
# @param currency [String] Валюта
|
|
86
|
+
#
|
|
87
|
+
# @param customer_receipt [Object] Данные для онлайн-чека
|
|
88
|
+
#
|
|
89
|
+
# @param description [String] Описание платежа
|
|
90
|
+
#
|
|
91
|
+
# @param interval [String] Интервал: Day, Week, Month
|
|
92
|
+
#
|
|
93
|
+
# @param max_periods [Integer] Максимальное количество платежей
|
|
94
|
+
#
|
|
95
|
+
# @param period [Integer] Период
|
|
96
|
+
#
|
|
97
|
+
# @param require_confirmation [Boolean] Требуется подтверждение
|
|
98
|
+
#
|
|
99
|
+
# @param start_date [Time] Дата и время следующего платежа (UTC)
|
|
100
|
+
#
|
|
101
|
+
# @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CloudpaymentsRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see CloudpaymentsRuby::Resources::Subscriptions#update
|
|
6
|
+
class SubscriptionUpdateResponse < CloudpaymentsRuby::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute success
|
|
8
|
+
# Результат выполнения запроса
|
|
9
|
+
#
|
|
10
|
+
# @return [Boolean]
|
|
11
|
+
required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
|
|
12
|
+
|
|
13
|
+
# @!attribute message
|
|
14
|
+
# Описание ошибки (при наличии)
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :message, String, api_name: :Message
|
|
18
|
+
|
|
19
|
+
# @!attribute model
|
|
20
|
+
# Модель подписки на рекуррентные платежи
|
|
21
|
+
#
|
|
22
|
+
# @return [CloudpaymentsRuby::Models::Subscription, nil]
|
|
23
|
+
optional :model, -> { CloudpaymentsRuby::Subscription }, api_name: :Model
|
|
24
|
+
|
|
25
|
+
# @!method initialize(success:, message: nil, model: nil)
|
|
26
|
+
# Базовый ответ API
|
|
27
|
+
#
|
|
28
|
+
# @param success [Boolean] Результат выполнения запроса
|
|
29
|
+
#
|
|
30
|
+
# @param message [String] Описание ошибки (при наличии)
|
|
31
|
+
#
|
|
32
|
+
# @param model [CloudpaymentsRuby::Models::Subscription] Модель подписки на рекуррентные платежи
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|