inttegro 9.3.0 → 10.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6533427a76d738f2463213ee3bc8e987e2f449ec8f2a9f6ad50b1006145dda4
4
- data.tar.gz: 5e0a5ec6bae4612c68f6b0d0c2a03643e89fd46d8730ea7b2b06c397d5281839
3
+ metadata.gz: a8c0508ade3212d4ccc84c3a2dea5923e18b78107ea89c32aec593e88e906d06
4
+ data.tar.gz: 7b6397d7a6b11f25086ad29686b5b349d062aabcbce36c61a01d2dc99e995e61
5
5
  SHA512:
6
- metadata.gz: 5557e31bd3bf1f00d9482ba3ce1cf70f003af7a5ced7615deb66069c1b7d34484dbaf1305af99324de121ff134a19a26d8f91222150473c685da2fbe9fb8f900
7
- data.tar.gz: 44e13f26e0f5505c396d589faa0d38bc0152acc3e407722790b4921d9db17f030bb31d62917022bdcb5225b627a4ac67f91e1009f96e4f4f84a626c17449bf50
6
+ metadata.gz: f6c649339f31489b6094d742cd3ab8532be95f290034fbe6b0f38151d1b68ed93b5e15a23b7ee6dc0ad3702c608da9b93f2a1eb24211bb39bc7cef0164294add
7
+ data.tar.gz: 986b30ca34a595267558bfd32b70a6be3ba73ef458167a9d54ba648d516b6b6af1f63bcb7939fcb6e7cf4c7b7f882f0e8b094065363cb2f144eaeab7777931e1
data/CHANGELOG.md CHANGED
@@ -1,11 +1,17 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [10.0.0] - 2026-10-05
4
+
5
+ - **Breaking:** replaced the payout status `invalid` with `failed`.
6
+ - Added typed payout failure details with a stable reason, caller-safe detail,
7
+ retry guidance, and a separate lifecycle timestamp.
8
+ - Added the application-scoped financial-account fingerprint to typed
9
+ responses.
10
+
3
11
  ## [9.3.0] - 2026-10-03
4
12
 
5
13
  - Added typed hosted Buy-page text overrides to Purchase Intent create,
6
14
  update, and response models, including explicit default restoration.
7
- - Added the application-scoped financial-account fingerprint to typed
8
- responses.
9
15
 
10
16
  ## [9.2.2] - 2026-10-02
11
17
 
@@ -6,6 +6,7 @@
6
6
  require_relative "base"
7
7
  require_relative "currency_snapshot_refund"
8
8
  require_relative "currency_snapshot_reserved"
9
+ require_relative "holds"
9
10
  require_relative "value"
10
11
 
11
12
  module Inttegro
@@ -24,6 +25,12 @@ module Inttegro
24
25
  # Required in the API payload. Wire name: `available`.
25
26
  # @return [Inttegro::Balance::Value]
26
27
  #
28
+ # @!attribute [r] held
29
+ # Live operational commitments read from the canonical balance position.
30
+ #
31
+ # Required in the API payload. Wire name: `held`.
32
+ # @return [Inttegro::Balance::Holds]
33
+ #
27
34
  # @!attribute [r] includes_transactions_before
28
35
  # The snapshot includes transactions created before this timestamp
29
36
  #
@@ -37,18 +44,20 @@ module Inttegro
37
44
  # @return [Inttegro::Balance::Value]
38
45
  #
39
46
  # @!attribute [r] refund
40
- # Funds assigned to refund activity at the snapshot cutoff
47
+ # Funds intentionally earmarked for future refund obligations at the snapshot cutoff
41
48
  #
42
49
  # Required in the API payload. Wire name: `refund`.
43
50
  # @return [Inttegro::Balance::CurrencySnapshotRefund]
44
51
  #
45
52
  # @!attribute [r] reserved
46
- # Funds held back from payout at the snapshot cutoff
53
+ # Funds intentionally reserved for policy, risk, or remediation purposes at the snapshot
54
+ # cutoff
47
55
  #
48
56
  # Required in the API payload. Wire name: `reserved`.
49
57
  # @return [Inttegro::Balance::CurrencySnapshotReserved]
50
58
  class CurrencySnapshot < T::Struct
51
59
  const :available, Inttegro::Balance::Value
