inttegro 9.0.0 → 9.1.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: 608a68da5f01abba8df499233779b428564f247ede7b80311b3af48168898519
4
- data.tar.gz: 6eed899188c50ed6611cb0f6180dde027c53065ae5f9ea1ebe9613b36e04a725
3
+ metadata.gz: 505bb0fb6560e58fc73e184b3bf9768d264d2788e0fd2cd1c782c73eb004e3eb
4
+ data.tar.gz: 843c5c156bde85253c0f94843f5de3731b864a3c37b5479130f6a1b7fe6541eb
5
5
  SHA512:
6
- metadata.gz: b5624cef6cd5474eacb13dba6b2d8ec90b9600383b429c316d2d249a3d4fb97bb80c907890c2670af46f317f386bdd630c1b671f8698cd7ee68cefa8325aacde
7
- data.tar.gz: a862487a146d0db29481f0593d77e872f45115d86920314e64f8250284985297fc8ba41a0e523a9548f5e04a62faf3b3a7ad40e3446558cb37d27e129cbe60bb
6
+ metadata.gz: 1a008265df9c387cd21da22d01c52a8c4bc7bfda2e3dbe5f7d703c7c593547f75daa5f98458a8b89cf99db99653d55f6d474780f979e31be5eef7114c0a87622
7
+ data.tar.gz: ca020602b0228107d07a475d380fa5d117f18def87ac131d97303b957f764d348bc85c286eadc3eaaff9228c9d31989e4969b2fc719bd5ddae0e02484ce2508f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [9.1.0] - 2026-09-27
4
+
5
+ - Added the required application-scoped customer fingerprint to typed customer
6
+ responses for possible duplicate-record detection.
7
+
3
8
  ## [9.0.0] - 2026-09-23
4
9
 
5
10
  - Breaking: replaced payout `balance_transactions` ID strings with typed
@@ -7,7 +7,7 @@ require_relative "base"
7
7
 
8
8
  module Inttegro
9
9
  class BalanceTransaction
10
- # Amount still available for a refund or payout. Present only when `type` is `payment`.
10
+ # Amount still available for a refund or payout.
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
@@ -13,12 +13,8 @@ require_relative "spent_amount"
13
13
  require_relative "type"
14
14
 
15
15
  module Inttegro
16
- # Merchant balance entry caused by a payment or refund. `type` describes the semantic source,
17
- # not direction. A payment transaction contains `payment_id`; a refund transaction contains
18
- # `refund_id`. Exactly one matching reference is present. Payment transactions also expose
19
- # their complete current allocation state and disjoint available, pending, and spent amounts.
20
- # Allocation fields are omitted from refund transactions because refund transactions are
21
- # consumers rather than sources.
16
+ # Merchant balance entry caused by a payment, refund, or payout. `type` is the discriminator
17
+ # and describes the semantic source rather than the direction.
22
18
  #
23
19
  # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
24
20
  # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
@@ -32,15 +28,32 @@ module Inttegro
32
28
  # Required in the API payload. Wire name: `amount`.
33
29
  # @return [Inttegro::BalanceTransaction::Amount]
34
30
  #
31
+ # @!attribute [r] created_at
32
+ # Value of the `created_at` field in the Inttegro API payload.
33
+ #
34
+ # Required in the API payload. Wire name: `created_at`.
35
+ # @return [Time]
36
+ #
37
+ # @!attribute [r] id
38
+ # Value of the `id` field in the Inttegro API payload.
39
+ #
40
+ # Required in the API payload. Wire name: `id`.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [r] type
44
+ # Value of the `type` field in the Inttegro API payload.
45
+ #
46
+ # Required in the API payload. Wire name: `type`.
47
+ # @return [Inttegro::BalanceTransaction::Type]
48
+ #
35
49
  # @!attribute [r] allocations
36
- # All current pending and completed allocations of this payment transaction. Released
37
- # allocations are omitted. Present only when `type` is `payment`.
50
+ # All current pending and completed allocations. Released allocations are omitted.
38
51
  #
39
52
  # Optional in the API payload; omitted values default to `nil`. Wire name: `allocations`.
40
53
  # @return [Array<Inttegro::BalanceTransaction::Allocation>, nil]
41
54
  #
42
55
  # @!attribute [r] available_amount
43
- # Amount still available for a refund or payout. Present only when `type` is `payment`.
56
+ # Amount still available for a refund or payout.
44
57
  #
