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,325 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class PaymentChargeParams < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
7
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ CloudpaymentsRuby::PaymentChargeParams,
13
+ CloudpaymentsRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Сумма платежа (до 2 знаков после точки)
18
+ sig { returns(Float) }
19
+ attr_accessor :amount
20
+
21
+ # Криптограмма платежных данных
22
+ sig { returns(String) }
23
+ attr_accessor :card_cryptogram_packet
24
+
25
+ # IP-адрес плательщика
26
+ sig { returns(String) }
27
+ attr_accessor :ip_address
28
+
29
+ # Идентификатор пользователя
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :account_id
32
+
33
+ sig { params(account_id: String).void }
34
+ attr_writer :account_id
35
+
36
+ # Язык уведомлений (ru-RU, en-US)
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :culture_name
39
+
40
+ sig { params(culture_name: String).void }
41
+ attr_writer :culture_name
42
+
43
+ # Валюта (RUB по умолчанию)
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :currency
46
+
47
+ sig { params(currency: String).void }
48
+ attr_writer :currency
49
+
50
+ # Описание платежа
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :description
53
+
54
+ sig { params(description: String).void }
55
+ attr_writer :description
56
+
57
+ # Email плательщика
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :email
60
+
61
+ sig { params(email: String).void }
62
+ attr_writer :email
63
+
64
+ # Номер заказа
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :invoice_id
67
+
68
+ sig { params(invoice_id: String).void }
69
+ attr_writer :invoice_id
70
+
71
+ # Дополнительные данные (JSON)
72
+ sig { returns(T.nilable(T.anything)) }
73
+ attr_reader :json_data
74
+
75
+ sig { params(json_data: T.anything).void }
76
+ attr_writer :json_data
77
+
78
+ # Имя держателя карты (латиница)
79
+ sig { returns(T.nilable(String)) }
80
+ attr_reader :name
81
+
82
+ sig { params(name: String).void }
83
+ attr_writer :name
84
+
85
+ # Информация о плательщике
86
+ sig { returns(T.nilable(CloudpaymentsRuby::PaymentChargeParams::Payer)) }
87
+ attr_reader :payer
88
+
89
+ sig do
90
+ params(
91
+ payer: CloudpaymentsRuby::PaymentChargeParams::Payer::OrHash
92
+ ).void
93
+ end
94
+ attr_writer :payer
95
+
96
+ # URL сайта, с которого выполняется оплата
97
+ sig { returns(T.nilable(String)) }
98
+ attr_reader :payment_url
99
+
100
+ sig { params(payment_url: String).void }
101
+ attr_writer :payment_url
102
+
103
+ # Сохранить токен карты для повторных платежей
104
+ sig { returns(T.nilable(T::Boolean)) }
105
+ attr_reader :save_card
106
+
107
+ sig { params(save_card: T::Boolean).void }
108
+ attr_writer :save_card
109
+
110
+ sig do
111
+ params(
112
+ amount: Float,
113
+ card_cryptogram_packet: String,
114
+ ip_address: String,
115
+ account_id: String,
116
+ culture_name: String,
117
+ currency: String,
118
+ description: String,
119
+ email: String,
120
+ invoice_id: String,
121
+ json_data: T.anything,
122
+ name: String,
123
+ payer: CloudpaymentsRuby::PaymentChargeParams::Payer::OrHash,
124
+ payment_url: String,
125
+ save_card: T::Boolean,
126
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
127
+ ).returns(T.attached_class)
128
+ end
129
+ def self.new(
130
+ # Сумма платежа (до 2 знаков после точки)
131
+ amount:,
132
+ # Криптограмма платежных данных
133
+ card_cryptogram_packet:,
134
+ # IP-адрес плательщика
135
+ ip_address:,
136
+ # Идентификатор пользователя
137
+ account_id: nil,
138
+ # Язык уведомлений (ru-RU, en-US)
139
+ culture_name: nil,
140
+ # Валюта (RUB по умолчанию)
141
+ currency: nil,
142
+ # Описание платежа
143
+ description: nil,
144
+ # Email плательщика
145
+ email: nil,
146
+ # Номер заказа
147
+ invoice_id: nil,
148
+ # Дополнительные данные (JSON)
149
+ json_data: nil,
150
+ # Имя держателя карты (латиница)
151
+ name: nil,
152
+ # Информация о плательщике
153
+ payer: nil,
154
+ # URL сайта, с которого выполняется оплата
155
+ payment_url: nil,
156
+ # Сохранить токен карты для повторных платежей
157
+ save_card: nil,
158
+ request_options: {}
159
+ )
160
+ end
161
+
162
+ sig do
163
+ override.returns(
164
+ {
165
+ amount: Float,
166
+ card_cryptogram_packet: String,
167
+ ip_address: String,
168
+ account_id: String,
169
+ culture_name: String,
170
+ currency: String,
171
+ description: String,
172
+ email: String,
173
+ invoice_id: String,
174
+ json_data: T.anything,
175
+ name: String,
176
+ payer: CloudpaymentsRuby::PaymentChargeParams::Payer,
177
+ payment_url: String,
178
+ save_card: T::Boolean,
179
+ request_options: CloudpaymentsRuby::RequestOptions
180
+ }
181
+ )
182
+ end
183
+ def to_hash
184
+ end
185
+
186
+ class Payer < CloudpaymentsRuby::Internal::Type::BaseModel
187
+ OrHash =
188
+ T.type_alias do
189
+ T.any(
190
+ CloudpaymentsRuby::PaymentChargeParams::Payer,
191
+ CloudpaymentsRuby::Internal::AnyHash
192
+ )
193
+ end
194
+
195
+ # Адрес
196
+ sig { returns(T.nilable(String)) }
197
+ attr_reader :address
198
+
199
+ sig { params(address: String).void }
200
+ attr_writer :address
201
+
202
+ # Дата рождения (YYYY-MM-DD)
203
+ sig { returns(T.nilable(String)) }
204
+ attr_reader :birth
205
+
206
+ sig { params(birth: String).void }
207
+ attr_writer :birth
208
+
209
+ # Город
210
+ sig { returns(T.nilable(String)) }
211
+ attr_reader :city
212
+
213
+ sig { params(city: String).void }
214
+ attr_writer :city
215
+
216
+ # Страна (код ISO)
217
+ sig { returns(T.nilable(String)) }
218
+ attr_reader :country
219
+
220
+ sig { params(country: String).void }
221
+ attr_writer :country
222
+
223
+ # Имя
224
+ sig { returns(T.nilable(String)) }
225
+ attr_reader :first_name
226
+
227
+ sig { params(first_name: String).void }
228
+ attr_writer :first_name
229
+
230
+ # Фамилия
231
+ sig { returns(T.nilable(String)) }
232
+ attr_reader :last_name
233
+
234
+ sig { params(last_name: String).void }
235
+ attr_writer :last_name
236
+
237
+ # Отчество
238
+ sig { returns(T.nilable(String)) }
239
+ attr_reader :middle_name
240
+
241
+ sig { params(middle_name: String).void }
242
+ attr_writer :middle_name
243
+
244
+ # Телефон
245
+ sig { returns(T.nilable(String)) }
246
+ attr_reader :phone
247
+
248
+ sig { params(phone: String).void }
249
+ attr_writer :phone
250
+
251
+ # Почтовый индекс
252
+ sig { returns(T.nilable(String)) }
253
+ attr_reader :postcode
254
+
255
+ sig { params(postcode: String).void }
256
+ attr_writer :postcode
257
+
258
+ # Улица
259
+ sig { returns(T.nilable(String)) }
260
+ attr_reader :street
261
+
262
+ sig { params(street: String).void }
263
+ attr_writer :street
264
+
265
+ # Информация о плательщике
266
+ sig do
267
+ params(
268
+ address: String,
269
+ birth: String,
270
+ city: String,
271
+ country: String,
272
+ first_name: String,
273
+ last_name: String,
274
+ middle_name: String,
275
+ phone: String,
276
+ postcode: String,
277
+ street: String
278
+ ).returns(T.attached_class)
279
+ end
280
+ def self.new(
281
+ # Адрес
282
+ address: nil,
283
+ # Дата рождения (YYYY-MM-DD)
284
+ birth: nil,
285
+ # Город
286
+ city: nil,
287
+ # Страна (код ISO)
288
+ country: nil,
289
+ # Имя
290
+ first_name: nil,
291
+ # Фамилия
292
+ last_name: nil,
293
+ # Отчество
294
+ middle_name: nil,
295
+ # Телефон
296
+ phone: nil,
297
+ # Почтовый индекс
298
+ postcode: nil,
299
+ # Улица
300
+ street: nil
301
+ )
302
+ end
303
+
304
+ sig do
305
+ override.returns(
306
+ {
307
+ address: String,
308
+ birth: String,
309
+ city: String,
310
+ country: String,
311
+ first_name: String,
312
+ last_name: String,
313
+ middle_name: String,
314
+ phone: String,
315
+ postcode: String,
316
+ street: String
317
+ }
318
+ )
319
+ end
320
+ def to_hash
321
+ end
322
+ end
323
+ end
324
+ end
325
+ end
@@ -0,0 +1,278 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # Базовый ответ API
6
+ module PaymentChargeResponse
7
+ extend CloudpaymentsRuby::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(
12
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember0,
13
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1
14
+ )
15
+ end
16
+
17
+ class UnionMember0 < CloudpaymentsRuby::Internal::Type::BaseModel
18
+ OrHash =
19
+ T.type_alias do
20
+ T.any(
21
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember0,
22
+ CloudpaymentsRuby::Internal::AnyHash
23
+ )
24
+ end
25
+
26
+ # Результат выполнения запроса
27
+ sig { returns(T::Boolean) }
28
+ attr_accessor :success
29
+
30
+ # Описание ошибки (при наличии)
31
+ sig { returns(T.nilable(String)) }
32
+ attr_reader :message
33
+
34
+ sig { params(message: String).void }
35
+ attr_writer :message
36
+
37
+ # Модель транзакции в ответе API
38
+ sig { returns(T.nilable(CloudpaymentsRuby::Transaction)) }
39
+ attr_reader :model
40
+
41
+ sig { params(model: CloudpaymentsRuby::Transaction::OrHash).void }
42
+ attr_writer :model
43
+
44
+ # Базовый ответ API
45
+ sig do
46
+ params(
47
+ success: T::Boolean,
48
+ message: String,
49
+ model: CloudpaymentsRuby::Transaction::OrHash
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ # Результат выполнения запроса
54
+ success:,
55
+ # Описание ошибки (при наличии)
56
+ message: nil,
57
+ # Модель транзакции в ответе API
58
+ model: nil
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ success: T::Boolean,
66
+ message: String,
67
+ model: CloudpaymentsRuby::Transaction
68
+ }
69
+ )
70
+ end
71
+ def to_hash
72
+ end
73
+ end
74
+
75
+ class UnionMember1 < CloudpaymentsRuby::Internal::Type::BaseModel
76
+ OrHash =
77
+ T.type_alias do
78
+ T.any(
79
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1,
80
+ CloudpaymentsRuby::Internal::AnyHash
81
+ )
82
+ end
83
+
84
+ # Результат выполнения запроса
85
+ sig { returns(T::Boolean) }
86
+ attr_accessor :success
87
+
88
+ # Описание ошибки (при наличии)
89
+ sig { returns(T.nilable(String)) }
90
+ attr_reader :message
91
+
92
+ sig { params(message: String).void }
93
+ attr_writer :message
94
+
95
+ # Модель ответа, требующего 3-D Secure аутентификацию
96
+ sig do
97
+ returns(
98
+ T.nilable(
99
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model
100
+ )
101
+ )
102
+ end
103
+ attr_reader :model
104
+
105
+ sig do
106
+ params(
107
+ model:
108
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model::OrHash
109
+ ).void
110
+ end
111
+ attr_writer :model
112
+
113
+ # Базовый ответ API
114
+ sig do
115
+ params(
116
+ success: T::Boolean,
117
+ message: String,
118
+ model:
119
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model::OrHash
120
+ ).returns(T.attached_class)
121
+ end
122
+ def self.new(
123
+ # Результат выполнения запроса
124
+ success:,
125
+ # Описание ошибки (при наличии)
126
+ message: nil,
127
+ # Модель ответа, требующего 3-D Secure аутентификацию
128
+ model: nil
129
+ )
130
+ end
131
+
132
+ sig do
133
+ override.returns(
134
+ {
135
+ success: T::Boolean,
136
+ message: String,
137
+ model:
138
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model
139
+ }
140
+ )
141
+ end
142
+ def to_hash
143
+ end
144
+
145
+ class Model < CloudpaymentsRuby::Internal::Type::BaseModel
146
+ OrHash =
147
+ T.type_alias do
148
+ T.any(
149
+ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model,
150
+ CloudpaymentsRuby::Internal::AnyHash
151
+ )
152
+ end
153
+
154
+ # URL сервера аутентификации (ACS)
155
+ sig { returns(String) }
156
+ attr_accessor :acs_url
157
+
158
+ # Разрешено ли использовать iframe
159
+ sig { returns(T::Boolean) }
160
+ attr_accessor :i_frame_is_allowed
161
+
162
+ # Параметр PaReq для ACS
163
+ sig { returns(String) }
164
+ attr_accessor :pa_req
165
+
166
+ # ID callback для 3DS
167
+ sig { returns(String) }
168
+ attr_accessor :three_ds_callback_id
169
+
170
+ # ID транзакции (используется как MD)
171
+ sig { returns(Integer) }
172
+ attr_accessor :transaction_id
173
+
174
+ # ID накопления для безопасной сделки
175
+ sig { returns(T.nilable(String)) }
176
+ attr_reader :escrow_accumulation_id
177
+
178
+ sig { params(escrow_accumulation_id: String).void }
179
+ attr_writer :escrow_accumulation_id
180
+
181
+ # Высота фрейма
182
+ sig { returns(T.nilable(Integer)) }
183
+ attr_reader :frame_height
184
+
185
+ sig { params(frame_height: Integer).void }
186
+ attr_writer :frame_height
187
+
188
+ # Ширина фрейма
189
+ sig { returns(T.nilable(Integer)) }
190
+ attr_reader :frame_width
191
+
192
+ sig { params(frame_width: Integer).void }
193
+ attr_writer :frame_width
194
+
195
+ # Параметр GoReq (опционально)
196
+ sig { returns(T.nilable(String)) }
197
+ attr_reader :go_req
198
+
199
+ sig { params(go_req: String).void }
200
+ attr_writer :go_req
201
+
202
+ # Данные сессии 3DS
203
+ sig { returns(T.nilable(String)) }
204
+ attr_reader :three_ds_session_data
205
+
206
+ sig { params(three_ds_session_data: String).void }
207
+ attr_writer :three_ds_session_data
208
+
209
+ # Модель ответа, требующего 3-D Secure аутентификацию
210
+ sig do
211
+ params(
212
+ acs_url: String,
213
+ i_frame_is_allowed: T::Boolean,
214
+ pa_req: String,
215
+ three_ds_callback_id: String,
216
+ transaction_id: Integer,
217
+ escrow_accumulation_id: String,
218
+ frame_height: Integer,
219
+ frame_width: Integer,
220
+ go_req: String,
221
+ three_ds_session_data: String
222
+ ).returns(T.attached_class)
223
+ end
224
+ def self.new(
225
+ # URL сервера аутентификации (ACS)
226
+ acs_url:,
227
+ # Разрешено ли использовать iframe
228
+ i_frame_is_allowed:,
229
+ # Параметр PaReq для ACS
230
+ pa_req:,
231
+ # ID callback для 3DS
232
+ three_ds_callback_id:,
233
+ # ID транзакции (используется как MD)
234
+ transaction_id:,
235
+ # ID накопления для безопасной сделки
236
+ escrow_accumulation_id: nil,
237
+ # Высота фрейма
238
+ frame_height: nil,
239
+ # Ширина фрейма
240
+ frame_width: nil,
241
+ # Параметр GoReq (опционально)
242
+ go_req: nil,
243
+ # Данные сессии 3DS
244
+ three_ds_session_data: nil
245
+ )
246
+ end
247
+
248
+ sig do
249
+ override.returns(
250
+ {
251
+ acs_url: String,
252
+ i_frame_is_allowed: T::Boolean,
253
+ pa_req: String,
254
+ three_ds_callback_id: String,
255
+ transaction_id: Integer,
256
+ escrow_accumulation_id: String,
257
+ frame_height: Integer,
258
+ frame_width: Integer,
259
+ go_req: String,
260
+ three_ds_session_data: String
261
+ }
262
+ )
263
+ end
264
+ def to_hash
265
+ end
266
+ end
267
+ end
268
+
269
+ sig do
270
+ override.returns(
271
+ T::Array[CloudpaymentsRuby::Models::PaymentChargeResponse::Variants]
272
+ )
273
+ end
274
+ def self.variants
275
+ end
276
+ end
277
+ end
278
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class PaymentConfirmParams < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
7
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ CloudpaymentsRuby::PaymentConfirmParams,
13
+ CloudpaymentsRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Сумма подтверждения
18
+ sig { returns(Float) }
19
+ attr_accessor :amount
20
+
21
+ # ID транзакции
22
+ sig { returns(Integer) }
23
+ attr_accessor :transaction_id
24
+
25
+ # Дополнительные данные (JSON)
26
+ sig { returns(T.nilable(T.anything)) }
27
+ attr_reader :json_data
28
+
29
+ sig { params(json_data: T.anything).void }
30
+ attr_writer :json_data
31
+
32
+ sig do
33
+ params(
34
+ amount: Float,
35
+ transaction_id: Integer,
36
+ json_data: T.anything,
37
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # Сумма подтверждения
42
+ amount:,
43
+ # ID транзакции
44
+ transaction_id:,
45
+ # Дополнительные данные (JSON)
46
+ json_data: nil,
47
+ request_options: {}
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ amount: Float,
55
+ transaction_id: Integer,
56
+ json_data: T.anything,
57
+ request_options: CloudpaymentsRuby::RequestOptions
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,42 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class PaymentConfirmResponse < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ CloudpaymentsRuby::Models::PaymentConfirmResponse,
10
+ CloudpaymentsRuby::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Результат выполнения запроса
15
+ sig { returns(T::Boolean) }
16
+ attr_accessor :success
17
+
18
+ # Описание ошибки (при наличии)
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :message
21
+
22
+ sig { params(message: String).void }
23
+ attr_writer :message
24
+
25
+ # Пустой ответ API (только Success и Message)
26
+ sig do
27
+ params(success: T::Boolean, message: String).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ # Результат выполнения запроса
31
+ success:,
32
+ # Описание ошибки (при наличии)
33
+ message: nil
34
+ )
35
+ end
36
+
37
+ sig { override.returns({ success: T::Boolean, message: String }) }
38
+ def to_hash
39
+ end
40
+ end
41
+ end
42
+ end