inttegro 7.0.0 → 8.0.0

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/lib/inttegro/chime/chime.rb +3 -2
  4. data/lib/inttegro/chime/send_request.rb +3 -2
  5. data/lib/inttegro/custom_data.rb +132 -0
  6. data/lib/inttegro/customer/create_request.rb +3 -2
  7. data/lib/inttegro/customer/customer.rb +3 -2
  8. data/lib/inttegro/customer/data.rb +3 -2
  9. data/lib/inttegro/customer/update_request.rb +3 -2
  10. data/lib/inttegro/file/file.rb +3 -2
  11. data/lib/inttegro/file_link/create_request.rb +3 -2
  12. data/lib/inttegro/file_link/file_link.rb +3 -2
  13. data/lib/inttegro/financial_account/bank_request.rb +3 -2
  14. data/lib/inttegro/financial_account/connected.rb +3 -2
  15. data/lib/inttegro/financial_account/created.rb +3 -2
  16. data/lib/inttegro/financial_account/details.rb +3 -2
  17. data/lib/inttegro/financial_account/dosh_request.rb +3 -2
  18. data/lib/inttegro/financial_account/financial_account.rb +3 -2
  19. data/lib/inttegro/financial_account/request_base.rb +3 -2
  20. data/lib/inttegro/financial_account/update_request.rb +3 -2
  21. data/lib/inttegro/financial_account/updated.rb +3 -2
  22. data/lib/inttegro/financial_account/wallet_request.rb +3 -2
  23. data/lib/inttegro/financial_account/wire_page_accounts_item.rb +3 -2
  24. data/lib/inttegro/generated/enums.rb +5 -0
  25. data/lib/inttegro/generated/models.rb +10 -0
  26. data/lib/inttegro/model_serialization.rb +30 -1
  27. data/lib/inttegro/order/create_existing_customer.rb +3 -2
  28. data/lib/inttegro/order/create_new_customer.rb +3 -2
  29. data/lib/inttegro/order/order.rb +3 -2
  30. data/lib/inttegro/order/product_line_item_product.rb +3 -2
  31. data/lib/inttegro/order/update_request.rb +3 -2
  32. data/lib/inttegro/payment_method/payment_method.rb +14 -2
  33. data/lib/inttegro/payment_method/tokenize_base.rb +3 -2
  34. data/lib/inttegro/payment_method/tokenize_mobile_money_request.rb +3 -2
  35. data/lib/inttegro/payment_method/update_request.rb +3 -2
  36. data/lib/inttegro/payout/payout.rb +3 -2
  37. data/lib/inttegro/price/embedded_product.rb +3 -2
  38. data/lib/inttegro/product/create_request.rb +3 -2
  39. data/lib/inttegro/product/inline_details.rb +3 -2
  40. data/lib/inttegro/product/product.rb +3 -2
  41. data/lib/inttegro/product/update_request.rb +3 -2
  42. data/lib/inttegro/product/updated.rb +3 -2
  43. data/lib/inttegro/purchase_intent/product.rb +3 -2
  44. data/lib/inttegro/refund/create_request.rb +3 -2
  45. data/lib/inttegro/refund/failure.rb +45 -0
  46. data/lib/inttegro/refund/failure_reason.rb +49 -0
  47. data/lib/inttegro/refund/offline_settlement.rb +28 -0
  48. data/lib/inttegro/refund/offline_settlement_type.rb +24 -0
  49. data/lib/inttegro/refund/payment_method_settlement.rb +37 -0
  50. data/lib/inttegro/refund/payment_method_settlement_type.rb +24 -0
  51. data/lib/inttegro/refund/refund.rb +21 -2
  52. data/lib/inttegro/refund/settlement.rb +19 -0
  53. data/lib/inttegro/refund/settlement_bank_account_payment_method.rb +44 -0
  54. data/lib/inttegro/refund/settlement_bank_account_payment_method_bank_account.rb +37 -0
  55. data/lib/inttegro/refund/settlement_bank_account_payment_method_bank_account_ghana_bank_account.rb +35 -0
  56. data/lib/inttegro/refund/settlement_bank_account_payment_method_type.rb +25 -0
  57. data/lib/inttegro/refund/settlement_mobile_money_payment_method.rb +44 -0
  58. data/lib/inttegro/refund/settlement_mobile_money_payment_method_mobile_money.rb +43 -0
  59. data/lib/inttegro/refund/settlement_mobile_money_payment_method_type.rb +25 -0
  60. data/lib/inttegro/refund/settlement_payment_method.rb +19 -0
  61. data/lib/inttegro/shared/fee_details.rb +3 -2
  62. data/lib/inttegro/shared/invoice_settings.rb +3 -2
  63. data/lib/inttegro/shared/shipping_details.rb +3 -2
  64. data/lib/inttegro/upload_request/create_request.rb +3 -2
  65. data/lib/inttegro/upload_request/details.rb +3 -2
  66. data/lib/inttegro/upload_request/upload_request.rb +3 -2
  67. data/lib/inttegro/version.rb +1 -1
  68. data/lib/inttegro.rb +1 -0
  69. metadata +18 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: adda77d38b9a0e554414ebbe39ef888ea094306730292b77fd58de017e9dd97c