60
+ const :held, Inttegro::Balance::Holds
52
61
  const :includes_transactions_before, Time
53
62
  const :pending, Inttegro::Balance::Value
54
63
  const :refund, Inttegro::Balance::CurrencySnapshotRefund
@@ -7,7 +7,7 @@ require_relative "base"
7
7
 
8
8
  module Inttegro
9
9
  module Balance
10
- # Funds assigned to refund activity at the snapshot cutoff
10
+ # Funds intentionally earmarked for future refund obligations at the snapshot cutoff
11
11
  #
12
12
  # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
13
  # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
@@ -7,7 +7,8 @@ require_relative "base"
7
7
 
8
8
  module Inttegro
9
9
  module Balance
10
- # Funds held back from payout at the snapshot cutoff
10
+ # Funds intentionally reserved for policy, risk, or remediation purposes at the snapshot
11
+ # cutoff
11
12
  #
12
13
  # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
14
  # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "holds_payout"
8
+ require_relative "holds_refund"
9
+
10
+ module Inttegro
11
+ module Balance
12
+ # Live operational commitments read from the canonical balance position.
13
+ #
14
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
15
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
16
+ # field names and serialized enum values.
17
+ #
18
+ # @api public
19
+ #
20
+ # @!attribute [r] as_of
21
+ # When these strongly consistent hold amounts were read.
22
+ #
23
+ # Required in the API payload. Wire name: `as_of`.
24
+ # @return [Time]
25
+ #
26
+ # @!attribute [r] payout
27
+ # Funds committed to in-flight or unresolved payouts.
28
+ #
29
+ # Required in the API payload. Wire name: `payout`.
30
+ # @return [Inttegro::Balance::HoldsPayout]
31
+ #
32
+ # @!attribute [r] refund
33
+ # Funds committed to in-flight or unresolved refunds.
34
+ #
35
+ # Required in the API payload. Wire name: `refund`.
36
+ # @return [Inttegro::Balance::HoldsRefund]
37
+ class Holds < T::Struct
38
+ const :as_of, Time
39
+ const :payout, Inttegro::Balance::HoldsPayout
40
+ const :refund, Inttegro::Balance::HoldsRefund
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ module Balance
10
+ # Funds committed to in-flight or unresolved payouts.
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ #
18
+ # @!attribute [r] amount
19
+ # Amount in the currency's smallest unit
20
+ #
21
+ # Required in the API payload. Wire name: `amount`.
22
+ # @return [Integer]
23
+ class HoldsPayout < T::Struct
24
+ const :amount, Integer
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ module Balance
10
+ # Funds committed to in-flight or unresolved refunds.
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ #
18
+ # @!attribute [r] amount
19
+ # Amount in the currency's smallest unit
20
+ #
21
+ # Required in the API payload. Wire name: `amount`.
22
+ # @return [Integer]
23
+ class HoldsRefund < T::Struct
24
+ const :amount, Integer
25
+ end
26
+ end
27
+ end
@@ -41,13 +41,11 @@ module Inttegro
41
41
  # @return [Time, nil]
42
42
  #
43
43
  # @!attribute [r] fingerprint
44
- # Application-scoped value for recognizing the same underlying financial account within the
45
- # authenticated application. Matching nonempty fingerprints can be used to detect duplicate
46
- # connections. Compare fingerprints only within the same application. Omitted when reliable
47
- # fingerprint material is unavailable.
44
+ # A stable identifier for the underlying financial account within your application. Use it to
45
+ # recognize when the same account has been connected more than once.
48
46
  #
49
- # Optional in the API payload; omitted values default to `nil`. Wire name: `fingerprint`.
50
- # @return [String, nil]
47
+ # Required in the API payload. Wire name: `fingerprint`.
48
+ # @return [String]
51
49
  #
52
50
  # @!attribute [r] id
53
51
  # Value of the `id` field in the Inttegro API payload.
@@ -71,7 +69,7 @@ module Inttegro
71
69
  const :currency, String
72
70
  const :description, T.nilable(String), default: nil
73
71
  const :disconnected_at, T.nilable(Time), default: nil
74
- const :fingerprint, T.nilable(String), default: nil
72
+ const :fingerprint, String
75
73
  const :id, String
76
74
  const :label, T.nilable(String), default: nil
77
75
  const :type, Inttegro::FinancialAccount::Type