45
58
  # Optional in the API payload; omitted values default to `nil`. Wire name: `available_amount`.
46
59
  # @return [Inttegro::BalanceTransaction::AvailableAmount, nil]
@@ -58,23 +71,11 @@ module Inttegro
58
71
  # Optional in the API payload; omitted values default to `nil`. Wire name: `claimed_at`.
59
72
  # @return [Time, nil]
60
73
  #
61
- # @!attribute [r] created_at
62
- # Value of the `created_at` field in the Inttegro API payload.
63
- #
64
- # Required in the API payload. Wire name: `created_at`.
65
- # @return [Time]
66
- #
67
- # @!attribute [r] id
68
- # Value of the `id` field in the Inttegro API payload.
69
- #
70
- # Required in the API payload. Wire name: `id`.
71
- # @return [String]
72
- #
73
74
  # @!attribute [r] order_id
74
75
  # Value of the `order_id` field in the Inttegro API payload.
75
76
  #
76
- # Required in the API payload. Wire name: `order_id`.
77
- # @return [String]
77
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `order_id`.
78
+ # @return [String, nil]
78
79
  #
79
80
  # @!attribute [r] paid_at
80
81
  # Legacy whole-transaction payout completion timestamp. New integrations should inspect
@@ -83,22 +84,14 @@ module Inttegro
83
84
  # Optional in the API payload; omitted values default to `nil`. Wire name: `paid_at`.
84
85
  # @return [Time, nil]
85
86
  #
86
- # @!attribute [r] pending_amount
87
- # Amount temporarily unavailable because a refund or payout is unresolved. Present only when
88
- # `type` is `payment`.
89
- #
90
- # Optional in the API payload; omitted values default to `nil`. Wire name: `pending_amount`.
91
- # @return [Inttegro::BalanceTransaction::PendingAmount, nil]
92
- #
93
87
  # @!attribute [r] payment_id
94
- # Present when `type` is `payment`; omitted when `type` is `refund`.
88
+ # Value of the `payment_id` field in the Inttegro API payload.
95
89
  #
96
90
  # Optional in the API payload; omitted values default to `nil`. Wire name: `payment_id`.
97
91
  # @return [String, nil]
98
92
  #
99
93
  # @!attribute [r] payout_id
100
- # Legacy payout owning the whole transaction remainder. New integrations should inspect
101
- # `allocations` because one transaction can participate in many payouts.
94
+ # Payout that created this finalized debit.
102
95
  #
103
96
  # Optional in the API payload; omitted values default to `nil`. Wire name: `payout_id`.
104
97
  # @return [String, nil]
@@ -109,41 +102,40 @@ module Inttegro
109
102
  # Optional in the API payload; omitted values default to `nil`. Wire name: `payout_configuration`.
110
103
  # @return [Inttegro::BalanceTransaction::PayoutConfiguration, nil]
111
104
  #
112
- # @!attribute [r] refund_id
113
- # Present when `type` is `refund`; omitted when `type` is `payment`.
105
+ # @!attribute [r] pending_amount
106
+ # Amount temporarily unavailable because a refund or payout is unresolved.
114
107
  #
115
- # Optional in the API payload; omitted values default to `nil`. Wire name: `refund_id`.
116
- # @return [String, nil]
108
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `pending_amount`.
109
+ # @return [Inttegro::BalanceTransaction::PendingAmount, nil]
117
110
  #
118
111
  # @!attribute [r] spent_amount
119
- # Amount permanently consumed by completed refunds and payouts. Present only when `type` is
120
- # `payment`.
112
+ # Amount permanently consumed by completed refund and payout allocations.
121
113
  #
122
114
  # Optional in the API payload; omitted values default to `nil`. Wire name: `spent_amount`.
123
115
  # @return [Inttegro::BalanceTransaction::SpentAmount, nil]
124
116
  #
125
- # @!attribute [r] type
126
- # Semantic source or cause of the transaction, not its direction.
117
+ # @!attribute [r] refund_id
118
+ # Value of the `refund_id` field in the Inttegro API payload.
127
119
  #
128
- # Required in the API payload. Wire name: `type`.
129
- # @return [Inttegro::BalanceTransaction::Type]
120
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `refund_id`.
121
+ # @return [String, nil]
130
122
  class BalanceTransaction