4
- data.tar.gz: 05c8dbae6c8bc9f07fa806b185996a2a8139e08751b59addc64b72813f517b73
3
+ metadata.gz: 2305c5215117569a70513f2a50edb305bac527c0818ee25cf2a1b27cd8ee15f1
4
+ data.tar.gz: c5696096aaec5c002b4639b5abeb2af8d0a53b9fc831389a47359afcf382bbcd
5
5
  SHA512:
6
- metadata.gz: 188d58e4c3cc3731853cb216027e8e7b686e9dd155d258fee4979acbdd56dbf4d0624cfd001a57e1beb6f6e7a53f032f23404b6f52ac3e0eab3f4cd53dcbd33e
7
- data.tar.gz: 4bf3019fb67255a0cfe434abf98c8d66ec007c1c634b72965788186f0184c1b9199fb81bddac8719fab7fb171d80fc31733afa71c6eaa12c732880e641c7d2dd
6
+ metadata.gz: de19b8f9eec5d03f7aa1a9e3a4a10151470e5af3978daea2fa77ba31adb5981b4c9a51b0b4d8e74d18f6e04afcfe7f2ffca61e0794335400bb8ea33c9f443acf
7
+ data.tar.gz: 7bfcbd510c93d0dcbb207b047a135ccc7af3177e351648340a28691eda9359436626654e37c7536a1e783f32e2b60c24e4eac868d6dfa8da85a67b8dc4af27d0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [8.0.0] - 2026-09-16
4
+
5
+ - Breaking: replaced generic custom-data hashes with immutable Sorbet-typed
6
+ `CustomData`, `CustomDataInput`, and `CustomDataPatch` values.
7
+ - Preserved open-ended JSON request values while making replacement and merge
8
+ behavior explicit and validating custom-data size and key limits.
9
+ - Kept customer billing and shipping addresses represented by their native
10
+ typed request and response models throughout serialization.
11
+
3
12
  ## [7.0.0] - 2026-09-14
4
13
 
5
14
  - Breaking: replaced payout hashes and generic payloads with named request,
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "email_message"
8
9
  require_relative "recipient_detail"
9
10
  require_relative "transmission"
@@ -28,7 +29,7 @@ module Inttegro
28
29
  # collection rather than a raw map.
29
30
  #
30
31
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
31
- # @return [Hash{String => String}, nil]
32
+ # @return [Inttegro::CustomData, nil]
32
33
  #
33
34
  # @!attribute [r] customer_id
34
35
  # Value of the `customer_id` field in the Inttegro API payload.
@@ -85,7 +86,7 @@ module Inttegro
85
86
  # @return [Inttegro::Chime::Transmission, nil]
86
87
  class Chime
87
88
  const :created_at, Time
88
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
89
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
89
90
  const :customer_id, T.nilable(String), default: nil
90
91
  const :email, T.nilable(Inttegro::Chime::EmailMessage), default: nil
91
92
  const :full_message, String
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../message_template/reference"
8
9
  require_relative "email_message_input"
9
10
  require_relative "recipient"