@@ -58,13 +58,11 @@ module Inttegro
58
58
  # @return [String, nil]
59
59
  #
60
60
  # @!attribute [r] fingerprint
61
- # Application-scoped value for recognizing the same underlying financial account within the
62
- # authenticated application. Matching nonempty fingerprints can be used to detect duplicate
63
- # connections. Compare fingerprints only within the same application. Omitted when reliable
64
- # fingerprint material is unavailable.
61
+ # A stable identifier for the underlying financial account within your application. Use it to
62
+ # recognize when the same account has been connected more than once.
65
63
  #
66
- # Optional in the API payload; omitted values default to `nil`. Wire name: `fingerprint`.
67
- # @return [String, nil]
64
+ # Required in the API payload. Wire name: `fingerprint`.
65
+ # @return [String]
68
66
  #
69
67
  # @!attribute [r] id
70
68
  # Value of the `id` field in the Inttegro API payload.
@@ -150,7 +148,7 @@ module Inttegro
150
148
  const :currency, String
151
149
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
152
150
  const :description, T.nilable(String), default: nil
153
- const :fingerprint, T.nilable(String), default: nil
151
+ const :fingerprint, String
154
152
  const :id, String
155
153
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
156
154
  const :label, T.nilable(String), default: nil
@@ -57,13 +57,11 @@ module Inttegro
57
57
  # @return [String, nil]
58
58
  #
59
59
  # @!attribute [r] fingerprint
60
- # Application-scoped value for recognizing the same underlying financial account within the
61
- # authenticated application. Matching nonempty fingerprints can be used to detect duplicate
62
- # connections. Compare fingerprints only within the same application. Omitted when reliable
63
- # fingerprint material is unavailable.
60
+ # A stable identifier for the underlying financial account within your application. Use it to
61
+ # recognize when the same account has been connected more than once.
64
62
  #
65
- # Optional in the API payload; omitted values default to `nil`. Wire name: `fingerprint`.
66
- # @return [String, nil]
63
+ # Required in the API payload. Wire name: `fingerprint`.
64
+ # @return [String]
67
65
  #
68
66
  # @!attribute [r] id
69
67
  # Value of the `id` field in the Inttegro API payload.
@@ -142,7 +140,7 @@ module Inttegro
142
140
  const :currency, String
143
141
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
144
142
  const :description, T.nilable(String), default: nil
145
- const :fingerprint, T.nilable(String), default: nil
143
+ const :fingerprint, String
146
144
  const :id, String
147
145
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
148
146
  const :label, T.nilable(String), default: nil
@@ -54,13 +54,11 @@ module Inttegro
54
54
  # @return [String, nil]
55
55
  #
56
56
  # @!attribute [r] fingerprint
57
- # Application-scoped value for recognizing the same underlying financial account within the
58
- # authenticated application. Matching nonempty fingerprints can be used to detect duplicate
59
- # connections. Compare fingerprints only within the same application. Omitted when reliable
60
- # fingerprint material is unavailable.
57
+ # A stable identifier for the underlying financial account within your application. Use it to
58
+ # recognize when the same account has been connected more than once.
61
59
  #
62
- # Optional in the API payload; omitted values default to `nil`. Wire name: `fingerprint`.
63
- # @return [String, nil]
60
+ # Required in the API payload. Wire name: `fingerprint`.
61
+ # @return [String]
64
62
  #
65
63
  # @!attribute [r] id
66
64
  # Value of the `id` field in the Inttegro API payload.
@@ -121,7 +119,7 @@ module Inttegro
121
119
  const :currency, String
122
120
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
123
121
  const :description, T.nilable(String), default: nil
124
- const :fingerprint, T.nilable(String), default: nil
122
+ const :fingerprint, String
125
123
  const :id, String
126
124
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
127
125
  const :label, T.nilable(String), default: nil
@@ -57,13 +57,11 @@ module Inttegro
57
57
  # @return [String, nil]
58
58
  #
59
59
  # @!attribute [r] fingerprint
60
- # Application-scoped value for recognizing the same underlying financial account within the
61
- # authenticated application. Matching nonempty fingerprints can be used to detect duplicate
62
- # connections. Compare fingerprints only within the same application. Omitted when reliable
63
- # fingerprint material is unavailable.
60
+ # A stable identifier for the underlying financial account within your application. Use it to
61
+ # recognize when the same account has been connected more than once.
64
62
  #