131
123
  const :amount, Inttegro::BalanceTransaction::Amount
124
+ const :created_at, Time
125
+ const :id, String
126
+ const :type, Inttegro::BalanceTransaction::Type
132
127
  const :allocations, T.nilable(T::Array[Inttegro::BalanceTransaction::Allocation]), default: nil
133
128
  const :available_amount, T.nilable(Inttegro::BalanceTransaction::AvailableAmount), default: nil
134
129
  const :available_at, T.nilable(Time), default: nil
135
130
  const :claimed_at, T.nilable(Time), default: nil
136
- const :created_at, Time
137
- const :id, String
138
- const :order_id, String
131
+ const :order_id, T.nilable(String), default: nil
139
132
  const :paid_at, T.nilable(Time), default: nil
140
- const :pending_amount, T.nilable(Inttegro::BalanceTransaction::PendingAmount), default: nil
141
133
  const :payment_id, T.nilable(String), default: nil
142
134
  const :payout_id, T.nilable(String), default: nil
143
135
  const :payout_configuration, T.nilable(Inttegro::BalanceTransaction::PayoutConfiguration), default: nil
144
- const :refund_id, T.nilable(String), default: nil
136
+ const :pending_amount, T.nilable(Inttegro::BalanceTransaction::PendingAmount), default: nil
145
137
  const :spent_amount, T.nilable(Inttegro::BalanceTransaction::SpentAmount), default: nil
146
- const :type, Inttegro::BalanceTransaction::Type
138
+ const :refund_id, T.nilable(String), default: nil
147
139
 
148
140
  extend T::Sig
149
141
 
@@ -7,8 +7,7 @@ require_relative "base"
7
7
 
8
8
  module Inttegro
9
9
  class BalanceTransaction
10
- # Amount temporarily unavailable because a refund or payout is unresolved. Present only when
11
- # `type` is `payment`.
10
+ # Amount temporarily unavailable because a refund or payout is unresolved.
12
11
  #
13
12
  # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
13
  # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
@@ -42,7 +42,8 @@ module Inttegro
42
42
  #
43
43
  # @return [Boolean] whether the transaction satisfies the local identity checks
44
44
  def valid?
45
- !id.empty? && !order_id.empty? && valid_source?
45
+ order = order_id
46
+ !id.empty? && !order.nil? && !order.empty? && valid_source?
46
47
  end
47
48
  end
48
49
  end
@@ -17,12 +17,8 @@ module Inttegro
17
17
  # @api public
18
18
  #
19
19
  # @!attribute [r] transaction
20
- # Merchant balance entry caused by a payment or refund. `type` describes the semantic source,
21
- # not direction. A payment transaction contains `payment_id`; a refund transaction contains
22
- # `refund_id`. Exactly one matching reference is present. Payment transactions also expose
23
- # their complete current allocation state and disjoint available, pending, and spent amounts.
24
- # Allocation fields are omitted from refund transactions because refund transactions are
25
- # consumers rather than sources.
20
+ # Merchant balance entry caused by a payment, refund, or payout. `type` is the discriminator
21
+ # and describes the semantic source rather than the direction.
26
22
  #
27
23
  # Required in the API payload. Wire name: `transaction`.
28
24
  # @return [Inttegro::BalanceTransaction]
@@ -7,8 +7,7 @@ require_relative "base"
7
7
 
8
8
  module Inttegro
9
9
  class BalanceTransaction
10
- # Amount permanently consumed by completed refunds and payouts. Present only when `type` is
11
- # `payment`.
10
+ # Amount permanently consumed by completed refund and payout allocations.
12
11
  #
13
12
  # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
13
  # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
@@ -7,7 +7,7 @@ require_relative "base"
7
7
 
8
8
  module Inttegro
9
9
  class BalanceTransaction
10
- # Semantic source or cause of the transaction, not its direction.
10
+ # String-backed values accepted by the Inttegro API for Inttegro::BalanceTransaction::Type.
11
11
  #
12
12
  # Use the constants below when constructing a request. `#serialize` returns the documented
13
13
  # string wire value received from or sent to the API.
@@ -21,6 +21,9 @@ module Inttegro
21
21
  # Serialized wire value: `refund`.
22
22
  # @return [Inttegro::BalanceTransaction::Type]
23
23
  REFUND = new("refund")