@@ -61,7 +62,7 @@ module Inttegro
61
62
  # collection rather than a raw map.
62
63
  #
63
64
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
64
- # @return [Hash{String => String}, nil]
65
+ # @return [Inttegro::CustomData, nil]
65
66
  #
66
67
  # @!attribute [r] request_meta
67
68
  # Optional metadata controlling request processing
@@ -75,7 +76,7 @@ module Inttegro
75
76
  const :message_template, T.nilable(Inttegro::MessageTemplate::Reference), default: nil
76
77
  const :sender_id, T.nilable(String), default: nil
77
78
  const :purpose, T.nilable(String), default: nil
78
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
79
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
79
80
  const :request_meta, T.nilable(Inttegro::Chime::SendRequestRequestMeta), default: nil
80
81
  end
81
82
  end
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ require "json"
5
+ require "sorbet-runtime"
6
+
7
+ module Inttegro
8
+ MAX_CUSTOM_DATA_KEY_BYTES = T.let(256, Integer)
9
+ MAX_CUSTOM_DATA_BYTES = T.let(25 * 1024, Integer)
10
+
11
+ # Immutable merchant-defined string values returned by the API.
12
+ class CustomData < Hash
13
+ extend T::Sig
14
+ extend T::Generic
15
+
16
+ K = type_member(:out) { { fixed: String } }
17
+ V = type_member(:out) { { fixed: String } }
18
+ Elem = type_member(:out) { { fixed: T::Array[T.any(String, String)] } }
19
+
20
+ sig { params(values: T::Hash[String, String]).void }
21
+ def initialize(values = {})
22
+ super()
23
+ values.each do |key, value|
24
+ CustomDataValidation.validate_key(key)
25
+ self[key] = value
26
+ end
27
+ CustomDataValidation.validate_size(to_h)
28
+ freeze
29
+ end
30
+
31
+ sig { params(key: String, value: String).returns(CustomData) }
32
+ def set(key, value)
33
+ CustomData.new(to_h.merge(key => value))
34
+ end
35
+
36
+ sig { params(key: String).returns(CustomData) }
37
+ def remove(key)
38
+ CustomData.new(to_h.reject { |candidate, _| candidate == key })
39
+ end
40
+ end
41
+
42
+ # Immutable open-ended JSON values accepted by create and replace requests.
43
+ class CustomDataInput < Hash
44
+ extend T::Sig
45
+ extend T::Generic
46
+
47
+ K = type_member(:out) { { fixed: String } }
48
+ V = type_member(:out) { { fixed: Object } }
49
+ Elem = type_member(:out) { { fixed: T::Array[T.any(String, Object)] } }
50
+
51
+ sig { params(values: T::Hash[String, Object]).void }
52
+ def initialize(values = {})
53
+ super()
54
+ values.each do |key, value|
55
+ CustomDataValidation.validate_key(key)
56
+ self[key] = CustomDataValidation.copy_json(value)
57
+ end
58
+ CustomDataValidation.validate_size(to_h)
59
+ freeze
60
+ end
61
+
62
+ sig { params(key: String, value: Object).returns(CustomDataInput) }
63
+ def set(key, value)
64
+ CustomDataInput.new(to_h.merge(key => value))
65
+ end
66
+
67
+ sig { params(key: String).returns(CustomDataInput) }
68
+ def remove(key)
69
+ CustomDataInput.new(to_h.reject { |candidate, _| candidate == key })
70
+ end
71
+ end
72
+
73
+ # Immutable custom-data merge operations. A nil value removes a stored key.
74
+ class CustomDataPatch < Hash
75
+ extend T::Sig
76
+ extend T::Generic
77
+
78
+ K = type_member(:out) { { fixed: String } }
79
+ V = type_member(:out) { { fixed: Object } }
80
+ Elem = type_member(:out) { { fixed: T::Array[T.any(String, Object)] } }
81
+
82
+ sig { params(values: T::Hash[String, Object]).void }
83
+ def initialize(values = {})
84
+ super()
85
+ values.each do |key, value|
86
+ CustomDataValidation.validate_key(key)
87
+ self[key] = CustomDataValidation.copy_json(value)
88
+ end
89
+ CustomDataValidation.validate_size(to_h)
90
+ freeze
91
+ end
92
+
93
+ sig { params(key: String, value: Object).returns(CustomDataPatch) }
94
+ def set(key, value)
95
+ raise ArgumentError, "use unset to remove a custom-data value" if value.nil?
96
+
97
+ CustomDataPatch.new(to_h.merge(key => value))
98
+ end
99
+
100
+ sig { params(key: String).returns(CustomDataPatch) }
101
+ def unset(key)
102
+ CustomDataPatch.new(to_h.merge(key => nil))
103
+ end
104
+
105
+ sig { params(key: String).returns(CustomDataPatch) }
106
+ def remove_change(key)
107
+ CustomDataPatch.new(to_h.reject { |candidate, _| candidate == key })
108
+ end
109
+ end
110
+
111
+ module CustomDataValidation
112
+ extend T::Sig
113
+
114
+ sig { params(key: String).void }
115
+ def self.validate_key(key)
116
+ raise ArgumentError, "custom data key exceeds 256 bytes" if key.bytesize > MAX_CUSTOM_DATA_KEY_BYTES
117
+ end
118
+
119
+ sig { params(values: T::Hash[String, Object]).void }
120
+ def self.validate_size(values)
121
+ raise ArgumentError, "custom data exceeds 25 KiB" if JSON.generate(values).bytesize > MAX_CUSTOM_DATA_BYTES
122
+ end
123
+
124
+ sig { params(value: Object).returns(Object) }
125
+ def self.copy_json(value)
126
+ JSON.parse(JSON.generate(value))
127
+ rescue JSON::GeneratorError, TypeError => error
128
+ raise TypeError, "custom data values must be JSON-serializable: #{error.message}"
129
+ end
130
+ end
131
+ private_constant :CustomDataValidation
132
+ end
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "address_input"
8
9
 
