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.
Files changed (179) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +50 -0
  4. data/README.md +250 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/cloudpayments_ruby/client.rb +93 -0
  7. data/lib/cloudpayments_ruby/errors.rb +228 -0
  8. data/lib/cloudpayments_ruby/file_part.rb +58 -0
  9. data/lib/cloudpayments_ruby/internal/transport/base_client.rb +579 -0
  10. data/lib/cloudpayments_ruby/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/cloudpayments_ruby/internal/type/array_of.rb +168 -0
  12. data/lib/cloudpayments_ruby/internal/type/base_model.rb +536 -0
  13. data/lib/cloudpayments_ruby/internal/type/base_page.rb +55 -0
  14. data/lib/cloudpayments_ruby/internal/type/boolean.rb +77 -0
  15. data/lib/cloudpayments_ruby/internal/type/converter.rb +327 -0
  16. data/lib/cloudpayments_ruby/internal/type/enum.rb +133 -0
  17. data/lib/cloudpayments_ruby/internal/type/file_input.rb +111 -0
  18. data/lib/cloudpayments_ruby/internal/type/hash_of.rb +188 -0
  19. data/lib/cloudpayments_ruby/internal/type/request_parameters.rb +42 -0
  20. data/lib/cloudpayments_ruby/internal/type/union.rb +256 -0
  21. data/lib/cloudpayments_ruby/internal/type/unknown.rb +81 -0
  22. data/lib/cloudpayments_ruby/internal/util.rb +920 -0
  23. data/lib/cloudpayments_ruby/internal.rb +20 -0
  24. data/lib/cloudpayments_ruby/models/order_cancel_params.rb +22 -0
  25. data/lib/cloudpayments_ruby/models/order_cancel_response.rb +27 -0
  26. data/lib/cloudpayments_ruby/models/order_create_params.rb +152 -0
  27. data/lib/cloudpayments_ruby/models/order_create_response.rb +187 -0
  28. data/lib/cloudpayments_ruby/models/payment_auth_params.rb +211 -0
  29. data/lib/cloudpayments_ruby/models/payment_auth_response.rb +167 -0
  30. data/lib/cloudpayments_ruby/models/payment_charge_params.rb +211 -0
  31. data/lib/cloudpayments_ruby/models/payment_charge_response.rb +167 -0
  32. data/lib/cloudpayments_ruby/models/payment_confirm_params.rb +38 -0
  33. data/lib/cloudpayments_ruby/models/payment_confirm_response.rb +27 -0
  34. data/lib/cloudpayments_ruby/models/payment_post3ds_params.rb +30 -0
  35. data/lib/cloudpayments_ruby/models/payment_post3ds_response.rb +35 -0
  36. data/lib/cloudpayments_ruby/models/payment_refund_params.rb +38 -0
  37. data/lib/cloudpayments_ruby/models/payment_refund_response.rb +49 -0
  38. data/lib/cloudpayments_ruby/models/payment_void_params.rb +22 -0
  39. data/lib/cloudpayments_ruby/models/payment_void_response.rb +27 -0
  40. data/lib/cloudpayments_ruby/models/payments/token_auth_params.rb +197 -0
  41. data/lib/cloudpayments_ruby/models/payments/token_auth_response.rb +37 -0
  42. data/lib/cloudpayments_ruby/models/payments/token_charge_params.rb +197 -0
  43. data/lib/cloudpayments_ruby/models/payments/token_charge_response.rb +37 -0
  44. data/lib/cloudpayments_ruby/models/subscription.rb +212 -0
  45. data/lib/cloudpayments_ruby/models/subscription_cancel_params.rb +22 -0
  46. data/lib/cloudpayments_ruby/models/subscription_cancel_response.rb +27 -0
  47. data/lib/cloudpayments_ruby/models/subscription_create_params.rb +112 -0
  48. data/lib/cloudpayments_ruby/models/subscription_create_response.rb +35 -0
  49. data/lib/cloudpayments_ruby/models/subscription_find_params.rb +22 -0
  50. data/lib/cloudpayments_ruby/models/subscription_find_response.rb +37 -0
  51. data/lib/cloudpayments_ruby/models/subscription_get_params.rb +22 -0
  52. data/lib/cloudpayments_ruby/models/subscription_get_response.rb +35 -0
  53. data/lib/cloudpayments_ruby/models/subscription_update_params.rb +104 -0
  54. data/lib/cloudpayments_ruby/models/subscription_update_response.rb +35 -0
  55. data/lib/cloudpayments_ruby/models/transaction.rb +492 -0
  56. data/lib/cloudpayments_ruby/models.rb +76 -0
  57. data/lib/cloudpayments_ruby/request_options.rb +79 -0
  58. data/lib/cloudpayments_ruby/resources/orders.rb +95 -0
  59. data/lib/cloudpayments_ruby/resources/payments/tokens.rb +110 -0
  60. data/lib/cloudpayments_ruby/resources/payments.rb +232 -0
  61. data/lib/cloudpayments_ruby/resources/subscriptions.rb +178 -0
  62. data/lib/cloudpayments_ruby/version.rb +5 -0
  63. data/lib/cloudpayments_ruby.rb +91 -0
  64. data/manifest.yaml +17 -0
  65. data/rbi/cloudpayments_ruby/client.rbi +61 -0
  66. data/rbi/cloudpayments_ruby/errors.rbi +205 -0
  67. data/rbi/cloudpayments_ruby/file_part.rbi +37 -0
  68. data/rbi/cloudpayments_ruby/internal/transport/base_client.rbi +310 -0
  69. data/rbi/cloudpayments_ruby/internal/transport/pooled_net_requester.rbi +84 -0
  70. data/rbi/cloudpayments_ruby/internal/type/array_of.rbi +108 -0
  71. data/rbi/cloudpayments_ruby/internal/type/base_model.rbi +316 -0
  72. data/rbi/cloudpayments_ruby/internal/type/base_page.rbi +43 -0
  73. data/rbi/cloudpayments_ruby/internal/type/boolean.rbi +58 -0
  74. data/rbi/cloudpayments_ruby/internal/type/converter.rbi +225 -0
  75. data/rbi/cloudpayments_ruby/internal/type/enum.rbi +82 -0
  76. data/rbi/cloudpayments_ruby/internal/type/file_input.rbi +59 -0
  77. data/rbi/cloudpayments_ruby/internal/type/hash_of.rbi +108 -0
  78. data/rbi/cloudpayments_ruby/internal/type/request_parameters.rbi +33 -0
  79. data/rbi/cloudpayments_ruby/internal/type/union.rbi +134 -0
  80. data/rbi/cloudpayments_ruby/internal/type/unknown.rbi +58 -0
  81. data/rbi/cloudpayments_ruby/internal/util.rbi +487 -0
  82. data/rbi/cloudpayments_ruby/internal.rbi +18 -0
  83. data/rbi/cloudpayments_ruby/models/order_cancel_params.rbi +43 -0
  84. data/rbi/cloudpayments_ruby/models/order_cancel_response.rbi +42 -0
  85. data/rbi/cloudpayments_ruby/models/order_create_params.rbi +219 -0
  86. data/rbi/cloudpayments_ruby/models/order_create_response.rbi +255 -0
  87. data/rbi/cloudpayments_ruby/models/payment_auth_params.rbi +323 -0
  88. data/rbi/cloudpayments_ruby/models/payment_auth_response.rbi +278 -0
  89. data/rbi/cloudpayments_ruby/models/payment_charge_params.rbi +325 -0
  90. data/rbi/cloudpayments_ruby/models/payment_charge_response.rbi +278 -0
  91. data/rbi/cloudpayments_ruby/models/payment_confirm_params.rbi +65 -0
  92. data/rbi/cloudpayments_ruby/models/payment_confirm_response.rbi +42 -0
  93. data/rbi/cloudpayments_ruby/models/payment_post3ds_params.rbi +54 -0
  94. data/rbi/cloudpayments_ruby/models/payment_post3ds_response.rbi +63 -0
  95. data/rbi/cloudpayments_ruby/models/payment_refund_params.rbi +65 -0
  96. data/rbi/cloudpayments_ruby/models/payment_refund_response.rbi +97 -0
  97. data/rbi/cloudpayments_ruby/models/payment_void_params.rbi +46 -0
  98. data/rbi/cloudpayments_ruby/models/payment_void_response.rbi +42 -0
  99. data/rbi/cloudpayments_ruby/models/payments/token_auth_params.rbi +306 -0
  100. data/rbi/cloudpayments_ruby/models/payments/token_auth_response.rbi +65 -0
  101. data/rbi/cloudpayments_ruby/models/payments/token_charge_params.rbi +307 -0
  102. data/rbi/cloudpayments_ruby/models/payments/token_charge_response.rbi +65 -0
  103. data/rbi/cloudpayments_ruby/models/subscription.rbi +260 -0
  104. data/rbi/cloudpayments_ruby/models/subscription_cancel_params.rbi +43 -0
  105. data/rbi/cloudpayments_ruby/models/subscription_cancel_response.rbi +42 -0
  106. data/rbi/cloudpayments_ruby/models/subscription_create_params.rbi +143 -0
  107. data/rbi/cloudpayments_ruby/models/subscription_create_response.rbi +63 -0
  108. data/rbi/cloudpayments_ruby/models/subscription_find_params.rbi +46 -0
  109. data/rbi/cloudpayments_ruby/models/subscription_find_response.rbi +65 -0
  110. data/rbi/cloudpayments_ruby/models/subscription_get_params.rbi +43 -0
  111. data/rbi/cloudpayments_ruby/models/subscription_get_response.rbi +63 -0
  112. data/rbi/cloudpayments_ruby/models/subscription_update_params.rbi +156 -0
  113. data/rbi/cloudpayments_ruby/models/subscription_update_response.rbi +63 -0
  114. data/rbi/cloudpayments_ruby/models/transaction.rbi +594 -0
  115. data/rbi/cloudpayments_ruby/models.rbi +35 -0
  116. data/rbi/cloudpayments_ruby/request_options.rbi +64 -0
  117. data/rbi/cloudpayments_ruby/resources/orders.rbi +95 -0
  118. data/rbi/cloudpayments_ruby/resources/payments/tokens.rbi +117 -0
  119. data/rbi/cloudpayments_ruby/resources/payments.rbi +214 -0
  120. data/rbi/cloudpayments_ruby/resources/subscriptions.rbi +159 -0
  121. data/rbi/cloudpayments_ruby/version.rbi +5 -0
  122. data/sig/cloudpayments_ruby/client.rbs +33 -0
  123. data/sig/cloudpayments_ruby/errors.rbs +117 -0
  124. data/sig/cloudpayments_ruby/file_part.rbs +21 -0
  125. data/sig/cloudpayments_ruby/internal/transport/base_client.rbs +133 -0
  126. data/sig/cloudpayments_ruby/internal/transport/pooled_net_requester.rbs +48 -0
  127. data/sig/cloudpayments_ruby/internal/type/array_of.rbs +48 -0
  128. data/sig/cloudpayments_ruby/internal/type/base_model.rbs +106 -0
  129. data/sig/cloudpayments_ruby/internal/type/base_page.rbs +24 -0
  130. data/sig/cloudpayments_ruby/internal/type/boolean.rbs +26 -0
  131. data/sig/cloudpayments_ruby/internal/type/converter.rbs +79 -0
  132. data/sig/cloudpayments_ruby/internal/type/enum.rbs +32 -0
  133. data/sig/cloudpayments_ruby/internal/type/file_input.rbs +25 -0
  134. data/sig/cloudpayments_ruby/internal/type/hash_of.rbs +48 -0
  135. data/sig/cloudpayments_ruby/internal/type/request_parameters.rbs +20 -0
  136. data/sig/cloudpayments_ruby/internal/type/union.rbs +52 -0
  137. data/sig/cloudpayments_ruby/internal/type/unknown.rbs +26 -0
  138. data/sig/cloudpayments_ruby/internal/util.rbs +185 -0
  139. data/sig/cloudpayments_ruby/internal.rbs +10 -0
  140. data/sig/cloudpayments_ruby/models/order_cancel_params.rbs +23 -0
  141. data/sig/cloudpayments_ruby/models/order_cancel_response.rbs +17 -0
  142. data/sig/cloudpayments_ruby/models/order_create_params.rbs +136 -0
  143. data/sig/cloudpayments_ruby/models/order_create_response.rbs +146 -0
  144. data/sig/cloudpayments_ruby/models/payment_auth_params.rbs +197 -0
  145. data/sig/cloudpayments_ruby/models/payment_auth_response.rbs +151 -0
  146. data/sig/cloudpayments_ruby/models/payment_charge_params.rbs +197 -0
  147. data/sig/cloudpayments_ruby/models/payment_charge_response.rbs +151 -0
  148. data/sig/cloudpayments_ruby/models/payment_confirm_params.rbs +34 -0
  149. data/sig/cloudpayments_ruby/models/payment_confirm_response.rbs +17 -0
  150. data/sig/cloudpayments_ruby/models/payment_post3ds_params.rbs +28 -0
  151. data/sig/cloudpayments_ruby/models/payment_post3ds_response.rbs +32 -0
  152. data/sig/cloudpayments_ruby/models/payment_refund_params.rbs +34 -0
  153. data/sig/cloudpayments_ruby/models/payment_refund_response.rbs +46 -0
  154. data/sig/cloudpayments_ruby/models/payment_void_params.rbs +24 -0
  155. data/sig/cloudpayments_ruby/models/payment_void_response.rbs +17 -0
  156. data/sig/cloudpayments_ruby/models/payments/token_auth_params.rbs +183 -0
  157. data/sig/cloudpayments_ruby/models/payments/token_auth_response.rbs +38 -0
  158. data/sig/cloudpayments_ruby/models/payments/token_charge_params.rbs +183 -0
  159. data/sig/cloudpayments_ruby/models/payments/token_charge_response.rbs +38 -0
  160. data/sig/cloudpayments_ruby/models/subscription.rbs +158 -0
  161. data/sig/cloudpayments_ruby/models/subscription_cancel_params.rbs +23 -0
  162. data/sig/cloudpayments_ruby/models/subscription_cancel_response.rbs +17 -0
  163. data/sig/cloudpayments_ruby/models/subscription_create_params.rbs +87 -0
  164. data/sig/cloudpayments_ruby/models/subscription_create_response.rbs +32 -0
  165. data/sig/cloudpayments_ruby/models/subscription_find_params.rbs +24 -0
  166. data/sig/cloudpayments_ruby/models/subscription_find_response.rbs +36 -0
  167. data/sig/cloudpayments_ruby/models/subscription_get_params.rbs +23 -0
  168. data/sig/cloudpayments_ruby/models/subscription_get_response.rbs +32 -0
  169. data/sig/cloudpayments_ruby/models/subscription_update_params.rbs +96 -0
  170. data/sig/cloudpayments_ruby/models/subscription_update_response.rbs +32 -0
  171. data/sig/cloudpayments_ruby/models/transaction.rbs +369 -0
  172. data/sig/cloudpayments_ruby/models.rbs +33 -0
  173. data/sig/cloudpayments_ruby/request_options.rbs +36 -0
  174. data/sig/cloudpayments_ruby/resources/orders.rbs +33 -0
  175. data/sig/cloudpayments_ruby/resources/payments/tokens.rbs +41 -0
  176. data/sig/cloudpayments_ruby/resources/payments.rbs +70 -0
  177. data/sig/cloudpayments_ruby/resources/subscriptions.rbs +53 -0
  178. data/sig/cloudpayments_ruby/version.rbs +3 -0
  179. metadata +250 -0
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ module Payments
6
+ class TokenAuthResponse < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ CloudpaymentsRuby::Models::Payments::TokenAuthResponse,
11
+ CloudpaymentsRuby::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Результат выполнения запроса
16
+ sig { returns(T::Boolean) }
17
+ attr_accessor :success
18
+
19
+ # Описание ошибки (при наличии)
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :message
22
+
23
+ sig { params(message: String).void }
24
+ attr_writer :message
25
+
26
+ # Модель транзакции в ответе API
27
+ sig { returns(T.nilable(CloudpaymentsRuby::Transaction)) }
28
+ attr_reader :model
29
+
30
+ sig { params(model: CloudpaymentsRuby::Transaction::OrHash).void }
31
+ attr_writer :model
32
+
33
+ # Базовый ответ API
34
+ sig do
35
+ params(
36
+ success: T::Boolean,
37
+ message: String,
38
+ model: CloudpaymentsRuby::Transaction::OrHash
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # Результат выполнения запроса
43
+ success:,
44
+ # Описание ошибки (при наличии)
45
+ message: nil,
46
+ # Модель транзакции в ответе API
47
+ model: nil
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ success: T::Boolean,
55
+ message: String,
56
+ model: CloudpaymentsRuby::Transaction
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,307 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ module Payments
6
+ class TokenChargeParams < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
8
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ CloudpaymentsRuby::Payments::TokenChargeParams,
14
+ CloudpaymentsRuby::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Идентификатор пользователя
19
+ sig { returns(String) }
20
+ attr_accessor :account_id
21
+
22
+ # Сумма платежа (до 2 знаков после точки)
23
+ sig { returns(Float) }
24
+ attr_accessor :amount
25
+
26
+ # Токен карты
27
+ sig { returns(String) }
28
+ attr_accessor :token
29
+
30
+ # Признак инициатора транзакции: 0 — мерчант, 1 — держатель карты
31
+ sig { returns(Integer) }
32
+ attr_accessor :tr_initiator_code
33
+
34
+ # Валюта (RUB по умолчанию)
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :currency
37
+
38
+ sig { params(currency: String).void }
39
+ attr_writer :currency
40
+
41
+ # Описание платежа
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :description
44
+
45
+ sig { params(description: String).void }
46
+ attr_writer :description
47
+
48
+ # Email плательщика
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :email
51
+
52
+ sig { params(email: String).void }
53
+ attr_writer :email
54
+
55
+ # Номер заказа
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :invoice_id
58
+
59
+ sig { params(invoice_id: String).void }
60
+ attr_writer :invoice_id
61
+
62
+ # IP-адрес плательщика
63
+ sig { returns(T.nilable(String)) }
64
+ attr_reader :ip_address
65
+
66
+ sig { params(ip_address: String).void }
67
+ attr_writer :ip_address
68
+
69
+ # Дополнительные данные (JSON)
70
+ sig { returns(T.nilable(T.anything)) }
71
+ attr_reader :json_data
72
+
73
+ sig { params(json_data: T.anything).void }
74
+ attr_writer :json_data
75
+
76
+ # Информация о плательщике
77
+ sig do
78
+ returns(
79
+ T.nilable(CloudpaymentsRuby::Payments::TokenChargeParams::Payer)
80
+ )
81
+ end
82
+ attr_reader :payer
83
+
84
+ sig do
85
+ params(
86
+ payer: CloudpaymentsRuby::Payments::TokenChargeParams::Payer::OrHash
87
+ ).void
88
+ end
89
+ attr_writer :payer
90
+
91
+ # Признак регулярного платежа: 0 — нет, 1 — да
92
+ sig { returns(T.nilable(Integer)) }
93
+ attr_reader :payment_scheduled
94
+
95
+ sig { params(payment_scheduled: Integer).void }
96
+ attr_writer :payment_scheduled
97
+
98
+ sig do
99
+ params(
100
+ account_id: String,
101
+ amount: Float,
102
+ token: String,
103
+ tr_initiator_code: Integer,
104
+ currency: String,
105
+ description: String,
106
+ email: String,
107
+ invoice_id: String,
108
+ ip_address: String,
109
+ json_data: T.anything,
110
+ payer:
111
+ CloudpaymentsRuby::Payments::TokenChargeParams::Payer::OrHash,
112
+ payment_scheduled: Integer,
113
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ # Идентификатор пользователя
118
+ account_id:,
119
+ # Сумма платежа (до 2 знаков после точки)
120
+ amount:,
121
+ # Токен карты
122
+ token:,
123
+ # Признак инициатора транзакции: 0 — мерчант, 1 — держатель карты
124
+ tr_initiator_code:,
125
+ # Валюта (RUB по умолчанию)
126
+ currency: nil,
127
+ # Описание платежа
128
+ description: nil,
129
+ # Email плательщика
130
+ email: nil,
131
+ # Номер заказа
132
+ invoice_id: nil,
133
+ # IP-адрес плательщика
134
+ ip_address: nil,
135
+ # Дополнительные данные (JSON)
136
+ json_data: nil,
137
+ # Информация о плательщике
138
+ payer: nil,
139
+ # Признак регулярного платежа: 0 — нет, 1 — да
140
+ payment_scheduled: nil,
141
+ request_options: {}
142
+ )
143
+ end
144
+
145
+ sig do
146
+ override.returns(
147
+ {
148
+ account_id: String,
149
+ amount: Float,
150
+ token: String,
151
+ tr_initiator_code: Integer,
152
+ currency: String,
153
+ description: String,
154
+ email: String,
155
+ invoice_id: String,
156
+ ip_address: String,
157
+ json_data: T.anything,
158
+ payer: CloudpaymentsRuby::Payments::TokenChargeParams::Payer,
159
+ payment_scheduled: Integer,
160
+ request_options: CloudpaymentsRuby::RequestOptions
161
+ }
162
+ )
163
+ end
164
+ def to_hash
165
+ end
166
+
167
+ class Payer < CloudpaymentsRuby::Internal::Type::BaseModel
168
+ OrHash =
169
+ T.type_alias do
170
+ T.any(
171
+ CloudpaymentsRuby::Payments::TokenChargeParams::Payer,
172
+ CloudpaymentsRuby::Internal::AnyHash
173
+ )
174
+ end
175
+
176
+ # Адрес
177
+ sig { returns(T.nilable(String)) }
178
+ attr_reader :address
179
+
180
+ sig { params(address: String).void }
181
+ attr_writer :address
182
+
183
+ # Дата рождения (YYYY-MM-DD)
184
+ sig { returns(T.nilable(String)) }
185
+ attr_reader :birth
186
+
187
+ sig { params(birth: String).void }
188
+ attr_writer :birth
189
+
190
+ # Город
191
+ sig { returns(T.nilable(String)) }
192
+ attr_reader :city
193
+
194
+ sig { params(city: String).void }
195
+ attr_writer :city
196
+
197
+ # Страна (код ISO)
198
+ sig { returns(T.nilable(String)) }
199
+ attr_reader :country
200
+
201
+ sig { params(country: String).void }
202
+ attr_writer :country
203
+
204
+ # Имя
205
+ sig { returns(T.nilable(String)) }
206
+ attr_reader :first_name
207
+
208
+ sig { params(first_name: String).void }
209
+ attr_writer :first_name
210
+
211
+ # Фамилия
212
+ sig { returns(T.nilable(String)) }
213
+ attr_reader :last_name
214
+
215
+ sig { params(last_name: String).void }
216
+ attr_writer :last_name
217
+
218
+ # Отчество
219
+ sig { returns(T.nilable(String)) }
220
+ attr_reader :middle_name
221
+
222
+ sig { params(middle_name: String).void }
223
+ attr_writer :middle_name
224
+
225
+ # Телефон
226
+ sig { returns(T.nilable(String)) }
227
+ attr_reader :phone
228
+
229
+ sig { params(phone: String).void }
230
+ attr_writer :phone
231
+
232
+ # Почтовый индекс
233
+ sig { returns(T.nilable(String)) }
234
+ attr_reader :postcode
235
+
236
+ sig { params(postcode: String).void }
237
+ attr_writer :postcode
238
+
239
+ # Улица
240
+ sig { returns(T.nilable(String)) }
241
+ attr_reader :street
242
+
243
+ sig { params(street: String).void }
244
+ attr_writer :street
245
+
246
+ # Информация о плательщике
247
+ sig do
248
+ params(
249
+ address: String,
250
+ birth: String,
251
+ city: String,
252
+ country: String,
253
+ first_name: String,
254
+ last_name: String,
255
+ middle_name: String,
256
+ phone: String,
257
+ postcode: String,
258
+ street: String
259
+ ).returns(T.attached_class)
260
+ end
261
+ def self.new(
262
+ # Адрес
263
+ address: nil,
264
+ # Дата рождения (YYYY-MM-DD)
265
+ birth: nil,
266
+ # Город
267
+ city: nil,
268
+ # Страна (код ISO)
269
+ country: nil,
270
+ # Имя
271
+ first_name: nil,
272
+ # Фамилия
273
+ last_name: nil,
274
+ # Отчество
275
+ middle_name: nil,
276
+ # Телефон
277
+ phone: nil,
278
+ # Почтовый индекс
279
+ postcode: nil,
280
+ # Улица
281
+ street: nil
282
+ )
283
+ end
284
+
285
+ sig do
286
+ override.returns(
287
+ {
288
+ address: String,
289
+ birth: String,
290
+ city: String,
291
+ country: String,
292
+ first_name: String,
293
+ last_name: String,
294
+ middle_name: String,
295
+ phone: String,
296
+ postcode: String,
297
+ street: String
298
+ }
299
+ )
300
+ end
301
+ def to_hash
302
+ end
303
+ end
304
+ end
305
+ end
306
+ end
307
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ module Payments
6
+ class TokenChargeResponse < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ CloudpaymentsRuby::Models::Payments::TokenChargeResponse,
11
+ CloudpaymentsRuby::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Результат выполнения запроса
16
+ sig { returns(T::Boolean) }
17
+ attr_accessor :success
18
+
19
+ # Описание ошибки (при наличии)
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :message
22
+
23
+ sig { params(message: String).void }
24
+ attr_writer :message
25
+
26
+ # Модель транзакции в ответе API
27
+ sig { returns(T.nilable(CloudpaymentsRuby::Transaction)) }
28
+ attr_reader :model
29
+
30
+ sig { params(model: CloudpaymentsRuby::Transaction::OrHash).void }
31
+ attr_writer :model
32
+
33
+ # Базовый ответ API
34
+ sig do
35
+ params(
36
+ success: T::Boolean,
37
+ message: String,
38
+ model: CloudpaymentsRuby::Transaction::OrHash
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # Результат выполнения запроса
43
+ success:,
44
+ # Описание ошибки (при наличии)
45
+ message: nil,
46
+ # Модель транзакции в ответе API
47
+ model: nil
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ success: T::Boolean,
55
+ message: String,
56
+ model: CloudpaymentsRuby::Transaction
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,260 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class Subscription < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ CloudpaymentsRuby::Subscription,
10
+ CloudpaymentsRuby::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Идентификатор пользователя
15
+ sig { returns(String) }
16
+ attr_accessor :account_id
17
+
18
+ # Сумма платежа
19
+ sig { returns(Float) }
20
+ attr_accessor :amount
21
+
22
+ # Язык
23
+ sig { returns(String) }
24
+ attr_accessor :culture_name
25
+
26
+ # Валюта
27
+ sig { returns(String) }
28
+ attr_accessor :currency
29
+
30
+ # Код валюты
31
+ sig { returns(Integer) }
32
+ attr_accessor :currency_code
33
+
34
+ # Количество неуспешных транзакций
35
+ sig { returns(Integer) }
36
+ attr_accessor :failed_transactions_number
37
+
38
+ # Идентификатор подписки
39
+ sig { returns(String) }
40
+ attr_accessor :id
41
+
42
+ # Интервал
43
+ sig { returns(String) }
44
+ attr_accessor :interval
45
+
46
+ # Код интервала
47
+ sig { returns(Integer) }
48
+ attr_accessor :interval_code
49
+
50
+ # Период
51
+ sig { returns(Integer) }
52
+ attr_accessor :period
53
+
54
+ # Требуется подтверждение (двухстадийная схема)
55
+ sig { returns(T::Boolean) }
56
+ attr_accessor :require_confirmation
57
+
58
+ # Дата начала (формат /Date(...)/)
59
+ sig { returns(String) }
60
+ attr_accessor :start_date
61
+
62
+ # Дата начала ISO
63
+ sig { returns(String) }
64
+ attr_accessor :start_date_iso
65
+
66
+ # Статус
67
+ sig { returns(String) }
68
+ attr_accessor :status
69
+
70
+ # Код статуса
71
+ sig { returns(Integer) }
72
+ attr_accessor :status_code
73
+
74
+ # Количество успешных транзакций
75
+ sig { returns(Integer) }
76
+ attr_accessor :successful_transactions_number
77
+
78
+ # Описание платежа
79
+ sig { returns(T.nilable(String)) }
80
+ attr_reader :description
81
+
82
+ sig { params(description: String).void }
83
+ attr_writer :description
84
+
85
+ # Email плательщика
86
+ sig { returns(T.nilable(String)) }
87
+ attr_reader :email
88
+
89
+ sig { params(email: String).void }
90
+ attr_writer :email
91
+
92
+ # ID схемы фейловера
93
+ sig { returns(T.nilable(String)) }
94
+ attr_reader :failover_scheme_id
95
+
96
+ sig { params(failover_scheme_id: String).void }
97
+ attr_writer :failover_scheme_id
98
+
99
+ # Дата последней транзакции
100
+ sig { returns(T.nilable(String)) }
101
+ attr_reader :last_transaction_date
102
+
103
+ sig { params(last_transaction_date: String).void }
104
+ attr_writer :last_transaction_date
105
+
106
+ # Дата последней транзакции ISO
107
+ sig { returns(T.nilable(String)) }
108
+ attr_reader :last_transaction_date_iso
109
+
110
+ sig { params(last_transaction_date_iso: String).void }
111
+ attr_writer :last_transaction_date_iso
112
+
113
+ # Максимальное количество платежей
114
+ sig { returns(T.nilable(Integer)) }
115
+ attr_reader :max_periods
116
+
117
+ sig { params(max_periods: Integer).void }
118
+ attr_writer :max_periods
119
+
120
+ # Дата следующей транзакции
121
+ sig { returns(T.nilable(String)) }
122
+ attr_reader :next_transaction_date
123
+
124
+ sig { params(next_transaction_date: String).void }
125
+ attr_writer :next_transaction_date
126
+
127
+ # Дата следующей транзакции ISO
128
+ sig { returns(T.nilable(String)) }
129
+ attr_reader :next_transaction_date_iso
130
+
131
+ sig { params(next_transaction_date_iso: String).void }
132
+ attr_writer :next_transaction_date_iso
133
+
134
+ # Данные чека
135
+ sig { returns(T.nilable(T.anything)) }
136
+ attr_reader :receipt
137
+
138
+ sig { params(receipt: T.anything).void }
139
+ attr_writer :receipt
140
+
141
+ # Модель подписки на рекуррентные платежи
142
+ sig do
143
+ params(
144
+ account_id: String,
145
+ amount: Float,
146
+ culture_name: String,
147
+ currency: String,
148
+ currency_code: Integer,
149
+ failed_transactions_number: Integer,
150
+ id: String,
151
+ interval: String,
152
+ interval_code: Integer,
153
+ period: Integer,
154
+ require_confirmation: T::Boolean,
155
+ start_date: String,
156
+ start_date_iso: String,
157
+ status: String,
158
+ status_code: Integer,
159
+ successful_transactions_number: Integer,
160
+ description: String,
161
+ email: String,
162
+ failover_scheme_id: String,
163
+ last_transaction_date: String,
164
+ last_transaction_date_iso: String,
165
+ max_periods: Integer,
166
+ next_transaction_date: String,
167
+ next_transaction_date_iso: String,
168
+ receipt: T.anything
169
+ ).returns(T.attached_class)
170
+ end
171
+ def self.new(
172
+ # Идентификатор пользователя
173
+ account_id:,
174
+ # Сумма платежа
175
+ amount:,
176
+ # Язык
177
+ culture_name:,
178
+ # Валюта
179
+ currency:,
180
+ # Код валюты
181
+ currency_code:,
182
+ # Количество неуспешных транзакций
183
+ failed_transactions_number:,
184
+ # Идентификатор подписки
185
+ id:,
186
+ # Интервал
187
+ interval:,
188
+ # Код интервала
189
+ interval_code:,
190
+ # Период
191
+ period:,
192
+ # Требуется подтверждение (двухстадийная схема)
193
+ require_confirmation:,
194
+ # Дата начала (формат /Date(...)/)
195
+ start_date:,
196
+ # Дата начала ISO
197
+ start_date_iso:,
198
+ # Статус
199
+ status:,
200
+ # Код статуса
201
+ status_code:,
202
+ # Количество успешных транзакций
203
+ successful_transactions_number:,
204
+ # Описание платежа
205
+ description: nil,
206
+ # Email плательщика
207
+ email: nil,
208
+ # ID схемы фейловера
209
+ failover_scheme_id: nil,
210
+ # Дата последней транзакции
211
+ last_transaction_date: nil,
212
+ # Дата последней транзакции ISO
213
+ last_transaction_date_iso: nil,
214
+ # Максимальное количество платежей
215
+ max_periods: nil,
216
+ # Дата следующей транзакции
217
+ next_transaction_date: nil,
218
+ # Дата следующей транзакции ISO
219
+ next_transaction_date_iso: nil,
220
+ # Данные чека
221
+ receipt: nil
222
+ )
223
+ end
224
+
225
+ sig do
226
+ override.returns(
227
+ {
228
+ account_id: String,
229
+ amount: Float,
230
+ culture_name: String,
231
+ currency: String,
232
+ currency_code: Integer,
233
+ failed_transactions_number: Integer,
234
+ id: String,
235
+ interval: String,
236
+ interval_code: Integer,
237
+ period: Integer,
238
+ require_confirmation: T::Boolean,
239
+ start_date: String,
240
+ start_date_iso: String,
241
+ status: String,
242
+ status_code: Integer,
243
+ successful_transactions_number: Integer,
244
+ description: String,
245
+ email: String,
246
+ failover_scheme_id: String,
247
+ last_transaction_date: String,
248
+ last_transaction_date_iso: String,
249
+ max_periods: Integer,
250
+ next_transaction_date: String,
251
+ next_transaction_date_iso: String,
252
+ receipt: T.anything
253
+ }
254
+ )
255
+ end
256
+ def to_hash
257
+ end
258
+ end
259
+ end
260
+ end