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