9
10
  module Inttegro
@@ -27,7 +28,7 @@ module Inttegro
27
28
  # before storage.
28
29
  #
29
30
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
30
- # @return [Hash{String => Object}, nil]
31
+ # @return [Inttegro::CustomDataInput, nil]
31
32
  #
32
33
  # @!attribute [r] email_address
33
34
  # Value of the `email_address` field in the Inttegro API payload.
@@ -66,7 +67,7 @@ module Inttegro
66
67
  # @return [String, nil]
67
68
  class CreateRequest < T::Struct
68
69
  const :billing_address, T.nilable(Inttegro::Customer::AddressInput), default: nil
69
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
70
+ const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
70
71
  const :email_address, T.nilable(String), default: nil
71
72
  const :name, String
72
73
  const :phone_number, T.nilable(String), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "address"
8
9
  require_relative "balance_value"
9
10
 
@@ -39,7 +40,7 @@ module Inttegro
39
40
  # collection rather than a raw map.
40
41
  #
41
42
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
42
- # @return [Hash{String => String}, nil]
43
+ # @return [Inttegro::CustomData, nil]
43
44
  #
44
45
  # @!attribute [r] email_address
45
46
  # Value of the `email_address` field in the Inttegro API payload.
@@ -104,7 +105,7 @@ module Inttegro
104
105
  const :balance, T::Hash[String, Inttegro::Customer::BalanceValue]
105
106
  const :billing_address, T.nilable(Inttegro::Customer::Address), default: nil
106
107
  const :created_at, Time
107
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
108
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
108
109
  const :email_address, T.nilable(String), default: nil
109
110
  const :guest, T::Boolean
110
111
  const :id, String
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
 
8
9
  module Inttegro
9
10
  class Customer
@@ -44,13 +45,13 @@ module Inttegro
44
45
  # before storage.
45
46
  #
46
47
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
47
- # @return [Hash{String => Object}, nil]
48
+ # @return [Inttegro::CustomDataInput, nil]
48
49
  class Data < T::Struct
49
50
  const :name, String
50
51
  const :email_address, String
51
52
  const :phone_number, String
52
53
  const :reference, T.nilable(String), default: nil
53
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
54
+ const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
54
55
  end
55
56
  end