65
- # Optional in the API payload; omitted values default to `nil`. Wire name: `fingerprint`.
66
- # @return [String, nil]
63
+ # Required in the API payload. Wire name: `fingerprint`.
64
+ # @return [String]
67
65
  #
68
66
  # @!attribute [r] id
69
67
  # Value of the `id` field in the Inttegro API payload.
@@ -155,7 +153,7 @@ module Inttegro
155
153
  const :currency, String
156
154
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
157
155
  const :description, T.nilable(String), default: nil
158
- const :fingerprint, T.nilable(String), default: nil
156
+ const :fingerprint, String
159
157
  const :id, String
160
158
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
161
159
  const :label, T.nilable(String), default: nil
@@ -58,13 +58,11 @@ module Inttegro
58
58
  # @return [String, nil]
59
59
  #
60
60
  # @!attribute [r] fingerprint
61
- # Application-scoped value for recognizing the same underlying financial account within the
62
- # authenticated application. Matching nonempty fingerprints can be used to detect duplicate
63
- # connections. Compare fingerprints only within the same application. Omitted when reliable
64
- # fingerprint material is unavailable.
61
+ # A stable identifier for the underlying financial account within your application. Use it to
62
+ # recognize when the same account has been connected more than once.
65
63
  #
66
- # Optional in the API payload; omitted values default to `nil`. Wire name: `fingerprint`.
67
- # @return [String, nil]
64
+ # Required in the API payload. Wire name: `fingerprint`.
65
+ # @return [String]
68
66
  #
69
67
  # @!attribute [r] id
70
68
  # Value of the `id` field in the Inttegro API payload.
@@ -156,7 +154,7 @@ module Inttegro
156
154
  const :currency, String
157
155
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
158
156
  const :description, T.nilable(String), default: nil
159
- const :fingerprint, T.nilable(String), default: nil
157
+ const :fingerprint, String
160
158
  const :id, String
161
159
  const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
162
160
  const :label, T.nilable(String), default: nil
@@ -65,6 +65,8 @@ require_relative "../payment_method/data_type"
65
65
  require_relative "../payment_method/tokenize_base_type"
66
66
  require_relative "../payment_method/tokenize_mobile_money_request_type"
67
67
  require_relative "../payment_method/type"
68
+ require_relative "../payout/balance_transaction_status"
69
+ require_relative "../payout/failure_reason"
68
70
  require_relative "../payout/status"
69
71
  require_relative "../price/type"
70
72
  require_relative "../product/line_item_type"
@@ -45,6 +45,9 @@ require_relative "../app/relationship"
45
45
  require_relative "../app/application"
46
46
  require_relative "../payment_method/archive_request"
47
47
  require_relative "../payment_method/archive_response"
48
+ require_relative "../balance/holds_payout"
49
+ require_relative "../balance/holds_refund"
50
+ require_relative "../balance/holds"
48
51
  require_relative "../balance/value"
49
52
  require_relative "../balance/currency_snapshot_refund"
50
53
  require_relative "../balance/currency_snapshot_reserved"
@@ -500,6 +503,7 @@ require_relative "../payment_method/tokenize_base"
500
503
  require_relative "../payment/result"
501
504
  require_relative "../payout/balance_transaction"
502
505
  require_relative "../payout/error"
506
+ require_relative "../payout/failure"
503
507
  require_relative "../payout/payout"
504
508
  require_relative "../payout/page"
505
509
  require_relative "../payout/page_response"
@@ -5,10 +5,12 @@
5
5
 
6
6
  require_relative "base"
7
7
  require_relative "../money/amount"
8
+ require_relative "balance_transaction_status"
8
9
 
9
10
  module Inttegro
10
11
  class Payout
11
- # A sparse view of one balance transaction's contribution to a payout.
12
+ # A historical view of one balance transaction's contribution to a payout. Released
13
+ # contributions remain present so clients can inspect the payout's original composition.
12
14
  #
13
15
  # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
16
  # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
@@ -33,10 +35,18 @@ module Inttegro
33
35
  #
34
36
  # Required in the API payload. Wire name: `id`.
35
37
  # @return [String]
