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,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#refund
6
+ class PaymentRefundParams < 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,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#refund
6
+ class PaymentRefundResponse < 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
+ # Модель для ответа refund
21
+ #
22
+ # @return [CloudpaymentsRuby::Models::PaymentRefundResponse::Model, nil]
23
+ optional :model, -> { CloudpaymentsRuby::Models::PaymentRefundResponse::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::PaymentRefundResponse::Model] Модель для ответа refund
33
+
34
+ # @see CloudpaymentsRuby::Models::PaymentRefundResponse#model
35
+ class Model < CloudpaymentsRuby::Internal::Type::BaseModel
36
+ # @!attribute transaction_id
37
+ # ID транзакции возврата
38
+ #
39
+ # @return [Integer]
40
+ required :transaction_id, Integer, api_name: :TransactionId
41
+
42
+ # @!method initialize(transaction_id:)
43
+ # Модель для ответа refund
44
+ #
45
+ # @param transaction_id [Integer] ID транзакции возврата
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ # @see CloudpaymentsRuby::Resources::Payments#void
6
+ class PaymentVoidParams < CloudpaymentsRuby::Internal::Type::BaseModel
7
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
8
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute transaction_id
11
+ # ID транзакции
12
+ #
13
+ # @return [Integer]
14
+ required :transaction_id, Integer, api_name: :TransactionId
15
+
16
+ # @!method initialize(transaction_id:, request_options: {})
17
+ # @param transaction_id [Integer] ID транзакции
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::Payments#void
6
+ class PaymentVoidResponse < 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,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ module Payments
6
+ # @see CloudpaymentsRuby::Resources::Payments::Tokens#auth
7
+ class TokenAuthParams < CloudpaymentsRuby::Internal::Type::BaseModel
8
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
9
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
10
+
11
+ # @!attribute account_id
12
+ # Идентификатор пользователя
13
+ #
14
+ # @return [String]
15
+ required :account_id, String, api_name: :AccountId
16
+
17
+ # @!attribute amount
18
+ # Сумма платежа (до 2 знаков после точки)
19
+ #
20
+ # @return [Float]
21
+ required :amount, Float, api_name: :Amount
22
+
23
+ # @!attribute token
24
+ # Токен карты
25
+ #
26
+ # @return [String]
27
+ required :token, String, api_name: :Token
28
+
29
+ # @!attribute tr_initiator_code
30
+ # Признак инициатора транзакции: 0 — мерчант, 1 — держатель карты
31
+ #
32
+ # @return [Integer]
33
+ required :tr_initiator_code, Integer, api_name: :TrInitiatorCode
34
+
35
+ # @!attribute currency
36
+ # Валюта (RUB по умолчанию)
37
+ #
38
+ # @return [String, nil]
39
+ optional :currency, String, api_name: :Currency
40
+
41
+ # @!attribute description
42
+ # Описание платежа
43
+ #
44
+ # @return [String, nil]
45
+ optional :description, String, api_name: :Description
46
+
47
+ # @!attribute email
48
+ # Email плательщика
49
+ #
50
+ # @return [String, nil]
51
+ optional :email, String, api_name: :Email
52
+
53
+ # @!attribute invoice_id
54
+ # Номер заказа
55
+ #
56
+ # @return [String, nil]
57
+ optional :invoice_id, String, api_name: :InvoiceId
58
+
59
+ # @!attribute ip_address
60
+ # IP-адрес плательщика
61
+ #
62
+ # @return [String, nil]
63
+ optional :ip_address, String, api_name: :IpAddress
64
+
65
+ # @!attribute json_data
66
+ # Дополнительные данные (JSON)
67
+ #
68
+ # @return [Object, nil]
69
+ optional :json_data, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :JsonData
70
+
71
+ # @!attribute payer
72
+ # Информация о плательщике
73
+ #
74
+ # @return [CloudpaymentsRuby::Models::Payments::TokenAuthParams::Payer, nil]
75
+ optional :payer, -> { CloudpaymentsRuby::Payments::TokenAuthParams::Payer }, api_name: :Payer
76
+
77
+ # @!attribute payment_scheduled
78
+ # Признак регулярного платежа: 0 — нет, 1 — да
79
+ #
80
+ # @return [Integer, nil]
81
+ optional :payment_scheduled, Integer, api_name: :PaymentScheduled
82
+
83
+ # @!method initialize(account_id:, amount:, token:, tr_initiator_code:, currency: nil, description: nil, email: nil, invoice_id: nil, ip_address: nil, json_data: nil, payer: nil, payment_scheduled: nil, request_options: {})
84
+ # @param account_id [String] Идентификатор пользователя
85
+ #
86
+ # @param amount [Float] Сумма платежа (до 2 знаков после точки)
87
+ #
88
+ # @param token [String] Токен карты
89
+ #
90
+ # @param tr_initiator_code [Integer] Признак инициатора транзакции: 0 — мерчант, 1 — держатель карты
91
+ #
92
+ # @param currency [String] Валюта (RUB по умолчанию)
93
+ #
94
+ # @param description [String] Описание платежа
95
+ #
96
+ # @param email [String] Email плательщика
97
+ #
98
+ # @param invoice_id [String] Номер заказа
99
+ #
100
+ # @param ip_address [String] IP-адрес плательщика
101
+ #
102
+ # @param json_data [Object] Дополнительные данные (JSON)
103
+ #
104
+ # @param payer [CloudpaymentsRuby::Models::Payments::TokenAuthParams::Payer] Информация о плательщике
105
+ #
106
+ # @param payment_scheduled [Integer] Признак регулярного платежа: 0 — нет, 1 — да
107
+ #
108
+ # @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
109
+
110
+ class Payer < CloudpaymentsRuby::Internal::Type::BaseModel
111
+ # @!attribute address
112
+ # Адрес
113
+ #
114
+ # @return [String, nil]
115
+ optional :address, String, api_name: :Address
116
+
117
+ # @!attribute birth
118
+ # Дата рождения (YYYY-MM-DD)
119
+ #
120
+ # @return [String, nil]
121
+ optional :birth, String, api_name: :Birth
122
+
123
+ # @!attribute city
124
+ # Город
125
+ #
126
+ # @return [String, nil]
127
+ optional :city, String, api_name: :City
128
+
129
+ # @!attribute country
130
+ # Страна (код ISO)
131
+ #
132
+ # @return [String, nil]
133
+ optional :country, String, api_name: :Country
134
+
135
+ # @!attribute first_name
136
+ # Имя
137
+ #
138
+ # @return [String, nil]
139
+ optional :first_name, String, api_name: :FirstName
140
+
141
+ # @!attribute last_name
142
+ # Фамилия
143
+ #
144
+ # @return [String, nil]
145
+ optional :last_name, String, api_name: :LastName
146
+
147
+ # @!attribute middle_name
148
+ # Отчество
149
+ #
150
+ # @return [String, nil]
151
+ optional :middle_name, String, api_name: :MiddleName
152
+
153
+ # @!attribute phone
154
+ # Телефон
155
+ #
156
+ # @return [String, nil]
157
+ optional :phone, String, api_name: :Phone
158
+
159
+ # @!attribute postcode
160
+ # Почтовый индекс
161
+ #
162
+ # @return [String, nil]
163
+ optional :postcode, String, api_name: :Postcode
164
+
165
+ # @!attribute street
166
+ # Улица
167
+ #
168
+ # @return [String, nil]
169
+ optional :street, String, api_name: :Street
170
+
171
+ # @!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)
172
+ # Информация о плательщике
173
+ #
174
+ # @param address [String] Адрес
175
+ #
176
+ # @param birth [String] Дата рождения (YYYY-MM-DD)
177
+ #
178
+ # @param city [String] Город
179
+ #
180
+ # @param country [String] Страна (код ISO)
181
+ #
182
+ # @param first_name [String] Имя
183
+ #
184
+ # @param last_name [String] Фамилия
185
+ #
186
+ # @param middle_name [String] Отчество
187
+ #
188
+ # @param phone [String] Телефон
189
+ #
190
+ # @param postcode [String] Почтовый индекс
191
+ #
192
+ # @param street [String] Улица
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ module Payments
6
+ # @see CloudpaymentsRuby::Resources::Payments::Tokens#auth
7
+ class TokenAuthResponse < CloudpaymentsRuby::Internal::Type::BaseModel
8
+ # @!attribute success
9
+ # Результат выполнения запроса
10
+ #
11
+ # @return [Boolean]
12
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
13
+
14
+ # @!attribute message
15
+ # Описание ошибки (при наличии)
16
+ #
17
+ # @return [String, nil]
18
+ optional :message, String, api_name: :Message
19
+
20
+ # @!attribute model
21
+ # Модель транзакции в ответе API
22
+ #
23
+ # @return [CloudpaymentsRuby::Models::Transaction, nil]
24
+ optional :model, -> { CloudpaymentsRuby::Transaction }, api_name: :Model
25
+
26
+ # @!method initialize(success:, message: nil, model: nil)
27
+ # Базовый ответ API
28
+ #
29
+ # @param success [Boolean] Результат выполнения запроса
30
+ #
31
+ # @param message [String] Описание ошибки (при наличии)
32
+ #
33
+ # @param model [CloudpaymentsRuby::Models::Transaction] Модель транзакции в ответе API
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ module Payments
6
+ # @see CloudpaymentsRuby::Resources::Payments::Tokens#charge
7
+ class TokenChargeParams < CloudpaymentsRuby::Internal::Type::BaseModel
8
+ extend CloudpaymentsRuby::Internal::Type::RequestParameters::Converter
9
+ include CloudpaymentsRuby::Internal::Type::RequestParameters
10
+
11
+ # @!attribute account_id
12
+ # Идентификатор пользователя
13
+ #
14
+ # @return [String]
15
+ required :account_id, String, api_name: :AccountId
16
+
17
+ # @!attribute amount
18
+ # Сумма платежа (до 2 знаков после точки)
19
+ #
20
+ # @return [Float]
21
+ required :amount, Float, api_name: :Amount
22
+
23
+ # @!attribute token
24
+ # Токен карты
25
+ #
26
+ # @return [String]
27
+ required :token, String, api_name: :Token
28
+
29
+ # @!attribute tr_initiator_code
30
+ # Признак инициатора транзакции: 0 — мерчант, 1 — держатель карты
31
+ #
32
+ # @return [Integer]
33
+ required :tr_initiator_code, Integer, api_name: :TrInitiatorCode
34
+
35
+ # @!attribute currency
36
+ # Валюта (RUB по умолчанию)
37
+ #
38
+ # @return [String, nil]
39
+ optional :currency, String, api_name: :Currency
40
+
41
+ # @!attribute description
42
+ # Описание платежа
43
+ #
44
+ # @return [String, nil]
45
+ optional :description, String, api_name: :Description
46
+
47
+ # @!attribute email
48
+ # Email плательщика
49
+ #
50
+ # @return [String, nil]
51
+ optional :email, String, api_name: :Email
52
+
53
+ # @!attribute invoice_id
54
+ # Номер заказа
55
+ #
56
+ # @return [String, nil]
57
+ optional :invoice_id, String, api_name: :InvoiceId
58
+
59
+ # @!attribute ip_address
60
+ # IP-адрес плательщика
61
+ #
62
+ # @return [String, nil]
63
+ optional :ip_address, String, api_name: :IpAddress
64
+
65
+ # @!attribute json_data
66
+ # Дополнительные данные (JSON)
67
+ #
68
+ # @return [Object, nil]
69
+ optional :json_data, CloudpaymentsRuby::Internal::Type::Unknown, api_name: :JsonData
70
+
71
+ # @!attribute payer
72
+ # Информация о плательщике
73
+ #
74
+ # @return [CloudpaymentsRuby::Models::Payments::TokenChargeParams::Payer, nil]
75
+ optional :payer, -> { CloudpaymentsRuby::Payments::TokenChargeParams::Payer }, api_name: :Payer
76
+
77
+ # @!attribute payment_scheduled
78
+ # Признак регулярного платежа: 0 — нет, 1 — да
79
+ #
80
+ # @return [Integer, nil]
81
+ optional :payment_scheduled, Integer, api_name: :PaymentScheduled
82
+
83
+ # @!method initialize(account_id:, amount:, token:, tr_initiator_code:, currency: nil, description: nil, email: nil, invoice_id: nil, ip_address: nil, json_data: nil, payer: nil, payment_scheduled: nil, request_options: {})
84
+ # @param account_id [String] Идентификатор пользователя
85
+ #
86
+ # @param amount [Float] Сумма платежа (до 2 знаков после точки)
87
+ #
88
+ # @param token [String] Токен карты
89
+ #
90
+ # @param tr_initiator_code [Integer] Признак инициатора транзакции: 0 — мерчант, 1 — держатель карты
91
+ #
92
+ # @param currency [String] Валюта (RUB по умолчанию)
93
+ #
94
+ # @param description [String] Описание платежа
95
+ #
96
+ # @param email [String] Email плательщика
97
+ #
98
+ # @param invoice_id [String] Номер заказа
99
+ #
100
+ # @param ip_address [String] IP-адрес плательщика
101
+ #
102
+ # @param json_data [Object] Дополнительные данные (JSON)
103
+ #
104
+ # @param payer [CloudpaymentsRuby::Models::Payments::TokenChargeParams::Payer] Информация о плательщике
105
+ #
106
+ # @param payment_scheduled [Integer] Признак регулярного платежа: 0 — нет, 1 — да
107
+ #
108
+ # @param request_options [CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}]
109
+
110
+ class Payer < CloudpaymentsRuby::Internal::Type::BaseModel
111
+ # @!attribute address
112
+ # Адрес
113
+ #
114
+ # @return [String, nil]
115
+ optional :address, String, api_name: :Address
116
+
117
+ # @!attribute birth
118
+ # Дата рождения (YYYY-MM-DD)
119
+ #
120
+ # @return [String, nil]
121
+ optional :birth, String, api_name: :Birth
122
+
123
+ # @!attribute city
124
+ # Город
125
+ #
126
+ # @return [String, nil]
127
+ optional :city, String, api_name: :City
128
+
129
+ # @!attribute country
130
+ # Страна (код ISO)
131
+ #
132
+ # @return [String, nil]
133
+ optional :country, String, api_name: :Country
134
+
135
+ # @!attribute first_name
136
+ # Имя
137
+ #
138
+ # @return [String, nil]
139
+ optional :first_name, String, api_name: :FirstName
140
+
141
+ # @!attribute last_name
142
+ # Фамилия
143
+ #
144
+ # @return [String, nil]
145
+ optional :last_name, String, api_name: :LastName
146
+
147
+ # @!attribute middle_name
148
+ # Отчество
149
+ #
150
+ # @return [String, nil]
151
+ optional :middle_name, String, api_name: :MiddleName
152
+
153
+ # @!attribute phone
154
+ # Телефон
155
+ #
156
+ # @return [String, nil]
157
+ optional :phone, String, api_name: :Phone
158
+
159
+ # @!attribute postcode
160
+ # Почтовый индекс
161
+ #
162
+ # @return [String, nil]
163
+ optional :postcode, String, api_name: :Postcode
164
+
165
+ # @!attribute street
166
+ # Улица
167
+ #
168
+ # @return [String, nil]
169
+ optional :street, String, api_name: :Street
170
+
171
+ # @!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)
172
+ # Информация о плательщике
173
+ #
174
+ # @param address [String] Адрес
175
+ #
176
+ # @param birth [String] Дата рождения (YYYY-MM-DD)
177
+ #
178
+ # @param city [String] Город
179
+ #
180
+ # @param country [String] Страна (код ISO)
181
+ #
182
+ # @param first_name [String] Имя
183
+ #
184
+ # @param last_name [String] Фамилия
185
+ #
186
+ # @param middle_name [String] Отчество
187
+ #
188
+ # @param phone [String] Телефон
189
+ #
190
+ # @param postcode [String] Почтовый индекс
191
+ #
192
+ # @param street [String] Улица
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudpaymentsRuby
4
+ module Models
5
+ module Payments
6
+ # @see CloudpaymentsRuby::Resources::Payments::Tokens#charge
7
+ class TokenChargeResponse < CloudpaymentsRuby::Internal::Type::BaseModel
8
+ # @!attribute success
9
+ # Результат выполнения запроса
10
+ #
11
+ # @return [Boolean]
12
+ required :success, CloudpaymentsRuby::Internal::Type::Boolean, api_name: :Success
13
+
14
+ # @!attribute message
15
+ # Описание ошибки (при наличии)
16
+ #
17
+ # @return [String, nil]
18
+ optional :message, String, api_name: :Message
19
+
20
+ # @!attribute model
21
+ # Модель транзакции в ответе API
22
+ #
23
+ # @return [CloudpaymentsRuby::Models::Transaction, nil]
24
+ optional :model, -> { CloudpaymentsRuby::Transaction }, api_name: :Model
25
+
26
+ # @!method initialize(success:, message: nil, model: nil)
27
+ # Базовый ответ API
28
+ #
29
+ # @param success [Boolean] Результат выполнения запроса
30
+ #
31
+ # @param message [String] Описание ошибки (при наличии)
32
+ #
33
+ # @param model [CloudpaymentsRuby::Models::Transaction] Модель транзакции в ответе API
34
+ end
35
+ end
36
+ end
37
+ end