56
57
  end
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "address_input"
8
9
 
9
10
  module Inttegro
@@ -27,7 +28,7 @@ module Inttegro
27
28
  # before storage.
28
29
  #
29
30
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
30
- # @return [Hash{String => Object}, nil]
31
+ # @return [Inttegro::CustomDataInput, nil]
31
32
  #
32
33
  # @!attribute [r] customer_id
33
34
  # Value of the `customer_id` field in the Inttegro API payload.
@@ -78,7 +79,7 @@ module Inttegro
78
79
  # @return [String, nil]
79
80
  class UpdateRequest < T::Struct
80
81
  const :billing_address, T.nilable(Inttegro::Customer::AddressInput), default: nil
81
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
82
+ const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
82
83
  const :customer_id, String
83
84
  const :email_address, T.nilable(String), default: nil
84
85
  const :name, T.nilable(String), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "actor"
8
9
  require_relative "delivery"
9
10
  require_relative "latest_error"
@@ -119,7 +120,7 @@ module Inttegro
119
120
  # collection rather than a raw map.
120
121
  #
121
122
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
122
- # @return [Hash{String => String}, nil]
123
+ # @return [Inttegro::CustomData, nil]
123
124
  #
124
125
  # @!attribute [r] metadata
125
126
  # System-managed string metadata attached to a file resource.
@@ -166,7 +167,7 @@ module Inttegro
166
167
  const :storage, Inttegro::File::PublicStorage
167
168
  const :delivery, T.nilable(Inttegro::File::Delivery), default: nil
168
169
  const :latest_error, T.nilable(Inttegro::File::LatestError), default: nil
169
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
170
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
170
171
  const :metadata, T.nilable(T::Hash[String, String]), default: nil
171
172
  const :created_at, Time
172
173
  const :updated_at, Time
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../file/actor_input"
8
9
  require_relative "access_request"
9
10
  require_relative "delivery"
@@ -47,7 +48,7 @@ module Inttegro
47
48
  # collection rather than a raw map.
48
49
  #
49
50
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
50
- # @return [Hash{String => String}, nil]
51
+ # @return [Inttegro::CustomData, nil]
51
52
  #
52
53
  # @!attribute [r] expires_at
53
54
  # Value of the `expires_at` field in the Inttegro API payload.
@@ -59,7 +60,7 @@ module Inttegro
59
60
  const :delivery, T.nilable(Inttegro::FileLink::Delivery), default: nil
60
61
  const :access, T.nilable(Inttegro::FileLink::AccessRequest), default: nil
61
62
  const :created_by, T.nilable(Inttegro::File::ActorInput), default: nil
62
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
63
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
63
64
  const :expires_at, T.nilable(Time), default: nil
64
65
  end
65
66
  end
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "access"
8
9
  require_relative "actor"
9
10
  require_relative "delivery"
@@ -84,7 +85,7 @@ module Inttegro
84
85
  # collection rather than a raw map.
85
86
  #
86
87
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
87
- # @return [Hash{String => String}, nil]
88
+ # @return [Inttegro::CustomData, nil]
88
89
  #
89
90
  # @!attribute [r] metadata
90
91
  # System-managed string metadata attached to a file resource.
@@ -126,7 +127,7 @@ module Inttegro
126
127
  const :access, Inttegro::FileLink::Access
127
128
  const :created_by, Inttegro::FileLink::Actor
128
129
  const :revoked_by, T.nilable(Inttegro::FileLink::Actor), default: nil
129
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
130
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
130
131
  const :metadata, T.nilable(T::Hash[String, String]), default: nil
131
132
  const :created_at, Time
132
133
  const :updated_at, Time
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "bank_request_bank_account"
8
9
  require_relative "bank_request_type"
9
10
  require_relative "owner_input"
@@ -32,7 +33,7 @@ module Inttegro
32
33
  # before storage.
33
34
  #
34
35
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
35
- # @return [Hash{String => Object}, nil]
36
+ # @return [Inttegro::CustomDataInput, nil]
36
37
  #
37
38
  # @!attribute [r] description
38
39
  # Value of the `description` field in the Inttegro API payload.
@@ -83,7 +84,7 @@ module Inttegro
83
84
  # @return [Inttegro::FinancialAccount::BankRequestBankAccount]
84
85
  class BankRequest < T::Struct
85
86
  const :currency, String
86
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
87
+ const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
87
88
  const :description, T.nilable(String), default: nil
88
89
  const :label, String
89
90
  const :owner, T.nilable(Inttegro::FinancialAccount::OwnerInput), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../shared/dosh_account"
8
9
  require_relative "../shared/financial_institution"
9
10
  require_relative "../shared/resource_supply"
@@ -48,7 +49,7 @@ module Inttegro
48
49
  # collection rather than a raw map.
49
50
  #
50
51
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
51
- # @return [Hash{String => String}, nil]
52
+ # @return [Inttegro::CustomData, nil]
52
53
  #
53
54
  # @!attribute [r] description
54
55
  # Value of the `description` field in the Inttegro API payload.
@@ -138,7 +139,7 @@ module Inttegro
138
139
  const :archived_at, T.nilable(Time), default: nil
139
140
  const :created_at, Time
140
141
  const :currency, String
141
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
142
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
142
143
  const :description, T.nilable(String), default: nil
143
144
  const :id, String
144
145
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../shared/financial_institution"
8
9
  require_relative "../shared/resource_supply"
9
10
  require_relative "created_bank"
@@ -47,7 +48,7 @@ module Inttegro
47
48
  # collection rather than a raw map.
48
49
  #
49
50
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
50
- # @return [Hash{String => String}, nil]
51
+ # @return [Inttegro::CustomData, nil]
51
52
  #
52
53
  # @!attribute [r] description
53
54
  # Value of the `description` field in the Inttegro API payload.
@@ -130,7 +131,7 @@ module Inttegro
130
131
  const :archived_at, T.nilable(Time), default: nil
131
132
  const :created_at, Time
132
133
  const :currency, String
133
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
134
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
134
135
  const :description, T.nilable(String), default: nil
135
136
  const :id, String
136
137
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../shared/financial_institution"
8
9
  require_relative "../shared/resource_supply"
9
10
  require_relative "pull_configuration"
@@ -44,7 +45,7 @@ module Inttegro
44
45
  # collection rather than a raw map.
45
46
  #
46
47
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
47
- # @return [Hash{String => String}, nil]
48
+ # @return [Inttegro::CustomData, nil]
48
49
  #
49
50
  # @!attribute [r] description
50
51
  # Value of the `description` field in the Inttegro API payload.
@@ -109,7 +110,7 @@ module Inttegro
109
110
  const :archived_at, T.nilable(Time), default: nil
110
111
  const :created_at, Time
111
112
  const :currency, String
112
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
113
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
113
114
  const :description, T.nilable(String), default: nil
114
115
  const :id, String
115
116
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../shared/dosh_account"
8
9
  require_relative "dosh_request_type"
9
10
  require_relative "owner_input"
@@ -31,7 +32,7 @@ module Inttegro
31
32
  # before storage.
32
33
  #
33
34
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
34
- # @return [Hash{String => Object}, nil]
35
+ # @return [Inttegro::CustomDataInput, nil]
35
36
  #
36
37
  # @!attribute [r] description
37
38
  # Value of the `description` field in the Inttegro API payload.
@@ -83,7 +84,7 @@ module Inttegro
83
84
  # @return [Inttegro::Shared::DoshAccount]
84
85
  class DoshRequest < T::Struct
85
86
  const :currency, String
86
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
87
+ const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
87
88
  const :description, T.nilable(String), default: nil
88
89
  const :label, String
89
90
  const :owner, Inttegro::FinancialAccount::OwnerInput
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../shared/dosh_account"
8
9
  require_relative "../shared/financial_institution"
9
10
  require_relative "../shared/resource_supply"
@@ -47,7 +48,7 @@ module Inttegro
47
48
  # collection rather than a raw map.
48
49
  #
49
50
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
50
- # @return [Hash{String => String}, nil]
51
+ # @return [Inttegro::CustomData, nil]
51
52
  #
52
53
  # @!attribute [r] description
