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,167 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # Базовый ответ API
6
+ #
7
+ # @see CloudpaymentsRuby::Resources::Payments#auth
8
+ module PaymentAuthResponse
9
+ extend CloudpaymentsRuby::Internal::Type::Union
10
+
11
+ # Базовый ответ API
12
+ variant -> { CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember0 }
13
+
14
+ # Базовый ответ API
15
+ variant -> { CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember1 }
16
+
17
+ class UnionMember0 < CloudpaymentsRuby::Internal::Type::BaseModel
18
+ # @!attribute success
19
+ # Результат выполнения запроса
20
+ #
21
+ # @return [Boolean]
22
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
23
+
24
+ # @!attribute message
25
+ # Описание ошибки (при наличии)
26
+ #
27
+ # @return [String, nil]
28
+ optional :message, String, api_name: :Message
29
+
30
+ # @!attribute model
31
+ # Модель транзакции в ответе API
32
+ #
33
+ # @return [CloudpaymentsRuby::Models::Transaction, nil]
34
+ optional :model, -> { CloudpaymentsRuby::Transaction }, api_name: :Model
35
+
36
+ # @!method initialize(success:, message: nil, model: nil)
37
+ # Базовый ответ API
38
+ #
39
+ # @param success [Boolean] Результат выполнения запроса
40
+ #
41
+ # @param message [String] Описание ошибки (при наличии)
42
+ #
43
+ # @param model [CloudpaymentsRuby::Models::Transaction] Модель транзакции в ответе API
44
+ end
45
+
46
+ class UnionMember1 < CloudpaymentsRuby::Internal::Type::BaseModel
47
+ # @!attribute success
48
+ # Результат выполнения запроса
49
+ #
50
+ # @return [Boolean]
51
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
52
+
53
+ # @!attribute message
54
+ # Описание ошибки (при наличии)
55
+ #
56
+ # @return [String, nil]
57
+ optional :message, String, api_name: :Message
58
+
59
+ # @!attribute model
60
+ # Модель ответа, требующего 3-D Secure аутентификацию
61
+ #
62
+ # @return [CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember1::Model, nil]
63
+ optional :model,
64
+ -> { CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember1::Model },
65
+ api_name: :Model
66
+
67
+ # @!method initialize(success:, message: nil, model: nil)
68
+ # Базовый ответ API
69
+ #
70
+ # @param success [Boolean] Результат выполнения запроса
71
+ #
72
+ # @param message [String] Описание ошибки (при наличии)
73
+ #
74
+ # @param model [CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember1::Model] Модель ответа, требующего 3-D Secure аутентификацию
75
+
76
+ # @see CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember1#model
77
+ class Model < CloudpaymentsRuby::Internal::Type::BaseModel
78
+ # @!attribute acs_url
79
+ # URL сервера аутентификации (ACS)
80
+ #
81
+ # @return [String]
82
+ required :acs_url, String, api_name: :AcsUrl
83
+
84
+ # @!attribute i_frame_is_allowed
85
+ # Разрешено ли использовать iframe
86
+ #
87
+ # @return [Boolean]
88
+ required :i_frame_is_allowed, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :IFrameIsAllowed
89
+
90
+ # @!attribute pa_req
91
+ # Параметр PaReq для ACS
92
+ #
93
+ # @return [String]
94
+ required :pa_req, String, api_name: :PaReq
95
+
96
+ # @!attribute three_ds_callback_id
97
+ # ID callback для 3DS
98
+ #
99
+ # @return [String]
100
+ required :three_ds_callback_id, String, api_name: :ThreeDsCallbackId
101
+
102
+ # @!attribute transaction_id
103
+ # ID транзакции (используется как MD)
104
+ #
105
+ # @return [Integer]
106
+ required :transaction_id, Integer, api_name: :TransactionId
107
+
108
+ # @!attribute escrow_accumulation_id
109
+ # ID накопления для безопасной сделки
110
+ #
111
+ # @return [String, nil]
112
+ optional :escrow_accumulation_id, String, api_name: :EscrowAccumulationId
113
+
114
+ # @!attribute frame_height
115
+ # Высота фрейма
116
+ #
117
+ # @return [Integer, nil]
118
+ optional :frame_height, Integer, api_name: :FrameHeight
119
+
120
+ # @!attribute frame_width
121
+ # Ширина фрейма
122
+ #
123
+ # @return [Integer, nil]
124
+ optional :frame_width, Integer, api_name: :FrameWidth
125
+
126
+ # @!attribute go_req
127
+ # Параметр GoReq (опционально)
128
+ #
129
+ # @return [String, nil]
130
+ optional :go_req, String, api_name: :GoReq
131
+
132
+ # @!attribute three_ds_session_data
133
+ # Данные сессии 3DS
134
+ #
135
+ # @return [String, nil]
136
+ optional :three_ds_session_data, String, api_name: :ThreeDsSessionData
137
+
138
+ # @!method initialize(acs_url:, i_frame_is_allowed:, pa_req:, three_ds_callback_id:, transaction_id:, escrow_accumulation_id: nil, frame_height: nil, frame_width: nil, go_req: nil, three_ds_session_data: nil)
139
+ # Модель ответа, требующего 3-D Secure аутентификацию
140
+ #
141
+ # @param acs_url [String] URL сервера аутентификации (ACS)
142
+ #
143
+ # @param i_frame_is_allowed [Boolean] Разрешено ли использовать iframe
144
+ #
145
+ # @param pa_req [String] Параметр PaReq для ACS
146
+ #
147
+ # @param three_ds_callback_id [String] ID callback для 3DS
148
+ #
149
+ # @param transaction_id [Integer] ID транзакции (используется как MD)
150
+ #
151
+ # @param escrow_accumulation_id [String] ID накопления для безопасной сделки
152
+ #
153
+ # @param frame_height [Integer] Высота фрейма
154
+ #
155
+ # @param frame_width [Integer] Ширина фрейма
156
+ #
157
+ # @param go_req [String] Параметр GoReq (опционально)
158
+ #
159
+ # @param three_ds_session_data [String] Данные сессии 3DS
160
+ end
161
+ end
162
+
163
+ # @!method self.variants
164
+ # @return [Array(CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember0, CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember1)]
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,211 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#charge
6
+ class PaymentChargeParams < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
8
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute amount
11
+ # Сумма платежа (до 2 знаков после точки)
12
+ #
13
+ # @return [Float]
14
+ required :amount, Float, api_name: :Amount
15
+
16
+ # @!attribute card_cryptogram_packet
17
+ # Криптограмма платежных данных
18
+ #
19
+ # @return [String]
20
+ required :card_cryptogram_packet, String, api_name: :CardCryptogramPacket
21
+
22
+ # @!attribute ip_address
23
+ # IP-адрес плательщика
24
+ #
25
+ # @return [String]
26
+ required :ip_address, String, api_name: :IpAddress
27
+
28
+ # @!attribute account_id
29
+ # Идентификатор пользователя
30
+ #
31
+ # @return [String, nil]
32
+ optional :account_id, String, api_name: :AccountId
33
+
34
+ # @!attribute culture_name
35
+ # Язык уведомлений (ru-RU, en-US)
36
+ #
37
+ # @return [String, nil]
38
+ optional :culture_name, String, api_name: :CultureName
39
+
40
+ # @!attribute currency
41
+ # Валюта (RUB по умолчанию)
42
+ #
43
+ # @return [String, nil]
44
+ optional :currency, String, api_name: :Currency
45
+
46
+ # @!attribute description
47
+ # Описание платежа
48
+ #
49
+ # @return [String, nil]
50
+ optional :description, String, api_name: :Description
51
+
52
+ # @!attribute email
53
+ # Email плательщика
54
+ #
55
+ # @return [String, nil]
56
+ optional :email, String, api_name: :Email
57
+
58
+ # @!attribute invoice_id
59
+ # Номер заказа
60
+ #
61
+ # @return [String, nil]
62
+ optional :invoice_id, String, api_name: :InvoiceId
63
+
64
+ # @!attribute json_data
65
+ # Дополнительные данные (JSON)
66
+ #
67
+ # @return [Object, nil]
68
+ optional :json_data, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :JsonData
69
+
70
+ # @!attribute name
71
+ # Имя держателя карты (латиница)
72
+ #
73
+ # @return [String, nil]
74
+ optional :name, String, api_name: :Name
75
+
76
+ # @!attribute payer
77
+ # Информация о плательщике
78
+ #
79
+ # @return [CloudpaymentsRuby::Models::PaymentChargeParams::Payer, nil]
80
+ optional :payer, -> { CloudpaymentsRuby::PaymentChargeParams::Payer }, api_name: :Payer
81
+
82
+ # @!attribute payment_url
83
+ # URL сайта, с которого выполняется оплата
84
+ #
85
+ # @return [String, nil]
86
+ optional :payment_url, String, api_name: :PaymentUrl
87
+
88
+ # @!attribute save_card
89
+ # Сохранить токен карты для повторных платежей
90
+ #
91
+ # @return [Boolean, nil]
92
+ optional :save_card, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :SaveCard
93
+
94
+ # @!method initialize(amount:, card_cryptogram_packet:, ip_address:, account_id: nil, culture_name: nil, currency: nil, description: nil, email: nil, invoice_id: nil, json_data: nil, name: nil, payer: nil, payment_url: nil, save_card: nil, request_options: {})
95
+ # @param amount [Float] Сумма платежа (до 2 знаков после точки)
96
+ #
97
+ # @param card_cryptogram_packet [String] Криптограмма платежных данных
98
+ #
99
+ # @param ip_address [String] IP-адрес плательщика
100
+ #
101
+ # @param account_id [String] Идентификатор пользователя
102
+ #
103
+ # @param culture_name [String] Язык уведомлений (ru-RU, en-US)
104
+ #
105
+ # @param currency [String] Валюта (RUB по умолчанию)
106
+ #
107
+ # @param description [String] Описание платежа
108
+ #
109
+ # @param email [String] Email плательщика
110
+ #
111
+ # @param invoice_id [String] Номер заказа
112
+ #
113
+ # @param json_data [Object] Дополнительные данные (JSON)
114
+ #
115
+ # @param name [String] Имя держателя карты (латиница)
116
+ #
117
+ # @param payer [CloudpaymentsRuby::Models::PaymentChargeParams::Payer] Информация о плательщике
118
+ #
119
+ # @param payment_url [String] URL сайта, с которого выполняется оплата
120
+ #
121
+ # @param save_card [Boolean] Сохранить токен карты для повторных платежей
122
+ #
123
+ # @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
124
+
125
+ class Payer < CloudpaymentsRuby::Internal::Type::BaseModel
126
+ # @!attribute address
127
+ # Адрес
128
+ #
129
+ # @return [String, nil]
130
+ optional :address, String, api_name: :Address
131
+
132
+ # @!attribute birth
133
+ # Дата рождения (YYYY-MM-DD)
134
+ #
135
+ # @return [String, nil]
136
+ optional :birth, String, api_name: :Birth
137
+
138
+ # @!attribute city
139
+ # Город
140
+ #
141
+ # @return [String, nil]
142
+ optional :city, String, api_name: :City
143
+
144
+ # @!attribute country
145
+ # Страна (код ISO)
146
+ #
147
+ # @return [String, nil]
148
+ optional :country, String, api_name: :Country
149
+
150
+ # @!attribute first_name
151
+ # Имя
152
+ #
153
+ # @return [String, nil]
154
+ optional :first_name, String, api_name: :FirstName
155
+
156
+ # @!attribute last_name
157
+ # Фамилия
158
+ #
159
+ # @return [String, nil]
160
+ optional :last_name, String, api_name: :LastName
161
+
162
+ # @!attribute middle_name
163
+ # Отчество
164
+ #
165
+ # @return [String, nil]
166
+ optional :middle_name, String, api_name: :MiddleName
167
+
168
+ # @!attribute phone
169
+ # Телефон
170
+ #
171
+ # @return [String, nil]
172
+ optional :phone, String, api_name: :Phone
173
+
174
+ # @!attribute postcode
175
+ # Почтовый индекс
176
+ #
177
+ # @return [String, nil]
178
+ optional :postcode, String, api_name: :Postcode
179
+
180
+ # @!attribute street
181
+ # Улица
182
+ #
183
+ # @return [String, nil]
184
+ optional :street, String, api_name: :Street
185
+
186
+ # @!method initialize(address: nil, birth: nil, city: nil, country: nil, first_name: nil, last_name: nil, middle_name: nil, phone: nil, postcode: nil, street: nil)
187
+ # Информация о плательщике
188
+ #
189
+ # @param address [String] Адрес
190
+ #
191
+ # @param birth [String] Дата рождения (YYYY-MM-DD)
192
+ #
193
+ # @param city [String] Город
194
+ #
195
+ # @param country [String] Страна (код ISO)
196
+ #
197
+ # @param first_name [String] Имя
198
+ #
199
+ # @param last_name [String] Фамилия
200
+ #
201
+ # @param middle_name [String] Отчество
202
+ #
203
+ # @param phone [String] Телефон
204
+ #
205
+ # @param postcode [String] Почтовый индекс
206
+ #
207
+ # @param street [String] Улица
208
+ end
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,167 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # Базовый ответ API
6
+ #
7
+ # @see CloudpaymentsRuby::Resources::Payments#charge
8
+ module PaymentChargeResponse
9
+ extend CloudpaymentsRuby::Internal::Type::Union
10
+
11
+ # Базовый ответ API
12
+ variant -> { CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember0 }
13
+
14
+ # Базовый ответ API
15
+ variant -> { CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1 }
16
+
17
+ class UnionMember0 < CloudpaymentsRuby::Internal::Type::BaseModel
18
+ # @!attribute success
19
+ # Результат выполнения запроса
20
+ #
21
+ # @return [Boolean]
22
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
23
+
24
+ # @!attribute message
25
+ # Описание ошибки (при наличии)
26
+ #
27
+ # @return [String, nil]
28
+ optional :message, String, api_name: :Message
29
+
30
+ # @!attribute model
31
+ # Модель транзакции в ответе API
32
+ #
33
+ # @return [CloudpaymentsRuby::Models::Transaction, nil]
34
+ optional :model, -> { CloudpaymentsRuby::Transaction }, api_name: :Model
35
+
36
+ # @!method initialize(success:, message: nil, model: nil)
37
+ # Базовый ответ API
38
+ #
39
+ # @param success [Boolean] Результат выполнения запроса
40
+ #
41
+ # @param message [String] Описание ошибки (при наличии)
42
+ #
43
+ # @param model [CloudpaymentsRuby::Models::Transaction] Модель транзакции в ответе API
44
+ end
45
+
46
+ class UnionMember1 < CloudpaymentsRuby::Internal::Type::BaseModel
47
+ # @!attribute success
48
+ # Результат выполнения запроса
49
+ #
50
+ # @return [Boolean]
51
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
52
+
53
+ # @!attribute message
54
+ # Описание ошибки (при наличии)
55
+ #
56
+ # @return [String, nil]
57
+ optional :message, String, api_name: :Message
58
+
59
+ # @!attribute model
60
+ # Модель ответа, требующего 3-D Secure аутентификацию
61
+ #
62
+ # @return [CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model, nil]
63
+ optional :model,
64
+ -> { CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model },
65
+ api_name: :Model
66
+
67
+ # @!method initialize(success:, message: nil, model: nil)
68
+ # Базовый ответ API
69
+ #
70
+ # @param success [Boolean] Результат выполнения запроса
71
+ #
72
+ # @param message [String] Описание ошибки (при наличии)
73
+ #
74
+ # @param model [CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1::Model] Модель ответа, требующего 3-D Secure аутентификацию
75
+
76
+ # @see CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1#model
77
+ class Model < CloudpaymentsRuby::Internal::Type::BaseModel
78
+ # @!attribute acs_url
79
+ # URL сервера аутентификации (ACS)
80
+ #
81
+ # @return [String]
82
+ required :acs_url, String, api_name: :AcsUrl
83
+
84
+ # @!attribute i_frame_is_allowed
85
+ # Разрешено ли использовать iframe
86
+ #
87
+ # @return [Boolean]
88
+ required :i_frame_is_allowed, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :IFrameIsAllowed
89
+
90
+ # @!attribute pa_req
91
+ # Параметр PaReq для ACS
92
+ #
93
+ # @return [String]
94
+ required :pa_req, String, api_name: :PaReq
95
+
96
+ # @!attribute three_ds_callback_id
97
+ # ID callback для 3DS
98
+ #
99
+ # @return [String]
100
+ required :three_ds_callback_id, String, api_name: :ThreeDsCallbackId
101
+
102
+ # @!attribute transaction_id
103
+ # ID транзакции (используется как MD)
104
+ #
105
+ # @return [Integer]
106
+ required :transaction_id, Integer, api_name: :TransactionId
107
+
108
+ # @!attribute escrow_accumulation_id
109
+ # ID накопления для безопасной сделки
110
+ #
111
+ # @return [String, nil]
112
+ optional :escrow_accumulation_id, String, api_name: :EscrowAccumulationId
113
+
114
+ # @!attribute frame_height
115
+ # Высота фрейма
116
+ #
117
+ # @return [Integer, nil]
118
+ optional :frame_height, Integer, api_name: :FrameHeight
119
+
120
+ # @!attribute frame_width
121
+ # Ширина фрейма
122
+ #
123
+ # @return [Integer, nil]
124
+ optional :frame_width, Integer, api_name: :FrameWidth
125
+
126
+ # @!attribute go_req
127
+ # Параметр GoReq (опционально)
128
+ #
129
+ # @return [String, nil]
130
+ optional :go_req, String, api_name: :GoReq
131
+
132
+ # @!attribute three_ds_session_data
133
+ # Данные сессии 3DS
134
+ #
135
+ # @return [String, nil]
136
+ optional :three_ds_session_data, String, api_name: :ThreeDsSessionData
137
+
138
+ # @!method initialize(acs_url:, i_frame_is_allowed:, pa_req:, three_ds_callback_id:, transaction_id:, escrow_accumulation_id: nil, frame_height: nil, frame_width: nil, go_req: nil, three_ds_session_data: nil)
139
+ # Модель ответа, требующего 3-D Secure аутентификацию
140
+ #
141
+ # @param acs_url [String] URL сервера аутентификации (ACS)
142
+ #
143
+ # @param i_frame_is_allowed [Boolean] Разрешено ли использовать iframe
144
+ #
145
+ # @param pa_req [String] Параметр PaReq для ACS
146
+ #
147
+ # @param three_ds_callback_id [String] ID callback для 3DS
148
+ #
149
+ # @param transaction_id [Integer] ID транзакции (используется как MD)
150
+ #
151
+ # @param escrow_accumulation_id [String] ID накопления для безопасной сделки
152
+ #
153
+ # @param frame_height [Integer] Высота фрейма
154
+ #
155
+ # @param frame_width [Integer] Ширина фрейма
156
+ #
157
+ # @param go_req [String] Параметр GoReq (опционально)
158
+ #
159
+ # @param three_ds_session_data [String] Данные сессии 3DS
160
+ end
161
+ end
162
+
163
+ # @!method self.variants
164
+ # @return [Array(CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember0, CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1)]
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#confirm
6
+ class PaymentConfirmParams < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
8
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute amount
11
+ # Сумма подтверждения
12
+ #
13
+ # @return [Float]
14
+ required :amount, Float, api_name: :Amount
15
+
16
+ # @!attribute transaction_id
17
+ # ID транзакции
18
+ #
19
+ # @return [Integer]
20
+ required :transaction_id, Integer, api_name: :TransactionId
21
+
22
+ # @!attribute json_data
23
+ # Дополнительные данные (JSON)
24
+ #
25
+ # @return [Object, nil]
26
+ optional :json_data, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :JsonData
27
+
28
+ # @!method initialize(amount:, transaction_id:, json_data: nil, request_options: {})
29
+ # @param amount [Float] Сумма подтверждения
30
+ #
31
+ # @param transaction_id [Integer] ID транзакции
32
+ #
33
+ # @param json_data [Object] Дополнительные данные (JSON)
34
+ #
35
+ # @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#confirm
6
+ class PaymentConfirmResponse < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ # Результат выполнения запроса
9
+ #
10
+ # @return [Boolean]
11
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
12
+
13
+ # @!attribute message
14
+ # Описание ошибки (при наличии)
15
+ #
16
+ # @return [String, nil]
17
+ optional :message, String, api_name: :Message
18
+
19
+ # @!method initialize(success:, message: nil)
20
+ # Пустой ответ API (только Success и Message)
21
+ #
22
+ # @param success [Boolean] Результат выполнения запроса
23
+ #
24
+ # @param message [String] Описание ошибки (при наличии)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#post3ds
6
+ class PaymentPost3dsParams < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
8
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute pa_res
11
+ # Результат 3-D Secure аутентификации
12
+ #
13
+ # @return [String]
14
+ required :pa_res, String, api_name: :PaRes
15
+
16
+ # @!attribute transaction_id
17
+ # ID транзакции (значение параметра MD)
18
+ #
19
+ # @return [Integer]
20
+ required :transaction_id, Integer, api_name: :TransactionId
21
+
22
+ # @!method initialize(pa_res:, transaction_id:, request_options: {})
23
+ # @param pa_res [String] Результат 3-D Secure аутентификации
24
+ #
25
+ # @param transaction_id [Integer] ID транзакции (значение параметра MD)
26
+ #
27
+ # @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#post3ds
6
+ class PaymentPost3dsResponse < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ # Результат выполнения запроса
9
+ #
10
+ # @return [Boolean]
11
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
12
+
13
+ # @!attribute message
14
+ # Описание ошибки (при наличии)
15
+ #
16
+ # @return [String, nil]
17
+ optional :message, String, api_name: :Message
18
+
19
+ # @!attribute model
20
+ # Модель транзакции в ответе API
21
+ #
22
+ # @return [CloudpaymentsRuby::Models::Transaction, nil]
23
+ optional :model, -> { CloudpaymentsRuby::Transaction }, api_name: :Model
24
+
25
+ # @!method initialize(success:, message: nil, model: nil)
26
+ # Базовый ответ API
27
+ #
28
+ # @param success [Boolean] Результат выполнения запроса
29
+ #
30
+ # @param message [String] Описание ошибки (при наличии)
31
+ #
32
+ # @param model [CloudpaymentsRuby::Models::Transaction] Модель транзакции в ответе API
33
+ end
34
+ end
35
+ end