38
+ #
39
+ # @!attribute [r] status
40
+ # Whether this contribution is still reserved for the payout, was consumed by a successful
41
+ # payout, or was released after the payout did not complete.
42
+ #
43
+ # Required in the API payload. Wire name: `status`.
44
+ # @return [Inttegro::Payout::BalanceTransactionStatus]
36
45
  class BalanceTransaction < T::Struct
37
46
  const :allocated_amount, Inttegro::Money::Amount
38
47
  const :amount, Inttegro::Money::Amount
39
48
  const :id, String
49
+ const :status, Inttegro::Payout::BalanceTransactionStatus
40
50
  end
41
51
  end
42
52
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ class Payout
10
+ # Whether this contribution is still reserved for the payout, was consumed by a successful
11
+ # payout, or was released after the payout did not complete.
12
+ #
13
+ # Use the constants below when constructing a request. `#serialize` returns the documented
14
+ # string wire value received from or sent to the API.
15
+ #
16
+ # @api public
17
+ class BalanceTransactionStatus < T::Enum
18
+ enums do
19
+ # Serialized wire value: `reserved`.
20
+ # @return [Inttegro::Payout::BalanceTransactionStatus]
21
+ RESERVED = new("reserved")
22
+ # Serialized wire value: `completed`.
23
+ # @return [Inttegro::Payout::BalanceTransactionStatus]
24
+ COMPLETED = new("completed")
25
+ # Serialized wire value: `released`.
26
+ # @return [Inttegro::Payout::BalanceTransactionStatus]
27
+ RELEASED = new("released")
28
+ end
29
+ end
30
+ end
31
+ end
@@ -7,7 +7,7 @@ require_relative "base"
7
7
 
8
8
  module Inttegro
9
9
  class Payout
10
- # Public failure details returned when payout execution fails.
10
+ # Deprecated compatibility projection of `PayoutFailure`.
11
11
  #
12
12
  # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
13
  # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+ require_relative "failure_reason"
8
+
9
+ module Inttegro
10
+ class Payout
11
+ # Stable, caller-safe information about a terminal payout failure.
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] detail
20
+ # Human-readable explanation safe to show to an operator.
21
+ #
22
+ # Required in the API payload. Wire name: `detail`.
23
+ # @return [String]
24
+ #
25
+ # @!attribute [r] reason
26
+ # Stable category describing why the payout failed.
27
+ #
28
+ # Required in the API payload. Wire name: `reason`.
29
+ # @return [Inttegro::Payout::FailureReason]
30
+ #
31
+ # @!attribute [r] retryable
32
+ # Whether creating a new payout attempt may succeed without changing the destination or
33
+ # request.
34
+ #
35
+ # Required in the API payload. Wire name: `retryable`.
36
+ # @return [Boolean]
37
+ class Failure < T::Struct
38
+ const :detail, String
39
+ const :reason, Inttegro::Payout::FailureReason
40
+ const :retryable, T::Boolean
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require_relative "base"
7
+
8
+ module Inttegro
9
+ class Payout
10
+ # Stable category describing why the payout failed.
11
+ #
12
+ # Use the constants below when constructing a request. `#serialize` returns the documented
13
+ # string wire value received from or sent to the API.
14
+ #
15
+ # @api public
16
+ class FailureReason < T::Enum
17
+ enums do
18
+ # Serialized wire value: `provider_declined`.
19
+ # @return [Inttegro::Payout::FailureReason]
20
+ PROVIDER_DECLINED = new("provider_declined")
21
+ # Serialized wire value: `delivery_failed`.
22
+ # @return [Inttegro::Payout::FailureReason]
23
+ DELIVERY_FAILED = new("delivery_failed")
24
+ # Serialized wire value: `temporarily_unavailable`.
25
+ # @return [Inttegro::Payout::FailureReason]
26
+ TEMPORARILY_UNAVAILABLE = new("temporarily_unavailable")
27
+ # Serialized wire value: `unknown`.
28
+ # @return [Inttegro::Payout::FailureReason]
29
+ UNKNOWN = new("unknown")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -8,6 +8,7 @@ require_relative "../custom_data"
8
8
  require_relative "../money/amount"
9
9
  require_relative "balance_transaction"
10
10
  require_relative "error"
11
+ require_relative "failure"
11
12
  require_relative "status"
12
13
 
13
14
  module Inttegro
@@ -60,7 +61,7 @@ module Inttegro
60
61
  # @return [String]