24
+ # Serialized wire value: `payout`.
25
+ # @return [Inttegro::BalanceTransaction::Type]
26
+ PAYOUT = new("payout")
24
27
  end
25
28
  end
26
29
  end
@@ -48,6 +48,15 @@ module Inttegro
48
48
  # Optional in the API payload; omitted values default to `nil`. Wire name: `email_address`.
49
49
  # @return [String, nil]
50
50
  #
51
+ # @!attribute [r] fingerprint
52
+ # Application-scoped value for spotting possible duplicate customer records. Matching nonempty
53
+ # fingerprints within the same application indicate that the records likely belong to the same
54
+ # buyer. Compare fingerprints only within that application, and continue to use each customer
55
+ # ID for API operations.
56
+ #
57
+ # Required in the API payload. Wire name: `fingerprint`.
58
+ # @return [String]
59
+ #
51
60
  # @!attribute [r] guest
52
61
  # Value of the `guest` field in the Inttegro API payload.
53
62
  #
@@ -107,6 +116,7 @@ module Inttegro
107
116
  const :created_at, Time
108
117
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
109
118
  const :email_address, T.nilable(String), default: nil
119
+ const :fingerprint, String
110
120
  const :guest, T::Boolean
111
121
  const :id, String
112
122
  const :name, String
@@ -54,9 +54,9 @@ require_relative "../balance_transaction/payout_allocation_payout"
54
54
  require_relative "../balance_transaction/payout_allocation"
55
55
  require_relative "../balance_transaction/allocation"
56
56
  require_relative "../balance_transaction/available_amount"
57
- require_relative "../balance_transaction/pending_amount"
58
57
  require_relative "../balance_transaction/payout_configuration_destination"
59
58
  require_relative "../balance_transaction/payout_configuration"
59
+ require_relative "../balance_transaction/pending_amount"
60
60
  require_relative "../balance_transaction/spent_amount"
61
61
  require_relative "../balance_transaction/balance_transaction"
62
62
  require_relative "../balance_transaction/allocation_base"
@@ -49,12 +49,8 @@ module Inttegro
49
49
  # @return [Inttegro::Money::Amount]
50
50
  #
51
51
  # @!attribute [r] balance_transaction
52
- # Merchant balance entry caused by a payment or refund. `type` describes the semantic source,
53
- # not direction. A payment transaction contains `payment_id`; a refund transaction contains
54
- # `refund_id`. Exactly one matching reference is present. Payment transactions also expose
55
- # their complete current allocation state and disjoint available, pending, and spent amounts.
56
- # Allocation fields are omitted from refund transactions because refund transactions are
57
- # consumers rather than sources.
52
+ # Merchant balance entry caused by a payment, refund, or payout. `type` is the discriminator
53
+ # and describes the semantic source rather than the direction.
58
54
  #
59
55
  # Optional in the API payload; omitted values default to `nil`. Wire name: `balance_transaction`.
60
56
  # @return [Inttegro::BalanceTransaction, nil]
@@ -34,6 +34,12 @@ module Inttegro
34
34
  # Optional in the API payload; omitted values default to `nil`. Wire name: `balance_transactions`.
35
35
  # @return [Array<Inttegro::Payout::BalanceTransaction>, nil]
36
36
  #
37
+ # @!attribute [r] balance_transaction_id
38
+ # Immutable debit balance transaction created when this payout succeeds.
39
+ #
40
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `balance_transaction_id`.
41
+ # @return [String, nil]
42
+ #
37
43
  # @!attribute [r] canceled_at
38
44
  # When the payout was canceled
39
45
  #
@@ -157,6 +163,7 @@ module Inttegro
157
163
  class Payout
158
164
  const :amount, T.nilable(Inttegro::Money::Amount), default: nil
159
165
  const :balance_transactions, T.nilable(T::Array[Inttegro::Payout::BalanceTransaction]), default: nil
166
+ const :balance_transaction_id, T.nilable(String), default: nil
160
167
  const :canceled_at, T.nilable(Time), default: nil
161
168
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
162
169
  const :destination_id, String
@@ -2,5 +2,5 @@
2
2
  # typed: strict
3
3
 
4
4
  module Inttegro
5
- VERSION = "9.0.0"
5
+ VERSION = "9.1.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.0.0
4
+ version: 9.1.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-09-23 00:00:00.000000000 Z
11
+ date: 2026-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime