yoomoney 0.3.0 → 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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/yoomoney/internal/util.rb +31 -0
  5. data/lib/yoomoney/models/airline.rb +50 -6
  6. data/lib/yoomoney/models/deal_retrieve_params.rb +7 -1
  7. data/lib/yoomoney/models/invoice_retrieve_params.rb +7 -1
  8. data/lib/yoomoney/models/payment_cancel_params.rb +7 -1
  9. data/lib/yoomoney/models/payment_capture_params.rb +8 -1
  10. data/lib/yoomoney/models/payment_method_retrieve_params.rb +7 -1
  11. data/lib/yoomoney/models/payment_retrieve_params.rb +7 -1
  12. data/lib/yoomoney/models/payout_retrieve_params.rb +7 -1
  13. data/lib/yoomoney/models/personal_data_create_params.rb +70 -46
  14. data/lib/yoomoney/models/personal_data_retrieve_params.rb +7 -1
  15. data/lib/yoomoney/models/receipt_create_params.rb +120 -2
  16. data/lib/yoomoney/models/receipt_data.rb +123 -3
  17. data/lib/yoomoney/models/receipt_retrieve_params.rb +7 -1
  18. data/lib/yoomoney/models/refund_retrieve_params.rb +7 -1
  19. data/lib/yoomoney/models/webhook_delete_params.rb +7 -1
  20. data/lib/yoomoney/models.rb +0 -6
  21. data/lib/yoomoney/resources/deals.rb +2 -1
  22. data/lib/yoomoney/resources/me.rb +2 -1
  23. data/lib/yoomoney/resources/payments.rb +2 -1
  24. data/lib/yoomoney/resources/payouts.rb +4 -2
  25. data/lib/yoomoney/resources/personal_data.rb +4 -16
  26. data/lib/yoomoney/resources/receipts.rb +2 -1
  27. data/lib/yoomoney/resources/refunds.rb +2 -1
  28. data/lib/yoomoney/version.rb +1 -1
  29. data/lib/yoomoney.rb +1 -4
  30. data/rbi/yoomoney/internal/util.rbi +20 -0
  31. data/rbi/yoomoney/models/airline.rbi +84 -8
  32. data/rbi/yoomoney/models/deal_retrieve_params.rbi +13 -5
  33. data/rbi/yoomoney/models/invoice_retrieve_params.rbi +13 -5
  34. data/rbi/yoomoney/models/payment_cancel_params.rbi +10 -2
  35. data/rbi/yoomoney/models/payment_capture_params.rbi +6 -0
  36. data/rbi/yoomoney/models/payment_method_retrieve_params.rbi +16 -5
  37. data/rbi/yoomoney/models/payment_retrieve_params.rbi +13 -5
  38. data/rbi/yoomoney/models/payout_retrieve_params.rbi +13 -5
  39. data/rbi/yoomoney/models/personal_data_create_params.rbi +140 -55
  40. data/rbi/yoomoney/models/personal_data_retrieve_params.rbi +16 -5
  41. data/rbi/yoomoney/models/receipt_create_params.rbi +159 -1
  42. data/rbi/yoomoney/models/receipt_data.rbi +185 -3
  43. data/rbi/yoomoney/models/receipt_retrieve_params.rbi +13 -5
  44. data/rbi/yoomoney/models/refund_retrieve_params.rbi +13 -5
  45. data/rbi/yoomoney/models/webhook_delete_params.rbi +13 -5
  46. data/rbi/yoomoney/models.rbi +0 -6
  47. data/rbi/yoomoney/resources/personal_data.rbi +7 -19
  48. data/sig/yoomoney/internal/util.rbs +10 -0
  49. data/sig/yoomoney/models/airline.rbs +58 -12
  50. data/sig/yoomoney/models/deal_retrieve_params.rbs +11 -3
  51. data/sig/yoomoney/models/invoice_retrieve_params.rbs +11 -3
  52. data/sig/yoomoney/models/payment_cancel_params.rbs +6 -1
  53. data/sig/yoomoney/models/payment_capture_params.rbs +5 -0
  54. data/sig/yoomoney/models/payment_method_retrieve_params.rbs +12 -3
  55. data/sig/yoomoney/models/payment_retrieve_params.rbs +11 -3
  56. data/sig/yoomoney/models/payout_retrieve_params.rbs +11 -3
  57. data/sig/yoomoney/models/personal_data_create_params.rbs +73 -29
  58. data/sig/yoomoney/models/personal_data_retrieve_params.rbs +12 -3
  59. data/sig/yoomoney/models/receipt_create_params.rbs +119 -7
  60. data/sig/yoomoney/models/receipt_data.rbs +128 -4
  61. data/sig/yoomoney/models/receipt_retrieve_params.rbs +11 -3
  62. data/sig/yoomoney/models/refund_retrieve_params.rbs +11 -3
  63. data/sig/yoomoney/models/webhook_delete_params.rbs +11 -3
  64. data/sig/yoomoney/models.rbs +0 -6
  65. data/sig/yoomoney/resources/personal_data.rbs +1 -5
  66. metadata +2 -11
  67. data/lib/yoomoney/models/airline_leg.rb +0 -33
  68. data/lib/yoomoney/models/airline_passenger.rb +0 -21
  69. data/lib/yoomoney/models/receipt_data_item.rb +0 -125
  70. data/rbi/yoomoney/models/airline_leg.rbi +0 -56
  71. data/rbi/yoomoney/models/airline_passenger.rbi +0 -28
  72. data/rbi/yoomoney/models/receipt_data_item.rbi +0 -185
  73. data/sig/yoomoney/models/airline_leg.rbs +0 -37
  74. data/sig/yoomoney/models/airline_passenger.rbs +0 -15
  75. data/sig/yoomoney/models/receipt_data_item.rbs +0 -127
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a8c0d19b753c15f1a35d09005b4802fa18675662c632968f6d2089b217df3c1
4
- data.tar.gz: b2a4b06cfc640d396a251baec125b60eeb9ab68328177b169353d8a2ad51e323
3
+ metadata.gz: 5a9dd0aa982a39414ab87a649a2c640d6ded44640cb26a816d9c2a007611a886
4
+ data.tar.gz: 20abe4c00231561b2d7e5dc856c36865198f79e2c561c6623b6be5f4a1dcc0f0
5
5
  SHA512:
6
- metadata.gz: 72ec1d4c85653a922dff564453b8163f048254a5cd3759e13694f9af98864202ae650ced15543a21604408baa7f5570aa22c181c08391c47f35a8b9514d05720
7
- data.tar.gz: e378220ca735b248a46055d4ca0cd87e99b409f09bfedefc7ff30a6ff74f61ba71f8d2f3d321c2f02b832f53fb9ed62e5a3a60e6f32bf7b035eeaef7863205e5
6
+ metadata.gz: c7948b62da23b4d1ef45daec6d7fd89b38cc685dbf1b677d02f48bf6f3d25fd8510782bfa09953e645de0c9d952cb1e45365ab70321d01aac014428260678814
7
+ data.tar.gz: a7d33fa092c2651fa73100150415450e0f00567e7998ca4b74f8cfee7b924c85405f679cd9309a590db10414eb19569236a25f7a3b73496c80e6bbabae9b1226
data/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.1 (2026-03-07)
4
+
5
+ Full Changelog: [v0.4.0...v0.4.1](https://github.com/Hexlet/yoomoney-ruby/compare/v0.4.0...v0.4.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * properly mock time in ruby ci tests ([0b0f2b9](https://github.com/Hexlet/yoomoney-ruby/commit/0b0f2b9b46b018511f77974f9c07bf16c41b9de8))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **ci:** add build step ([97e903b](https://github.com/Hexlet/yoomoney-ruby/commit/97e903b2e36f772efddd46fe27068e52c83bbd9c))
15
+ * **ci:** skip uploading artifacts on stainless-internal branches ([769989f](https://github.com/Hexlet/yoomoney-ruby/commit/769989fb624918ba20854868cb63f4f5205a0e4a))
16
+ * **internal:** codegen related update ([9f0b901](https://github.com/Hexlet/yoomoney-ruby/commit/9f0b9017a1935611d16145bee578e2bd020b2e3e))
17
+ * **internal:** codegen related update ([a3a34e9](https://github.com/Hexlet/yoomoney-ruby/commit/a3a34e92ccdbaf9b73180348eb9e6d748027aaf5))
18
+ * **internal:** remove mock server code ([ff71548](https://github.com/Hexlet/yoomoney-ruby/commit/ff7154864d2ab53d55c4eeacb28120965dca14a1))
19
+ * update mock server docs ([98bf708](https://github.com/Hexlet/yoomoney-ruby/commit/98bf7084f1c04c1d0c816d96584a4074e9187024))
20
+
21
+ ## 0.4.0 (2026-02-19)
22
+
23
+ Full Changelog: [v0.3.0...v0.4.0](https://github.com/Hexlet/yoomoney-ruby/compare/v0.3.0...v0.4.0)
24
+
25
+ ### Features
26
+
27
+ * **api:** api update ([c792fd8](https://github.com/Hexlet/yoomoney-ruby/commit/c792fd813fb0c1937753a2deda1c1d763af4081d))
28
+
3
29
  ## 0.3.0 (2026-02-19)
4
30
 
5
31
  Full Changelog: [v0.2.0...v0.3.0](https://github.com/Hexlet/yoomoney-ruby/compare/v0.2.0...v0.3.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "yoomoney", "~> 0.3.0"
18
+ gem "yoomoney", "~> 0.4.1"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -490,6 +490,37 @@ module Yoomoney
490
490
  JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491
491
 
492
492
  class << self
493
+ # @api private
494
+ #
495
+ # @param query [Hash{Symbol=>Object}]
496
+ #
497
+ # @return [Hash{Symbol=>Object}]
498
+ def encode_query_params(query)
499
+ out = {}
500
+ query.each { write_query_param_element!(out, _1, _2) }
501
+ out
502
+ end
503
+
504
+ # @api private
505
+ #
506
+ # @param collection [Hash{Symbol=>Object}]
507
+ # @param key [String]
508
+ # @param element [Object]
509
+ #
510
+ # @return [nil]
511
+ private def write_query_param_element!(collection, key, element)
512
+ case element
513
+ in Hash
514
+ element.each do |name, value|
515
+ write_query_param_element!(collection, "#{key}[#{name}]", value)
516
+ end
517
+ in Array
518
+ collection[key] = element.map(&:to_s).join(",")
519
+ else
520
+ collection[key] = element.to_s
521
+ end
522
+ end
523
+
493
524
  # @api private
494
525
  #
495
526
  # @param y [Enumerator::Yielder]
@@ -10,13 +10,13 @@ module Yoomoney
10
10
 
11
11
  # @!attribute legs
12
12
  #
13
- # @return [Array<Yoomoney::Models::AirlineLeg>, nil]
14
- optional :legs, -> { Yoomoney::Internal::Type::ArrayOf[Yoomoney::AirlineLeg] }
13
+ # @return [Array<Yoomoney::Models::Airline::Leg>, nil]
14
+ optional :legs, -> { Yoomoney::Internal::Type::ArrayOf[Yoomoney::Airline::Leg] }
15
15
 
16
16
  # @!attribute passengers
17
17
  #
18
- # @return [Array<Yoomoney::Models::AirlinePassenger>, nil]
19
- optional :passengers, -> { Yoomoney::Internal::Type::ArrayOf[Yoomoney::AirlinePassenger] }
18
+ # @return [Array<Yoomoney::Models::Airline::Passenger>, nil]
19
+ optional :passengers, -> { Yoomoney::Internal::Type::ArrayOf[Yoomoney::Airline::Passenger] }
20
20
 
21
21
  # @!attribute ticket_number
22
22
  #
@@ -25,9 +25,53 @@ module Yoomoney
25
25
 
26
26
  # @!method initialize(booking_reference: nil, legs: nil, passengers: nil, ticket_number: nil)
27
27
  # @param booking_reference [String]
28
- # @param legs [Array<Yoomoney::Models::AirlineLeg>]
29
- # @param passengers [Array<Yoomoney::Models::AirlinePassenger>]
28
+ # @param legs [Array<Yoomoney::Models::Airline::Leg>]
29
+ # @param passengers [Array<Yoomoney::Models::Airline::Passenger>]
30
30
  # @param ticket_number [String]
31
+
32
+ class Leg < Yoomoney::Internal::Type::BaseModel
33
+ # @!attribute departure_airport
34
+ #
35
+ # @return [String]
36
+ required :departure_airport, String
37
+
38
+ # @!attribute departure_date
39
+ #
40
+ # @return [String]
41
+ required :departure_date, String
42
+
43
+ # @!attribute destination_airport
44
+ #
45
+ # @return [String]
46
+ required :destination_airport, String
47
+
48
+ # @!attribute carrier_code
49
+ #
50
+ # @return [String, nil]
51
+ optional :carrier_code, String
52
+
53
+ # @!method initialize(departure_airport:, departure_date:, destination_airport:, carrier_code: nil)
54
+ # @param departure_airport [String]
55
+ # @param departure_date [String]
56
+ # @param destination_airport [String]
57
+ # @param carrier_code [String]
58
+ end
59
+
60
+ class Passenger < Yoomoney::Internal::Type::BaseModel
61
+ # @!attribute first_name
62
+ #
63
+ # @return [String]
64
+ required :first_name, String
65
+
66
+ # @!attribute last_name
67
+ #
68
+ # @return [String]
69
+ required :last_name, String
70
+
71
+ # @!method initialize(first_name:, last_name:)
72
+ # @param first_name [String]
73
+ # @param last_name [String]
74
+ end
31
75
  end
32
76
  end
33
77
  end
@@ -7,7 +7,13 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute deal_id
11
+ #
12
+ # @return [String]
13
+ required :deal_id, String
14
+
15
+ # @!method initialize(deal_id:, request_options: {})
16
+ # @param deal_id [String]
11
17
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,7 +7,13 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute invoice_id
11
+ #
12
+ # @return [String]
13
+ required :invoice_id, String
14
+
15
+ # @!method initialize(invoice_id:, request_options: {})
16
+ # @param invoice_id [String]
11
17
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,12 +7,18 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute payment_id
11
+ #
12
+ # @return [String]
13
+ required :payment_id, String
14
+
10
15
  # @!attribute idempotence_key
11
16
  #
12
17
  # @return [String]
13
18
  required :idempotence_key, String
14
19
 
15
- # @!method initialize(idempotence_key:, request_options: {})
20
+ # @!method initialize(payment_id:, idempotence_key:, request_options: {})
21
+ # @param payment_id [String]
16
22
  # @param idempotence_key [String]
17
23
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
18
24
  end
@@ -7,6 +7,11 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute payment_id
11
+ #
12
+ # @return [String]
13
+ required :payment_id, String
14
+
10
15
  # @!attribute idempotence_key
11
16
  #
12
17
  # @return [String]
@@ -42,7 +47,9 @@ module Yoomoney
42
47
  # @return [Array<Yoomoney::Models::TransferData>, nil]
43
48
  optional :transfers, -> { Yoomoney::Internal::Type::ArrayOf[Yoomoney::TransferData] }
44
49
 
45
- # @!method initialize(idempotence_key:, airline: nil, amount: nil, deal: nil, receipt: nil, transfers: nil, request_options: {})
50
+ # @!method initialize(payment_id:, idempotence_key:, airline: nil, amount: nil, deal: nil, receipt: nil, transfers: nil, request_options: {})
51
+ # @param payment_id [String]
52
+ #
46
53
  # @param idempotence_key [String]
47
54
  #
48
55
  # @param airline [Yoomoney::Models::Airline] Данные для продажи авиабилетов.
@@ -7,7 +7,13 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute payment_method_id
11
+ #
12
+ # @return [String]
13
+ required :payment_method_id, String
14
+
15
+ # @!method initialize(payment_method_id:, request_options: {})
16
+ # @param payment_method_id [String]
11
17
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,7 +7,13 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute payment_id
11
+ #
12
+ # @return [String]
13
+ required :payment_id, String
14
+
15
+ # @!method initialize(payment_id:, request_options: {})
16
+ # @param payment_id [String]
11
17
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,7 +7,13 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute payout_id
11
+ #
12
+ # @return [String]
13
+ required :payout_id, String
14
+
15
+ # @!method initialize(payout_id:, request_options: {})
16
+ # @param payout_id [String]
11
17
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,61 +7,85 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute first_name
11
- # Имя.
10
+ # @!attribute body
12
11
  #
13
- # @return [String]
14
- required :first_name, String
15
-
16
- # @!attribute last_name
17
- # Фамилия.
18
- #
19
- # @return [String]
20
- required :last_name, String
21
-
22
- # @!attribute type
23
- # Тип персональных данных.
24
- #
25
- # @return [Symbol, Yoomoney::Models::PersonalDataType]
26
- required :type, enum: -> { Yoomoney::PersonalDataType }
12
+ # @return [Yoomoney::Models::PersonalDataCreateParams::Body::SbpPayoutRecipientPersonalDataRequest, Yoomoney::Models::PersonalDataCreateParams::Body::PayoutStatementRecipientPersonalDataRequest]
13
+ required :body, union: -> { Yoomoney::PersonalDataCreateParams::Body }
27
14
 
28
15
  # @!attribute idempotence_key
29
16
  #
30
17
  # @return [String]
31
18
  required :idempotence_key, String
32
19
 
33
- # @!attribute metadata
34
- # Любые дополнительные данные, которые нужны вам для работы (например, номер
35
- # заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от
36
- # ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов,
37
- # значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.
38
- #
39
- # @return [Hash{Symbol=>String}, nil]
40
- optional :metadata, Yoomoney::Internal::Type::HashOf[String]
41
-
42
- # @!attribute middle_name
43
- # Отчество.
44
- #
45
- # @return [String, nil]
46
- optional :middle_name, String
47
-
48
- # @!method initialize(first_name:, last_name:, type:, idempotence_key:, metadata: nil, middle_name: nil, request_options: {})
49
- # Some parameter documentations has been truncated, see
50
- # {Yoomoney::Models::PersonalDataCreateParams} for more details.
51
- #
52
- # @param first_name [String] Имя.
53
- #
54
- # @param last_name [String] Фамилия.
55
- #
56
- # @param type [Symbol, Yoomoney::Models::PersonalDataType] Тип персональных данных.
57
- #
20
+ # @!method initialize(body:, idempotence_key:, request_options: {})
21
+ # @param body [Yoomoney::Models::PersonalDataCreateParams::Body::SbpPayoutRecipientPersonalDataRequest, Yoomoney::Models::PersonalDataCreateParams::Body::PayoutStatementRecipientPersonalDataRequest]
58
22
  # @param idempotence_key [String]
59
- #
60
- # @param metadata [Hash{Symbol=>String}] Любые дополнительные данные, которые нужны вам для работы (например, номер заказ
61
- #
62
- # @param middle_name [String] Отчество.
63
- #
64
23
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
24
+
25
+ module Body
26
+ extend Yoomoney::Internal::Type::Union
27
+
28
+ variant -> { Yoomoney::PersonalDataCreateParams::Body::SbpPayoutRecipientPersonalDataRequest }
29
+
30
+ variant -> { Yoomoney::PersonalDataCreateParams::Body::PayoutStatementRecipientPersonalDataRequest }
31
+
32
+ class SbpPayoutRecipientPersonalDataRequest < Yoomoney::Models::PersonalDataRequest
33
+ # @!attribute first_name
34
+ # Имя.
35
+ #
36
+ # @return [String]
37
+ required :first_name, String
38
+
39
+ # @!attribute last_name
40
+ # Фамилия.
41
+ #
42
+ # @return [String]
43
+ required :last_name, String
44
+
45
+ # @!attribute middle_name
46
+ # Отчество.
47
+ #
48
+ # @return [String, nil]
49
+ optional :middle_name, String
50
+
51
+ # @!method initialize(first_name:, last_name:, middle_name: nil)
52
+ # @param first_name [String] Имя.
53
+ #
54
+ # @param last_name [String] Фамилия.
55
+ #
56
+ # @param middle_name [String] Отчество.
57
+ end
58
+
59
+ class PayoutStatementRecipientPersonalDataRequest < Yoomoney::Models::PersonalDataRequest
60
+ # @!attribute first_name
61
+ # Имя.
62
+ #
63
+ # @return [String]
64
+ required :first_name, String
65
+
66
+ # @!attribute last_name
67
+ # Фамилия.
68
+ #
69
+ # @return [String]
70
+ required :last_name, String
71
+
72
+ # @!attribute middle_name
73
+ # Отчество.
74
+ #
75
+ # @return [String, nil]
76
+ optional :middle_name, String
77
+
78
+ # @!method initialize(first_name:, last_name:, middle_name: nil)
79
+ # @param first_name [String] Имя.
80
+ #
81
+ # @param last_name [String] Фамилия.
82
+ #
83
+ # @param middle_name [String] Отчество.
84
+ end
85
+
86
+ # @!method self.variants
87
+ # @return [Array(Yoomoney::Models::PersonalDataCreateParams::Body::SbpPayoutRecipientPersonalDataRequest, Yoomoney::Models::PersonalDataCreateParams::Body::PayoutStatementRecipientPersonalDataRequest)]
88
+ end
65
89
  end
66
90
  end
67
91
  end
@@ -7,7 +7,13 @@ module Yoomoney
7
7
  extend Yoomoney::Internal::Type::RequestParameters::Converter
8
8
  include Yoomoney::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute personal_data_id
11
+ #
12
+ # @return [String]
13
+ required :personal_data_id, String
14
+
15
+ # @!method initialize(personal_data_id:, request_options: {})
16
+ # @param personal_data_id [String]
11
17
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -129,7 +129,31 @@ module Yoomoney
129
129
  #
130
130
  # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
131
131
 
132
- class Item < Yoomoney::Models::ReceiptDataItem
132
+ class Item < Yoomoney::Internal::Type::BaseModel
133
+ # @!attribute amount
134
+ # Сумма.
135
+ #
136
+ # @return [Yoomoney::Models::MonetaryAmount]
137
+ required :amount, -> { Yoomoney::MonetaryAmount }
138
+
139
+ # @!attribute description
140
+ # Название товара.
141
+ #
142
+ # @return [String]
143
+ required :description, String
144
+
145
+ # @!attribute quantity
146
+ # Количество.
147
+ #
148
+ # @return [Float]
149
+ required :quantity, Float
150
+
151
+ # @!attribute vat_code
152
+ # Ставка НДС.
153
+ #
154
+ # @return [Integer]
155
+ required :vat_code, Integer
156
+
133
157
  # @!attribute additional_payment_subject_props
134
158
  # Дополнительный реквизит предмета расчета.
135
159
  #
@@ -141,18 +165,112 @@ module Yoomoney
141
165
  # @return [Symbol, Yoomoney::Models::ReceiptItemAgentType, nil]
142
166
  optional :agent_type, enum: -> { Yoomoney::ReceiptItemAgentType }
143
167
 
168
+ # @!attribute country_of_origin_code
169
+ #
170
+ # @return [String, nil]
171
+ optional :country_of_origin_code, String
172
+
173
+ # @!attribute customs_declaration_number
174
+ #
175
+ # @return [String, nil]
176
+ optional :customs_declaration_number, String
177
+
178
+ # @!attribute excise
179
+ #
180
+ # @return [String, nil]
181
+ optional :excise, String
182
+
183
+ # @!attribute mark_code_info
184
+ #
185
+ # @return [Yoomoney::Models::MarkCodeInfo, nil]
186
+ optional :mark_code_info, -> { Yoomoney::MarkCodeInfo }
187
+
188
+ # @!attribute mark_mode
189
+ #
190
+ # @return [String, nil]
191
+ optional :mark_mode, String
192
+
193
+ # @!attribute mark_quantity
194
+ #
195
+ # @return [Yoomoney::Models::MarkQuantity, nil]
196
+ optional :mark_quantity, -> { Yoomoney::MarkQuantity }
197
+
198
+ # @!attribute measure
199
+ #
200
+ # @return [Symbol, Yoomoney::Models::ReceiptItemMeasure, nil]
201
+ optional :measure, enum: -> { Yoomoney::ReceiptItemMeasure }
202
+
203
+ # @!attribute payment_mode
204
+ #
205
+ # @return [Symbol, Yoomoney::Models::ReceiptItemPaymentMode, nil]
206
+ optional :payment_mode, enum: -> { Yoomoney::ReceiptItemPaymentMode }
207
+
208
+ # @!attribute payment_subject
209
+ #
210
+ # @return [Symbol, Yoomoney::Models::ReceiptItemPaymentSubject, nil]
211
+ optional :payment_subject, enum: -> { Yoomoney::ReceiptItemPaymentSubject }
212
+
213
+ # @!attribute payment_subject_industry_details
214
+ #
215
+ # @return [Array<Yoomoney::Models::IndustryDetails>, nil]
216
+ optional :payment_subject_industry_details,
217
+ -> { Yoomoney::Internal::Type::ArrayOf[Yoomoney::IndustryDetails] }
218
+
219
+ # @!attribute planned_status
220
+ #
221
+ # @return [Integer, nil]
222
+ optional :planned_status, Integer
223
+
224
+ # @!attribute product_code
225
+ #
226
+ # @return [String, nil]
227
+ optional :product_code, String
228
+
144
229
  # @!attribute supplier
145
230
  #
146
231
  # @return [Yoomoney::Models::ReceiptCreateParams::Item::Supplier, nil]
147
232
  optional :supplier, -> { Yoomoney::ReceiptCreateParams::Item::Supplier }
148
233
 
149
- # @!method initialize(additional_payment_subject_props: nil, agent_type: nil, supplier: nil)
234
+ # @!method initialize(amount:, description:, quantity:, vat_code:, additional_payment_subject_props: nil, agent_type: nil, country_of_origin_code: nil, customs_declaration_number: nil, excise: nil, mark_code_info: nil, mark_mode: nil, mark_quantity: nil, measure: nil, payment_mode: nil, payment_subject: nil, payment_subject_industry_details: nil, planned_status: nil, product_code: nil, supplier: nil)
235
+ # @param amount [Yoomoney::Models::MonetaryAmount] Сумма.
236
+ #
237
+ # @param description [String] Название товара.
238
+ #
239
+ # @param quantity [Float] Количество.
240
+ #
241
+ # @param vat_code [Integer] Ставка НДС.
242
+ #
150
243
  # @param additional_payment_subject_props [String] Дополнительный реквизит предмета расчета.
151
244
  #
152
245
  # @param agent_type [Symbol, Yoomoney::Models::ReceiptItemAgentType]
153
246
  #
247
+ # @param country_of_origin_code [String]
248
+ #
249
+ # @param customs_declaration_number [String]
250
+ #
251
+ # @param excise [String]
252
+ #
253
+ # @param mark_code_info [Yoomoney::Models::MarkCodeInfo]
254
+ #
255
+ # @param mark_mode [String]
256
+ #
257
+ # @param mark_quantity [Yoomoney::Models::MarkQuantity]
258
+ #
259
+ # @param measure [Symbol, Yoomoney::Models::ReceiptItemMeasure]
260
+ #
261
+ # @param payment_mode [Symbol, Yoomoney::Models::ReceiptItemPaymentMode]
262
+ #
263
+ # @param payment_subject [Symbol, Yoomoney::Models::ReceiptItemPaymentSubject]
264
+ #
265
+ # @param payment_subject_industry_details [Array<Yoomoney::Models::IndustryDetails>]
266
+ #
267
+ # @param planned_status [Integer]
268
+ #
269
+ # @param product_code [String]
270
+ #
154
271
  # @param supplier [Yoomoney::Models::ReceiptCreateParams::Item::Supplier]
155
272
 
273
+ # @see Yoomoney::Models::ReceiptCreateParams::Item#supplier
156
274
  class Supplier < Yoomoney::Models::ReceiptItemSupplier
157
275
  # @!attribute inn
158
276
  #