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,43 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionCancelParams < 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::SubscriptionCancelParams,
13
+ CloudpaymentsRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Идентификатор подписки
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ sig do
22
+ params(
23
+ id: String,
24
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(
28
+ # Идентификатор подписки
29
+ id:,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ { id: String, request_options: CloudpaymentsRuby::RequestOptions }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,42 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionCancelResponse < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ CloudpaymentsRuby::Models::SubscriptionCancelResponse,
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
@@ -0,0 +1,143 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionCreateParams < 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::SubscriptionCreateParams,
13
+ CloudpaymentsRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Идентификатор пользователя
18
+ sig { returns(String) }
19
+ attr_accessor :account_id
20
+
21
+ # Сумма платежа
22
+ sig { returns(Float) }
23
+ attr_accessor :amount
24
+
25
+ # Валюта
26
+ sig { returns(String) }
27
+ attr_accessor :currency
28
+
29
+ # Описание платежа
30
+ sig { returns(String) }
31
+ attr_accessor :description
32
+
33
+ # Интервал: Day, Week, Month
34
+ sig { returns(String) }
35
+ attr_accessor :interval
36
+
37
+ # Период (в сочетании с Interval)
38
+ sig { returns(Integer) }
39
+ attr_accessor :period
40
+
41
+ # Требуется подтверждение (двухстадийная схема)
42
+ sig { returns(T::Boolean) }
43
+ attr_accessor :require_confirmation
44
+
45
+ # Дата и время первого платежа (UTC)
46
+ sig { returns(Time) }
47
+ attr_accessor :start_date
48
+
49
+ # Токен карты
50
+ sig { returns(String) }
51
+ attr_accessor :token
52
+
53
+ # Данные для онлайн-чека
54
+ sig { returns(T.nilable(T.anything)) }
55
+ attr_reader :customer_receipt
56
+
57
+ sig { params(customer_receipt: T.anything).void }
58
+ attr_writer :customer_receipt
59
+
60
+ # Email плательщика
61
+ sig { returns(T.nilable(String)) }
62
+ attr_reader :email
63
+
64
+ sig { params(email: String).void }
65
+ attr_writer :email
66
+
67
+ # Максимальное количество платежей
68
+ sig { returns(T.nilable(Integer)) }
69
+ attr_reader :max_periods
70
+
71
+ sig { params(max_periods: Integer).void }
72
+ attr_writer :max_periods
73
+
74
+ sig do
75
+ params(
76
+ account_id: String,
77
+ amount: Float,
78
+ currency: String,
79
+ description: String,
80
+ interval: String,
81
+ period: Integer,
82
+ require_confirmation: T::Boolean,
83
+ start_date: Time,
84
+ token: String,
85
+ customer_receipt: T.anything,
86
+ email: String,
87
+ max_periods: Integer,
88
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ # Идентификатор пользователя
93
+ account_id:,
94
+ # Сумма платежа
95
+ amount:,
96
+ # Валюта
97
+ currency:,
98
+ # Описание платежа
99
+ description:,
100
+ # Интервал: Day, Week, Month
101
+ interval:,
102
+ # Период (в сочетании с Interval)
103
+ period:,
104
+ # Требуется подтверждение (двухстадийная схема)
105
+ require_confirmation:,
106
+ # Дата и время первого платежа (UTC)
107
+ start_date:,
108
+ # Токен карты
109
+ token:,
110
+ # Данные для онлайн-чека
111
+ customer_receipt: nil,
112
+ # Email плательщика
113
+ email: nil,
114
+ # Максимальное количество платежей
115
+ max_periods: nil,
116
+ request_options: {}
117
+ )
118
+ end
119
+
120
+ sig do
121
+ override.returns(
122
+ {
123
+ account_id: String,
124
+ amount: Float,
125
+ currency: String,
126
+ description: String,
127
+ interval: String,
128
+ period: Integer,
129
+ require_confirmation: T::Boolean,
130
+ start_date: Time,
131
+ token: String,
132
+ customer_receipt: T.anything,
133
+ email: String,
134
+ max_periods: Integer,
135
+ request_options: CloudpaymentsRuby::RequestOptions
136
+ }
137
+ )
138
+ end
139
+ def to_hash
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,63 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionCreateResponse < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ CloudpaymentsRuby::Models::SubscriptionCreateResponse,
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
+ # Модель подписки на рекуррентные платежи
26
+ sig { returns(T.nilable(CloudpaymentsRuby::Subscription)) }
27
+ attr_reader :model
28
+
29
+ sig { params(model: CloudpaymentsRuby::Subscription::OrHash).void }
30
+ attr_writer :model
31
+
32
+ # Базовый ответ API
33
+ sig do
34
+ params(
35
+ success: T::Boolean,
36
+ message: String,
37
+ model: CloudpaymentsRuby::Subscription::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # Результат выполнения запроса
42
+ success:,
43
+ # Описание ошибки (при наличии)
44
+ message: nil,
45
+ # Модель подписки на рекуррентные платежи
46
+ model: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ success: T::Boolean,
54
+ message: String,
55
+ model: CloudpaymentsRuby::Subscription
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionFindParams < 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::SubscriptionFindParams,
13
+ CloudpaymentsRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Идентификатор пользователя
18
+ sig { returns(String) }
19
+ attr_accessor :account_id
20
+
21
+ sig do
22
+ params(
23
+ account_id: String,
24
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(
28
+ # Идентификатор пользователя
29
+ account_id:,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ account_id: String,
38
+ request_options: CloudpaymentsRuby::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionFindResponse < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ CloudpaymentsRuby::Models::SubscriptionFindResponse,
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
+ # Данные ответа
26
+ sig { returns(T.nilable(T::Array[CloudpaymentsRuby::Subscription])) }
27
+ attr_reader :model
28
+
29
+ sig do
30
+ params(model: T::Array[CloudpaymentsRuby::Subscription::OrHash]).void
31
+ end
32
+ attr_writer :model
33
+
34
+ # Базовый ответ API
35
+ sig do
36
+ params(
37
+ success: T::Boolean,
38
+ message: String,
39
+ model: T::Array[CloudpaymentsRuby::Subscription::OrHash]
40
+ ).returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+ # Результат выполнения запроса
44
+ success:,
45
+ # Описание ошибки (при наличии)
46
+ message: nil,
47
+ # Данные ответа
48
+ model: nil
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ {
55
+ success: T::Boolean,
56
+ message: String,
57
+ model: T::Array[CloudpaymentsRuby::Subscription]
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionGetParams < 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::SubscriptionGetParams,
13
+ CloudpaymentsRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Идентификатор подписки
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ sig do
22
+ params(
23
+ id: String,
24
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(
28
+ # Идентификатор подписки
29
+ id:,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ { id: String, request_options: CloudpaymentsRuby::RequestOptions }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,63 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionGetResponse < CloudpaymentsRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ CloudpaymentsRuby::Models::SubscriptionGetResponse,
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
+ # Модель подписки на рекуррентные платежи
26
+ sig { returns(T.nilable(CloudpaymentsRuby::Subscription)) }
27
+ attr_reader :model
28
+
29
+ sig { params(model: CloudpaymentsRuby::Subscription::OrHash).void }
30
+ attr_writer :model
31
+
32
+ # Базовый ответ API
33
+ sig do
34
+ params(
35
+ success: T::Boolean,
36
+ message: String,
37
+ model: CloudpaymentsRuby::Subscription::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # Результат выполнения запроса
42
+ success:,
43
+ # Описание ошибки (при наличии)
44
+ message: nil,
45
+ # Модель подписки на рекуррентные платежи
46
+ model: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ success: T::Boolean,
54
+ message: String,
55
+ model: CloudpaymentsRuby::Subscription
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,156 @@
1
+ # typed: strong
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ class SubscriptionUpdateParams < 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::SubscriptionUpdateParams,
13
+ CloudpaymentsRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Идентификатор подписки
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # Сумма платежа
22
+ sig { returns(T.nilable(Float)) }
23
+ attr_reader :amount
24
+
25
+ sig { params(amount: Float).void }
26
+ attr_writer :amount
27
+
28
+ # Язык уведомлений (ru-RU, en-US)
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :culture_name
31
+
32
+ sig { params(culture_name: String).void }
33
+ attr_writer :culture_name
34
+
35
+ # Валюта
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :currency
38
+
39
+ sig { params(currency: String).void }
40
+ attr_writer :currency
41
+
42
+ # Данные для онлайн-чека
43
+ sig { returns(T.nilable(T.anything)) }
44
+ attr_reader :customer_receipt
45
+
46
+ sig { params(customer_receipt: T.anything).void }
47
+ attr_writer :customer_receipt
48
+
49
+ # Описание платежа
50
+ sig { returns(T.nilable(String)) }
51
+ attr_reader :description
52
+
53
+ sig { params(description: String).void }
54
+ attr_writer :description
55
+
56
+ # Интервал: Day, Week, Month
57
+ sig { returns(T.nilable(String)) }
58
+ attr_reader :interval
59
+
60
+ sig { params(interval: String).void }
61
+ attr_writer :interval
62
+
63
+ # Максимальное количество платежей
64
+ sig { returns(T.nilable(Integer)) }
65
+ attr_reader :max_periods
66
+
67
+ sig { params(max_periods: Integer).void }
68
+ attr_writer :max_periods
69
+
70
+ # Период
71
+ sig { returns(T.nilable(Integer)) }
72
+ attr_reader :period
73
+
74
+ sig { params(period: Integer).void }
75
+ attr_writer :period
76
+
77
+ # Требуется подтверждение
78
+ sig { returns(T.nilable(T::Boolean)) }
79
+ attr_reader :require_confirmation
80
+
81
+ sig { params(require_confirmation: T::Boolean).void }
82
+ attr_writer :require_confirmation
83
+
84
+ # Дата и время следующего платежа (UTC)
85
+ sig { returns(T.nilable(Time)) }
86
+ attr_reader :start_date
87
+
88
+ sig { params(start_date: Time).void }
89
+ attr_writer :start_date
90
+
91
+ sig do
92
+ params(
93
+ id: String,
94
+ amount: Float,
95
+ culture_name: String,
96
+ currency: String,
97
+ customer_receipt: T.anything,
98
+ description: String,
99
+ interval: String,
100
+ max_periods: Integer,
101
+ period: Integer,
102
+ require_confirmation: T::Boolean,
103
+ start_date: Time,
104
+ request_options: CloudpaymentsRuby::RequestOptions::OrHash
105
+ ).returns(T.attached_class)
106
+ end
107
+ def self.new(
108
+ # Идентификатор подписки
109
+ id:,
110
+ # Сумма платежа
111
+ amount: nil,
112
+ # Язык уведомлений (ru-RU, en-US)
113
+ culture_name: nil,
114
+ # Валюта
115
+ currency: nil,
116
+ # Данные для онлайн-чека
117
+ customer_receipt: nil,
118
+ # Описание платежа
119
+ description: nil,
120
+ # Интервал: Day, Week, Month
121
+ interval: nil,
122
+ # Максимальное количество платежей
123
+ max_periods: nil,
124
+ # Период
125
+ period: nil,
126
+ # Требуется подтверждение
127
+ require_confirmation: nil,
128
+ # Дата и время следующего платежа (UTC)
129
+ start_date: nil,
130
+ request_options: {}
131
+ )
132
+ end
133
+
134
+ sig do
135
+ override.returns(
136
+ {
137
+ id: String,
138
+ amount: Float,
139
+ culture_name: String,
140
+ currency: String,
141
+ customer_receipt: T.anything,
142
+ description: String,
143
+ interval: String,
144
+ max_periods: Integer,
145
+ period: Integer,
146
+ require_confirmation: T::Boolean,
147
+ start_date: Time,
148
+ request_options: CloudpaymentsRuby::RequestOptions
149
+ }
150
+ )
151
+ end
152
+ def to_hash
153
+ end
154
+ end
155
+ end
156
+ end