53
54
  # Value of the `description` field in the Inttegro API payload.
@@ -143,7 +144,7 @@ module Inttegro
143
144
  const :archived_at, T.nilable(Time), default: nil
144
145
  const :created_at, Time
145
146
  const :currency, String
146
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
147
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
147
148
  const :description, T.nilable(String), default: nil
148
149
  const :id, String
149
150
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "owner_input"
8
9
  require_relative "request_base_pull_configuration"
9
10
  require_relative "request_base_push_configuration"
@@ -30,7 +31,7 @@ module Inttegro
30
31
  # before storage.
31
32
  #
32
33
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
33
- # @return [Hash{String => Object}, nil]
34
+ # @return [Inttegro::CustomDataInput, nil]
34
35
  #
35
36
  # @!attribute [r] description
36
37
  # Value of the `description` field in the Inttegro API payload.
@@ -75,7 +76,7 @@ module Inttegro
75
76
  # @return [Inttegro::FinancialAccount::Type]
76
77
  class RequestBase < T::Struct
77
78
  const :currency, String
78
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
79
+ const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
79
80
  const :description, T.nilable(String), default: nil
80
81
  const :label, String
81
82
  const :owner, T.nilable(Inttegro::FinancialAccount::OwnerInput), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "owner_update_input"
8
9
 
9
10
  module Inttegro
@@ -27,7 +28,7 @@ module Inttegro
27
28
  # serialized to a string.
28
29
  #
29
30
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
30
- # @return [Hash{String => Object}, nil]
31
+ # @return [Inttegro::CustomDataPatch, nil]
31
32
  #
32
33
  # @!attribute [r] description
33
34
  # Value of the `description` field in the Inttegro API payload.
@@ -54,7 +55,7 @@ module Inttegro
54
55
  # @return [String, nil]
55
56
  class UpdateRequest < T::Struct
56
57
  const :account_id, String
57
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
58
+ const :custom_data, T.nilable(Inttegro::CustomDataPatch), default: nil
58
59
  const :description, T.nilable(String), default: nil
59
60
  const :label, T.nilable(String), default: nil
60
61
  const :owner, T.nilable(Inttegro::FinancialAccount::OwnerUpdateInput), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "../shared/dosh_account"
8
9
  require_relative "../shared/financial_institution"
9
10
  require_relative "../shared/resource_supply"
@@ -48,7 +49,7 @@ module Inttegro
48
49
  # collection rather than a raw map.
49
50
  #
50
51
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
51
- # @return [Hash{String => String}, nil]
52
+ # @return [Inttegro::CustomData, nil]
52
53
  #
53
54
  # @!attribute [r] description
54
55
  # Value of the `description` field in the Inttegro API payload.
@@ -144,7 +145,7 @@ module Inttegro
144
145
  const :archived_at, T.nilable(Time), default: nil
145
146
  const :created_at, Time
146
147
  const :currency, String
147
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
148
+ const :custom_data, T.nilable(Inttegro::CustomData), default: nil
148
149
  const :description, T.nilable(String), default: nil
149
150
  const :id, String
150
151
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
@@ -4,6 +4,7 @@
4
4
  # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
5
 
6
6
  require_relative "base"
7
+ require_relative "../custom_data"
7
8
  require_relative "owner_input"
8
9
  require_relative "request_base_pull_configuration"
9
10
  require_relative "request_base_push_configuration"
@@ -31,7 +32,7 @@ module Inttegro
31
32
  # before storage.
32
33
  #
33
34
  # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
34
- # @return [Hash{String => Object}, nil]
35
+ # @return [Inttegro::CustomDataInput, nil]
35
36
  #
36
37
  # @!attribute [r] description
37
38
  # Value of the `description` field in the Inttegro API payload.
@@ -82,7 +83,7 @@ module Inttegro
82
83
  # @return [Inttegro::FinancialAccount::WalletRequestWallet]
83
84
  class WalletRequest < T::Struct
84
85
  const :currency, String
85
- const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
86
+ const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
86
87
  const :description, T.nilable(String), default: nil
87
88
  const :label, String
88
89
  const :owner, Inttegro::FinancialAccount::OwnerInput