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,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Internal
5
+ extend CloudpaymentsRuby::Internal::Util::SorbetRuntimeSupport
6
+
7
+ OMIT =
8
+ Object.new.tap do
9
+ _1.define_singleton_method(:inspect) { "#<#{CloudpaymentsRuby::Internal}::OMIT>" }
10
+ end
11
+ .freeze
12
+
13
+ define_sorbet_constant!(:AnyHash) do
14
+ T.type_alias { T::Hash[Symbol, T.anything] }
15
+ end
16
+ define_sorbet_constant!(:FileInput) do
17
+ T.type_alias { T.any(Pathname, StringIO, IO, String, CloudpaymentsRuby::FilePart) }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Orders#cancel
6
+ class OrderCancelParams < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
8
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ # Идентификатор заказа
12
+ #
13
+ # @return [String]
14
+ required :id, String, api_name: :Id
15
+
16
+ # @!method initialize(id:, request_options: {})
17
+ # @param id [String] Идентификатор заказа
18
+ #
19
+ # @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Orders#cancel
6
+ class OrderCancelResponse < 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,152 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Orders#create
6
+ class OrderCreateParams < 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 description
17
+ # Описание платежа
18
+ #
19
+ # @return [String]
20
+ required :description, String, api_name: :Description
21
+
22
+ # @!attribute account_id
23
+ # Идентификатор пользователя
24
+ #
25
+ # @return [String, nil]
26
+ optional :account_id, String, api_name: :AccountId
27
+
28
+ # @!attribute culture_name
29
+ # Язык уведомлений (ru-RU, en-US)
30
+ #
31
+ # @return [String, nil]
32
+ optional :culture_name, String, api_name: :CultureName
33
+
34
+ # @!attribute currency
35
+ # Валюта (RUB по умолчанию)
36
+ #
37
+ # @return [String, nil]
38
+ optional :currency, String, api_name: :Currency
39
+
40
+ # @!attribute email
41
+ # Email плательщика
42
+ #
43
+ # @return [String, nil]
44
+ optional :email, String, api_name: :Email
45
+
46
+ # @!attribute fail_redirect_url
47
+ # URL редиректа при неуспешной оплате
48
+ #
49
+ # @return [String, nil]
50
+ optional :fail_redirect_url, String, api_name: :FailRedirectUrl
51
+
52
+ # @!attribute invoice_id
53
+ # Номер заказа в системе мерчанта
54
+ #
55
+ # @return [String, nil]
56
+ optional :invoice_id, String, api_name: :InvoiceId
57
+
58
+ # @!attribute json_data
59
+ # Дополнительные данные (JSON)
60
+ #
61
+ # @return [Object, nil]
62
+ optional :json_data, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :JsonData
63
+
64
+ # @!attribute offer_uri
65
+ # Ссылка на оферту
66
+ #
67
+ # @return [String, nil]
68
+ optional :offer_uri, String, api_name: :OfferUri
69
+
70
+ # @!attribute phone
71
+ # Телефон плательщика
72
+ #
73
+ # @return [String, nil]
74
+ optional :phone, String, api_name: :Phone
75
+
76
+ # @!attribute require_confirmation
77
+ # Требуется подтверждение (двухстадийная схема)
78
+ #
79
+ # @return [Boolean, nil]
80
+ optional :require_confirmation,
81
+ CloudpaymentsRuby::Internal::Type::Boolean,
82
+ api_name: :RequireConfirmation
83
+
84
+ # @!attribute send_email
85
+ # Отправить ссылку на email
86
+ #
87
+ # @return [Boolean, nil]
88
+ optional :send_email, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :SendEmail
89
+
90
+ # @!attribute send_sms
91
+ # Отправить ссылку по SMS
92
+ #
93
+ # @return [Boolean, nil]
94
+ optional :send_sms, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :SendSms
95
+
96
+ # @!attribute send_viber
97
+ # Отправить ссылку через Viber
98
+ #
99
+ # @return [Boolean, nil]
100
+ optional :send_viber, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :SendViber
101
+
102
+ # @!attribute subscription_behavior
103
+ # Поведение подписки: CreateWeekly, CreateMonthly
104
+ #
105
+ # @return [String, nil]
106
+ optional :subscription_behavior, String, api_name: :SubscriptionBehavior
107
+
108
+ # @!attribute success_redirect_url
109
+ # URL редиректа при успешной оплате
110
+ #
111
+ # @return [String, nil]
112
+ optional :success_redirect_url, String, api_name: :SuccessRedirectUrl
113
+
114
+ # @!method initialize(amount:, description:, account_id: nil, culture_name: nil, currency: nil, email: nil, fail_redirect_url: nil, invoice_id: nil, json_data: nil, offer_uri: nil, phone: nil, require_confirmation: nil, send_email: nil, send_sms: nil, send_viber: nil, subscription_behavior: nil, success_redirect_url: nil, request_options: {})
115
+ # @param amount [Float] Сумма платежа
116
+ #
117
+ # @param description [String] Описание платежа
118
+ #
119
+ # @param account_id [String] Идентификатор пользователя
120
+ #
121
+ # @param culture_name [String] Язык уведомлений (ru-RU, en-US)
122
+ #
123
+ # @param currency [String] Валюта (RUB по умолчанию)
124
+ #
125
+ # @param email [String] Email плательщика
126
+ #
127
+ # @param fail_redirect_url [String] URL редиректа при неуспешной оплате
128
+ #
129
+ # @param invoice_id [String] Номер заказа в системе мерчанта
130
+ #
131
+ # @param json_data [Object] Дополнительные данные (JSON)
132
+ #
133
+ # @param offer_uri [String] Ссылка на оферту
134
+ #
135
+ # @param phone [String] Телефон плательщика
136
+ #
137
+ # @param require_confirmation [Boolean] Требуется подтверждение (двухстадийная схема)
138
+ #
139
+ # @param send_email [Boolean] Отправить ссылку на email
140
+ #
141
+ # @param send_sms [Boolean] Отправить ссылку по SMS
142
+ #
143
+ # @param send_viber [Boolean] Отправить ссылку через Viber
144
+ #
145
+ # @param subscription_behavior [String] Поведение подписки: CreateWeekly, CreateMonthly
146
+ #
147
+ # @param success_redirect_url [String] URL редиректа при успешной оплате
148
+ #
149
+ # @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
150
+ end
151
+ end
152
+ end
@@ -0,0 +1,187 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Orders#create
6
+ class OrderCreateResponse < 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
+ # Модель заказа (счёта)
21
+ #
22
+ # @return [CloudpaymentsRuby::Models::OrderCreateResponse::Model, nil]
23
+ optional :model, -> { CloudpaymentsRuby::Models::OrderCreateResponse::Model }, 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::OrderCreateResponse::Model] Модель заказа (счёта)
33
+
34
+ # @see CloudpaymentsRuby::Models::OrderCreateResponse#model
35
+ class Model < CloudpaymentsRuby::Internal::Type::BaseModel
36
+ # @!attribute amount
37
+ # Сумма платежа
38
+ #
39
+ # @return [Float]
40
+ required :amount, Float, api_name: :Amount
41
+
42
+ # @!attribute created_date
43
+ # Дата создания (формат /Date(...)/)
44
+ #
45
+ # @return [String]
46
+ required :created_date, String, api_name: :CreatedDate
47
+
48
+ # @!attribute created_date_iso
49
+ # Дата создания ISO
50
+ #
51
+ # @return [String]
52
+ required :created_date_iso, String, api_name: :CreatedDateIso
53
+
54
+ # @!attribute culture_name
55
+ # Язык
56
+ #
57
+ # @return [String]
58
+ required :culture_name, String, api_name: :CultureName
59
+
60
+ # @!attribute currency
61
+ # Валюта
62
+ #
63
+ # @return [String]
64
+ required :currency, String, api_name: :Currency
65
+
66
+ # @!attribute currency_code
67
+ # Код валюты
68
+ #
69
+ # @return [Integer]
70
+ required :currency_code, Integer, api_name: :CurrencyCode
71
+
72
+ # @!attribute description
73
+ # Описание платежа
74
+ #
75
+ # @return [String]
76
+ required :description, String, api_name: :Description
77
+
78
+ # @!attribute id
79
+ # Идентификатор заказа
80
+ #
81
+ # @return [String]
82
+ required :id, String, api_name: :Id
83
+
84
+ # @!attribute internal_id
85
+ # Внутренний ID
86
+ #
87
+ # @return [Integer]
88
+ required :internal_id, Integer, api_name: :InternalId
89
+
90
+ # @!attribute number
91
+ # Номер заказа
92
+ #
93
+ # @return [Integer]
94
+ required :number, Integer, api_name: :Number
95
+
96
+ # @!attribute require_confirmation
97
+ # Требуется подтверждение (двухстадийная схема)
98
+ #
99
+ # @return [Boolean]
100
+ required :require_confirmation,
101
+ CloudpaymentsRuby::Internal::Type::Boolean,
102
+ api_name: :RequireConfirmation
103
+
104
+ # @!attribute status
105
+ # Статус
106
+ #
107
+ # @return [String]
108
+ required :status, String, api_name: :Status
109
+
110
+ # @!attribute status_code
111
+ # Код статуса
112
+ #
113
+ # @return [Integer]
114
+ required :status_code, Integer, api_name: :StatusCode
115
+
116
+ # @!attribute url
117
+ # Ссылка на оплату
118
+ #
119
+ # @return [String]
120
+ required :url, String, api_name: :Url
121
+
122
+ # @!attribute email
123
+ # Email плательщика
124
+ #
125
+ # @return [String, nil]
126
+ optional :email, String, api_name: :Email
127
+
128
+ # @!attribute payment_date
129
+ # Дата оплаты
130
+ #
131
+ # @return [String, nil]
132
+ optional :payment_date, String, api_name: :PaymentDate
133
+
134
+ # @!attribute payment_date_iso
135
+ # Дата оплаты ISO
136
+ #
137
+ # @return [String, nil]
138
+ optional :payment_date_iso, String, api_name: :PaymentDateIso
139
+
140
+ # @!attribute phone
141
+ # Телефон плательщика
142
+ #
143
+ # @return [String, nil]
144
+ optional :phone, String, api_name: :Phone
145
+
146
+ # @!method initialize(amount:, created_date:, created_date_iso:, culture_name:, currency:, currency_code:, description:, id:, internal_id:, number:, require_confirmation:, status:, status_code:, url:, email: nil, payment_date: nil, payment_date_iso: nil, phone: nil)
147
+ # Модель заказа (счёта)
148
+ #
149
+ # @param amount [Float] Сумма платежа
150
+ #
151
+ # @param created_date [String] Дата создания (формат /Date(...)/)
152
+ #
153
+ # @param created_date_iso [String] Дата создания ISO
154
+ #
155
+ # @param culture_name [String] Язык
156
+ #
157
+ # @param currency [String] Валюта
158
+ #
159
+ # @param currency_code [Integer] Код валюты
160
+ #
161
+ # @param description [String] Описание платежа
162
+ #
163
+ # @param id [String] Идентификатор заказа
164
+ #
165
+ # @param internal_id [Integer] Внутренний ID
166
+ #
167
+ # @param number [Integer] Номер заказа
168
+ #
169
+ # @param require_confirmation [Boolean] Требуется подтверждение (двухстадийная схема)
170
+ #
171
+ # @param status [String] Статус
172
+ #
173
+ # @param status_code [Integer] Код статуса
174
+ #
175
+ # @param url [String] Ссылка на оплату
176
+ #
177
+ # @param email [String] Email плательщика
178
+ #
179
+ # @param payment_date [String] Дата оплаты
180
+ #
181
+ # @param payment_date_iso [String] Дата оплаты ISO
182
+ #
183
+ # @param phone [String] Телефон плательщика
184
+ end
185
+ end
186
+ end
187
+ end
@@ -0,0 +1,211 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#auth
6
+ class PaymentAuthParams < 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::PaymentAuthParams::Payer, nil]
80
+ optional :payer, -> { CloudpaymentsRuby::PaymentAuthParams::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::PaymentAuthParams::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