61
62
  #
62
63
  # @!attribute [r] error
63
- # Public failure details returned when payout execution fails.
64
+ # Deprecated compatibility projection of `failure`. New integrations should use `failure`.
64
65
  #
65
66
  # Optional in the API payload; omitted values default to `nil`. Wire name: `error`.
66
67
  # @return [Inttegro::Payout::Error, nil]
@@ -84,11 +85,17 @@ module Inttegro
84
85
  # @return [Time, nil]
85
86
  #
86
87
  # @!attribute [r] failed_at
87
- # When the payout entered its unsuccessful terminal state
88
+ # When the payout entered the `failed` state.
88
89
  #
89
90
  # Optional in the API payload; omitted values default to `nil`. Wire name: `failed_at`.
90
91
  # @return [Time, nil]
91
92
  #
93
+ # @!attribute [r] failure
94
+ # Caller-safe failure information. Present only when `status` is `failed`.
95
+ #
96
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `failure`.
97
+ # @return [Inttegro::Payout::Failure, nil]
98
+ #
92
99
  # @!attribute [r] id
93
100
  # Unique payout identifier
94
101
  #
@@ -172,6 +179,7 @@ module Inttegro
172
179
  const :executed_by, T.nilable(String), default: nil
173
180
  const :expected_at, T.nilable(Time), default: nil
174
181
  const :failed_at, T.nilable(Time), default: nil
182
+ const :failure, T.nilable(Inttegro::Payout::Failure), default: nil
175
183
  const :id, String
176
184
  const :initiated_at, Time
177
185
  const :initiated_by, T.nilable(String), default: nil
@@ -30,9 +30,9 @@ module Inttegro
30
30
  # Serialized wire value: `succeeded`.
31
31
  # @return [Inttegro::Payout::Status]
32
32
  SUCCEEDED = new("succeeded")
33
- # Serialized wire value: `invalid`.
33
+ # Serialized wire value: `failed`.
34
34
  # @return [Inttegro::Payout::Status]
35
- INVALID = new("invalid")
35
+ FAILED = new("failed")
36
36
  # Serialized wire value: `canceled`.
37
37
  # @return [Inttegro::Payout::Status]
38
38
  CANCELED = new("canceled")
@@ -2,5 +2,5 @@
2
2
  # typed: strict
3
3
 
4
4
  module Inttegro
5
- VERSION = "9.3.0"
5
+ VERSION = "10.0.0"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inttegro
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.3.0
4
+ version: 10.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inttegro Engineering
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-10-03 00:00:00.000000000 Z
11
+ date: 2026-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -102,6 +102,9 @@ files:
102
102
  - lib/inttegro/balance/currency_snapshot.rb
103
103
  - lib/inttegro/balance/currency_snapshot_refund.rb
104
104
  - lib/inttegro/balance/currency_snapshot_reserved.rb
105
+ - lib/inttegro/balance/holds.rb
106
+ - lib/inttegro/balance/holds_payout.rb
107
+ - lib/inttegro/balance/holds_refund.rb
105
108
  - lib/inttegro/balance/lookup_request.rb
106
109
  - lib/inttegro/balance/snapshot.rb
107
110
  - lib/inttegro/balance/snapshot_response.rb
@@ -555,6 +558,7 @@ files:
555
558
  - lib/inttegro/payment_method/update_response.rb
556
559
  - lib/inttegro/payment_method/verification.rb
557
560
  - lib/inttegro/payout/balance_transaction.rb
561
+ - lib/inttegro/payout/balance_transaction_status.rb
558
562
  - lib/inttegro/payout/base.rb
559
563
  - lib/inttegro/payout/cancel_request.rb
560
564
  - lib/inttegro/payout/destinations.rb
@@ -562,6 +566,8 @@ files:
562
566
  - lib/inttegro/payout/disable_automatic_response.rb
563
567
  - lib/inttegro/payout/enable_automatic_request.rb
564
568
  - lib/inttegro/payout/error.rb
569
+ - lib/inttegro/payout/failure.rb
570
+ - lib/inttegro/payout/failure_reason.rb
565
571
  - lib/inttegro/payout/get_settings_request.rb
566
572
  - lib/inttegro/payout/lookup_request.rb
567
573
  - lib/inttegro/payout/page.rb