lithic 0.1.0.pre.alpha.29 → 0.1.0.pre.alpha.31
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 +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +1 -1
- data/lib/lithic/internal/type/enum.rb +6 -3
- data/lib/lithic/internal/type/union.rb +5 -2
- data/lib/lithic/internal/util.rb +8 -9
- data/lib/lithic/models/account_update_params.rb +4 -4
- data/lib/lithic/models/auth_rules/v2/backtest_results.rb +100 -28
- data/lib/lithic/models/auth_rules/v2_apply_response.rb +401 -10
- data/lib/lithic/models/auth_rules/v2_create_params.rb +205 -6
- data/lib/lithic/models/auth_rules/v2_create_response.rb +401 -10
- data/lib/lithic/models/auth_rules/v2_draft_params.rb +186 -3
- data/lib/lithic/models/auth_rules/v2_draft_response.rb +401 -10
- data/lib/lithic/models/auth_rules/v2_list_params.rb +27 -8
- data/lib/lithic/models/auth_rules/v2_list_response.rb +401 -10
- data/lib/lithic/models/auth_rules/v2_promote_response.rb +401 -10
- data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +401 -10
- data/lib/lithic/models/auth_rules/v2_update_response.rb +401 -10
- data/lib/lithic/models/funding_event_list_response.rb +26 -22
- data/lib/lithic/models/funding_event_retrieve_response.rb +26 -22
- data/lib/lithic/models/payment.rb +2 -2
- data/lib/lithic/models/required_document.rb +2 -2
- data/lib/lithic/models/transaction.rb +2 -1
- data/lib/lithic/models.rb +4 -4
- data/lib/lithic/resources/auth_rules/v2/backtests.rb +12 -13
- data/lib/lithic/resources/auth_rules/v2.rb +45 -39
- data/lib/lithic/resources/transfers.rb +2 -0
- data/lib/lithic/version.rb +1 -1
- data/rbi/lithic/internal/util.rbi +2 -0
- data/rbi/lithic/models/account_update_params.rbi +6 -6
- data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +186 -24
- data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +895 -7
- data/rbi/lithic/models/auth_rules/v2_create_params.rbi +442 -8
- data/rbi/lithic/models/auth_rules/v2_create_response.rbi +895 -7
- data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +414 -4
- data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +895 -7
- data/rbi/lithic/models/auth_rules/v2_list_params.rbi +60 -7
- data/rbi/lithic/models/auth_rules/v2_list_response.rbi +895 -7
- data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +895 -7
- data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +895 -7
- data/rbi/lithic/models/auth_rules/v2_update_response.rbi +895 -7
- data/rbi/lithic/models/funding_event_list_response.rbi +35 -28
- data/rbi/lithic/models/funding_event_retrieve_response.rbi +35 -28
- data/rbi/lithic/models/payment.rbi +3 -3
- data/rbi/lithic/models/required_document.rbi +2 -2
- data/rbi/lithic/models/transaction.rbi +4 -2
- data/rbi/lithic/resources/accounts.rbi +2 -2
- data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +12 -13
- data/rbi/lithic/resources/auth_rules/v2.rbi +49 -38
- data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +66 -2
- data/sig/lithic/models/auth_rules/v2_apply_response.rbs +280 -1
- data/sig/lithic/models/auth_rules/v2_create_params.rbs +135 -1
- data/sig/lithic/models/auth_rules/v2_create_response.rbs +280 -1
- data/sig/lithic/models/auth_rules/v2_draft_params.rbs +129 -0
- data/sig/lithic/models/auth_rules/v2_draft_response.rbs +280 -1
- data/sig/lithic/models/auth_rules/v2_list_params.rbs +20 -0
- data/sig/lithic/models/auth_rules/v2_list_response.rbs +280 -1
- data/sig/lithic/models/auth_rules/v2_promote_response.rbs +280 -1
- data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +280 -1
- data/sig/lithic/models/auth_rules/v2_update_response.rbs +280 -1
- data/sig/lithic/models/funding_event_list_response.rbs +18 -11
- data/sig/lithic/models/funding_event_retrieve_response.rbs +18 -11
- data/sig/lithic/resources/auth_rules/v2.rbs +1 -0
- metadata +2 -2
@@ -23,7 +23,8 @@ module Lithic
|
|
23
23
|
end
|
24
24
|
attr_accessor :collection_resource_type
|
25
25
|
|
26
|
-
# IDs of collections
|
26
|
+
# IDs of collections, further information can be gathered from the appropriate
|
27
|
+
# collection API based on collection_resource_type
|
27
28
|
sig { returns(T::Array[String]) }
|
28
29
|
attr_accessor :collection_tokens
|
29
30
|
|
@@ -35,19 +36,19 @@ module Lithic
|
|
35
36
|
sig { returns(Time) }
|
36
37
|
attr_accessor :high_watermark
|
37
38
|
|
38
|
-
#
|
39
|
-
sig { returns(Time) }
|
40
|
-
attr_accessor :previous_high_watermark
|
41
|
-
|
42
|
-
# List of settlements
|
39
|
+
# Network settlement summary breakdown by network settlement date
|
43
40
|
sig do
|
44
41
|
returns(
|
45
42
|
T::Array[
|
46
|
-
Lithic::Models::FundingEventListResponse::
|
43
|
+
Lithic::Models::FundingEventListResponse::NetworkSettlementSummary
|
47
44
|
]
|
48
45
|
)
|
49
46
|
end
|
50
|
-
attr_accessor :
|
47
|
+
attr_accessor :network_settlement_summary
|
48
|
+
|
49
|
+
# Time of the previous high watermark
|
50
|
+
sig { returns(Time) }
|
51
|
+
attr_accessor :previous_high_watermark
|
51
52
|
|
52
53
|
# Time of the update
|
53
54
|
sig { returns(Time) }
|
@@ -61,11 +62,11 @@ module Lithic
|
|
61
62
|
collection_tokens: T::Array[String],
|
62
63
|
created: Time,
|
63
64
|
high_watermark: Time,
|
64
|
-
|
65
|
-
settlement_breakdowns:
|
65
|
+
network_settlement_summary:
|
66
66
|
T::Array[
|
67
|
-
Lithic::Models::FundingEventListResponse::
|
67
|
+
Lithic::Models::FundingEventListResponse::NetworkSettlementSummary::OrHash
|
68
68
|
],
|
69
|
+
previous_high_watermark: Time,
|
69
70
|
updated: Time
|
70
71
|
).returns(T.attached_class)
|
71
72
|
end
|
@@ -74,16 +75,17 @@ module Lithic
|
|
74
75
|
token:,
|
75
76
|
# Collection resource type
|
76
77
|
collection_resource_type:,
|
77
|
-
# IDs of collections
|
78
|
+
# IDs of collections, further information can be gathered from the appropriate
|
79
|
+
# collection API based on collection_resource_type
|
78
80
|
collection_tokens:,
|
79
81
|
# Time of the creation
|
80
82
|
created:,
|
81
83
|
# Time of the high watermark
|
82
84
|
high_watermark:,
|
85
|
+
# Network settlement summary breakdown by network settlement date
|
86
|
+
network_settlement_summary:,
|
83
87
|
# Time of the previous high watermark
|
84
88
|
previous_high_watermark:,
|
85
|
-
# List of settlements
|
86
|
-
settlement_breakdowns:,
|
87
89
|
# Time of the update
|
88
90
|
updated:
|
89
91
|
)
|
@@ -98,11 +100,11 @@ module Lithic
|
|
98
100
|
collection_tokens: T::Array[String],
|
99
101
|
created: Time,
|
100
102
|
high_watermark: Time,
|
101
|
-
|
102
|
-
settlement_breakdowns:
|
103
|
+
network_settlement_summary:
|
103
104
|
T::Array[
|
104
|
-
Lithic::Models::FundingEventListResponse::
|
105
|
+
Lithic::Models::FundingEventListResponse::NetworkSettlementSummary
|
105
106
|
],
|
107
|
+
previous_high_watermark: Time,
|
106
108
|
updated: Time
|
107
109
|
}
|
108
110
|
)
|
@@ -145,30 +147,35 @@ module Lithic
|
|
145
147
|
end
|
146
148
|
end
|
147
149
|
|
148
|
-
class
|
150
|
+
class NetworkSettlementSummary < Lithic::Internal::Type::BaseModel
|
149
151
|
OrHash =
|
150
152
|
T.type_alias do
|
151
153
|
T.any(
|
152
|
-
Lithic::Models::FundingEventListResponse::
|
154
|
+
Lithic::Models::FundingEventListResponse::NetworkSettlementSummary,
|
153
155
|
Lithic::Internal::AnyHash
|
154
156
|
)
|
155
157
|
end
|
156
158
|
|
157
|
-
sig { returns(Integer) }
|
158
|
-
attr_accessor :amount
|
159
|
-
|
160
159
|
sig { returns(Date) }
|
161
|
-
attr_accessor :
|
160
|
+
attr_accessor :network_settlement_date
|
161
|
+
|
162
|
+
sig { returns(Integer) }
|
163
|
+
attr_accessor :settled_gross_amount
|
162
164
|
|
163
165
|
sig do
|
164
|
-
params(
|
165
|
-
|
166
|
-
|
166
|
+
params(
|
167
|
+
network_settlement_date: Date,
|
168
|
+
settled_gross_amount: Integer
|
169
|
+
).returns(T.attached_class)
|
167
170
|
end
|
168
|
-
def self.new(
|
171
|
+
def self.new(network_settlement_date:, settled_gross_amount:)
|
169
172
|
end
|
170
173
|
|
171
|
-
sig
|
174
|
+
sig do
|
175
|
+
override.returns(
|
176
|
+
{ network_settlement_date: Date, settled_gross_amount: Integer }
|
177
|
+
)
|
178
|
+
end
|
172
179
|
def to_hash
|
173
180
|
end
|
174
181
|
end
|
@@ -23,7 +23,8 @@ module Lithic
|
|
23
23
|
end
|
24
24
|
attr_accessor :collection_resource_type
|
25
25
|
|
26
|
-
# IDs of collections
|
26
|
+
# IDs of collections, further information can be gathered from the appropriate
|
27
|
+
# collection API based on collection_resource_type
|
27
28
|
sig { returns(T::Array[String]) }
|
28
29
|
attr_accessor :collection_tokens
|
29
30
|
|
@@ -35,19 +36,19 @@ module Lithic
|
|
35
36
|
sig { returns(Time) }
|
36
37
|
attr_accessor :high_watermark
|
37
38
|
|
38
|
-
#
|
39
|
-
sig { returns(Time) }
|
40
|
-
attr_accessor :previous_high_watermark
|
41
|
-
|
42
|
-
# List of settlements
|
39
|
+
# Network settlement summary breakdown by network settlement date
|
43
40
|
sig do
|
44
41
|
returns(
|
45
42
|
T::Array[
|
46
|
-
Lithic::Models::FundingEventRetrieveResponse::
|
43
|
+
Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary
|
47
44
|
]
|
48
45
|
)
|
49
46
|
end
|
50
|
-
attr_accessor :
|
47
|
+
attr_accessor :network_settlement_summary
|
48
|
+
|
49
|
+
# Time of the previous high watermark
|
50
|
+
sig { returns(Time) }
|
51
|
+
attr_accessor :previous_high_watermark
|
51
52
|
|
52
53
|
# Time of the update
|
53
54
|
sig { returns(Time) }
|
@@ -61,11 +62,11 @@ module Lithic
|
|
61
62
|
collection_tokens: T::Array[String],
|
62
63
|
created: Time,
|
63
64
|
high_watermark: Time,
|
64
|
-
|
65
|
-
settlement_breakdowns:
|
65
|
+
network_settlement_summary:
|
66
66
|
T::Array[
|
67
|
-
Lithic::Models::FundingEventRetrieveResponse::
|
67
|
+
Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary::OrHash
|
68
68
|
],
|
69
|
+
previous_high_watermark: Time,
|
69
70
|
updated: Time
|
70
71
|
).returns(T.attached_class)
|
71
72
|
end
|
@@ -74,16 +75,17 @@ module Lithic
|
|
74
75
|
token:,
|
75
76
|
# Collection resource type
|
76
77
|
collection_resource_type:,
|
77
|
-
# IDs of collections
|
78
|
+
# IDs of collections, further information can be gathered from the appropriate
|
79
|
+
# collection API based on collection_resource_type
|
78
80
|
collection_tokens:,
|
79
81
|
# Time of the creation
|
80
82
|
created:,
|
81
83
|
# Time of the high watermark
|
82
84
|
high_watermark:,
|
85
|
+
# Network settlement summary breakdown by network settlement date
|
86
|
+
network_settlement_summary:,
|
83
87
|
# Time of the previous high watermark
|
84
88
|
previous_high_watermark:,
|
85
|
-
# List of settlements
|
86
|
-
settlement_breakdowns:,
|
87
89
|
# Time of the update
|
88
90
|
updated:
|
89
91
|
)
|
@@ -98,11 +100,11 @@ module Lithic
|
|
98
100
|
collection_tokens: T::Array[String],
|
99
101
|
created: Time,
|
100
102
|
high_watermark: Time,
|
101
|
-
|
102
|
-
settlement_breakdowns:
|
103
|
+
network_settlement_summary:
|
103
104
|
T::Array[
|
104
|
-
Lithic::Models::FundingEventRetrieveResponse::
|
105
|
+
Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary
|
105
106
|
],
|
107
|
+
previous_high_watermark: Time,
|
106
108
|
updated: Time
|
107
109
|
}
|
108
110
|
)
|
@@ -145,30 +147,35 @@ module Lithic
|
|
145
147
|
end
|
146
148
|
end
|
147
149
|
|
148
|
-
class
|
150
|
+
class NetworkSettlementSummary < Lithic::Internal::Type::BaseModel
|
149
151
|
OrHash =
|
150
152
|
T.type_alias do
|
151
153
|
T.any(
|
152
|
-
Lithic::Models::FundingEventRetrieveResponse::
|
154
|
+
Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary,
|
153
155
|
Lithic::Internal::AnyHash
|
154
156
|
)
|
155
157
|
end
|
156
158
|
|
157
|
-
sig { returns(Integer) }
|
158
|
-
attr_accessor :amount
|
159
|
-
|
160
159
|
sig { returns(Date) }
|
161
|
-
attr_accessor :
|
160
|
+
attr_accessor :network_settlement_date
|
161
|
+
|
162
|
+
sig { returns(Integer) }
|
163
|
+
attr_accessor :settled_gross_amount
|
162
164
|
|
163
165
|
sig do
|
164
|
-
params(
|
165
|
-
|
166
|
-
|
166
|
+
params(
|
167
|
+
network_settlement_date: Date,
|
168
|
+
settled_gross_amount: Integer
|
169
|
+
).returns(T.attached_class)
|
167
170
|
end
|
168
|
-
def self.new(
|
171
|
+
def self.new(network_settlement_date:, settled_gross_amount:)
|
169
172
|
end
|
170
173
|
|
171
|
-
sig
|
174
|
+
sig do
|
175
|
+
override.returns(
|
176
|
+
{ network_settlement_date: Date, settled_gross_amount: Integer }
|
177
|
+
)
|
178
|
+
end
|
172
179
|
def to_hash
|
173
180
|
end
|
174
181
|
end
|
@@ -255,7 +255,7 @@ module Lithic
|
|
255
255
|
# - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process.
|
256
256
|
# - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled.
|
257
257
|
# - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to
|
258
|
-
# the
|
258
|
+
# the Federal Reserve.
|
259
259
|
# - `ACH_ORIGINATION_SETTLED` - ACH origination has settled.
|
260
260
|
# - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to
|
261
261
|
# available balance.
|
@@ -318,7 +318,7 @@ module Lithic
|
|
318
318
|
# - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process.
|
319
319
|
# - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled.
|
320
320
|
# - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to
|
321
|
-
# the
|
321
|
+
# the Federal Reserve.
|
322
322
|
# - `ACH_ORIGINATION_SETTLED` - ACH origination has settled.
|
323
323
|
# - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to
|
324
324
|
# available balance.
|
@@ -383,7 +383,7 @@ module Lithic
|
|
383
383
|
# - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process.
|
384
384
|
# - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled.
|
385
385
|
# - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to
|
386
|
-
# the
|
386
|
+
# the Federal Reserve.
|
387
387
|
# - `ACH_ORIGINATION_SETTLED` - ACH origination has settled.
|
388
388
|
# - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to
|
389
389
|
# available balance.
|
@@ -12,7 +12,7 @@ module Lithic
|
|
12
12
|
sig { returns(String) }
|
13
13
|
attr_accessor :entity_token
|
14
14
|
|
15
|
-
#
|
15
|
+
# Provides the status reasons that will be satisfied by providing one of the valid
|
16
16
|
# documents.
|
17
17
|
sig { returns(T::Array[String]) }
|
18
18
|
attr_accessor :status_reasons
|
@@ -32,7 +32,7 @@ module Lithic
|
|
32
32
|
def self.new(
|
33
33
|
# Globally unique identifier for an entity.
|
34
34
|
entity_token:,
|
35
|
-
#
|
35
|
+
# Provides the status reasons that will be satisfied by providing one of the valid
|
36
36
|
# documents.
|
37
37
|
status_reasons:,
|
38
38
|
# A list of valid documents that will satisfy the KYC requirements for the
|
@@ -21,7 +21,8 @@ module Lithic
|
|
21
21
|
attr_accessor :acquirer_fee
|
22
22
|
|
23
23
|
# Unique identifier assigned to a transaction by the acquirer that can be used in
|
24
|
-
# dispute and chargeback filing.
|
24
|
+
# dispute and chargeback filing. This field has been deprecated in favor of the
|
25
|
+
# `acquirer_reference_number` that resides in the event-level `network_info`.
|
25
26
|
sig { returns(T.nilable(String)) }
|
26
27
|
attr_accessor :acquirer_reference_number
|
27
28
|
|
@@ -180,7 +181,8 @@ module Lithic
|
|
180
181
|
# as a negative value to indicate credited fees.
|
181
182
|
acquirer_fee:,
|
182
183
|
# Unique identifier assigned to a transaction by the acquirer that can be used in
|
183
|
-
# dispute and chargeback filing.
|
184
|
+
# dispute and chargeback filing. This field has been deprecated in favor of the
|
185
|
+
# `acquirer_reference_number` that resides in the event-level `network_info`.
|
184
186
|
acquirer_reference_number:,
|
185
187
|
# When the transaction is pending, this represents the authorization amount of the
|
186
188
|
# transaction in the anticipated settlement currency. Once the transaction has
|
@@ -53,8 +53,8 @@ module Lithic
|
|
53
53
|
state: nil,
|
54
54
|
# Address used during Address Verification Service (AVS) checks during
|
55
55
|
# transactions if enabled via Auth Rules. This field is deprecated as AVS checks
|
56
|
-
# are no longer supported by
|
57
|
-
#
|
56
|
+
# are no longer supported by Auth Rules. The field will be removed from the schema
|
57
|
+
# in a future release.
|
58
58
|
verification_address: nil,
|
59
59
|
request_options: {}
|
60
60
|
)
|
@@ -5,16 +5,15 @@ module Lithic
|
|
5
5
|
class AuthRules
|
6
6
|
class V2
|
7
7
|
class Backtests
|
8
|
-
# Initiates a request to asynchronously generate a backtest for an
|
9
|
-
#
|
10
|
-
# version of the
|
11
|
-
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
#
|
16
|
-
#
|
17
|
-
# approval rates.
|
8
|
+
# Initiates a request to asynchronously generate a backtest for an Auth rule.
|
9
|
+
# During backtesting, both the active version (if one exists) and the draft
|
10
|
+
# version of the Auth Rule are evaluated by replaying historical transaction data
|
11
|
+
# against the rule's conditions. This process allows customers to simulate and
|
12
|
+
# understand the effects of proposed rule changes before deployment. The generated
|
13
|
+
# backtest report provides detailed results showing whether the draft version of
|
14
|
+
# the Auth Rule would have approved or declined historical transactions which were
|
15
|
+
# processed during the backtest period. These reports help evaluate how changes to
|
16
|
+
# rule configurations might affect overall transaction approval rates.
|
18
17
|
#
|
19
18
|
# The generated backtest report will be delivered asynchronously through a webhook
|
20
19
|
# with `event_type` = `auth_rules.backtest_report.created`. See the docs on
|
@@ -49,7 +48,7 @@ module Lithic
|
|
49
48
|
)
|
50
49
|
end
|
51
50
|
|
52
|
-
# Returns the backtest results of an
|
51
|
+
# Returns the backtest results of an Auth rule (if available).
|
53
52
|
#
|
54
53
|
# Backtesting is an asynchronous process that requires time to complete. If a
|
55
54
|
# customer retrieves the backtest results using this endpoint before the report is
|
@@ -65,8 +64,8 @@ module Lithic
|
|
65
64
|
# also always represent the configuration of the rule at the time requests are
|
66
65
|
# made to this endpoint. For example, the results for `current_version` in the
|
67
66
|
# served backtest report will be consistent with which version of the rule is
|
68
|
-
# currently activated in the
|
69
|
-
# was active in the
|
67
|
+
# currently activated in the respective event stream, regardless of which version
|
68
|
+
# of the rule was active in the event stream at the time a backtest is requested.
|
70
69
|
sig do
|
71
70
|
params(
|
72
71
|
auth_rule_backtest_token: String,
|
@@ -7,7 +7,7 @@ module Lithic
|
|
7
7
|
sig { returns(Lithic::Resources::AuthRules::V2::Backtests) }
|
8
8
|
attr_reader :backtests
|
9
9
|
|
10
|
-
# Creates a new V2
|
10
|
+
# Creates a new V2 Auth rule in draft mode
|
11
11
|
sig do
|
12
12
|
params(
|
13
13
|
account_tokens: T::Array[String],
|
@@ -18,7 +18,8 @@ module Lithic
|
|
18
18
|
T.any(
|
19
19
|
Lithic::AuthRules::ConditionalBlockParameters::OrHash,
|
20
20
|
Lithic::AuthRules::VelocityLimitParams::OrHash,
|
21
|
-
Lithic::AuthRules::V2CreateParams::Parameters::MerchantLockParameters::OrHash
|
21
|
+
Lithic::AuthRules::V2CreateParams::Parameters::MerchantLockParameters::OrHash,
|
22
|
+
Lithic::AuthRules::V2CreateParams::Parameters::Conditional3DSActionParameters::OrHash
|
22
23
|
),
|
23
24
|
type: Lithic::AuthRules::V2CreateParams::Type::OrSymbol,
|
24
25
|
excluded_card_tokens: T::Array[String],
|
@@ -36,7 +37,13 @@ module Lithic
|
|
36
37
|
name: nil,
|
37
38
|
# Parameters for the Auth Rule
|
38
39
|
parameters: nil,
|
39
|
-
# The type of Auth Rule
|
40
|
+
# The type of Auth Rule. Effectively determines the event stream during which it
|
41
|
+
# will be evaluated.
|
42
|
+
#
|
43
|
+
# - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
|
44
|
+
# - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
|
45
|
+
# - `MERCHANT_LOCK`: AUTHORIZATION event stream.
|
46
|
+
# - `CONDITIONAL_3DS_ACTION`: THREE_DS_AUTHENTICATION event stream.
|
40
47
|
type: nil,
|
41
48
|
# Card tokens to which the Auth Rule does not apply.
|
42
49
|
excluded_card_tokens: nil,
|
@@ -44,7 +51,7 @@ module Lithic
|
|
44
51
|
)
|
45
52
|
end
|
46
53
|
|
47
|
-
# Fetches a V2
|
54
|
+
# Fetches a V2 Auth rule by its token
|
48
55
|
sig do
|
49
56
|
params(
|
50
57
|
auth_rule_token: String,
|
@@ -58,7 +65,7 @@ module Lithic
|
|
58
65
|
)
|
59
66
|
end
|
60
67
|
|
61
|
-
# Updates a V2
|
68
|
+
# Updates a V2 Auth rule's properties
|
62
69
|
#
|
63
70
|
# If `account_tokens`, `card_tokens`, `program_level`, or `excluded_card_tokens`
|
64
71
|
# is provided, this will replace existing associations with the provided list of
|
@@ -98,12 +105,14 @@ module Lithic
|
|
98
105
|
)
|
99
106
|
end
|
100
107
|
|
101
|
-
# Lists V2
|
108
|
+
# Lists V2 Auth rules
|
102
109
|
sig do
|
103
110
|
params(
|
104
111
|
account_token: String,
|
105
112
|
card_token: String,
|
106
113
|
ending_before: String,
|
114
|
+
event_stream:
|
115
|
+
Lithic::AuthRules::V2ListParams::EventStream::OrSymbol,
|
107
116
|
page_size: Integer,
|
108
117
|
scope: Lithic::AuthRules::V2ListParams::Scope::OrSymbol,
|
109
118
|
starting_after: String,
|
@@ -115,16 +124,18 @@ module Lithic
|
|
115
124
|
)
|
116
125
|
end
|
117
126
|
def list(
|
118
|
-
# Only return
|
127
|
+
# Only return Auth Rules that are bound to the provided account token.
|
119
128
|
account_token: nil,
|
120
|
-
# Only return
|
129
|
+
# Only return Auth Rules that are bound to the provided card token.
|
121
130
|
card_token: nil,
|
122
131
|
# A cursor representing an item's token before which a page of results should end.
|
123
132
|
# Used to retrieve the previous page of results before this item.
|
124
133
|
ending_before: nil,
|
134
|
+
# Only return Auth rules that are executed during the provided event stream.
|
135
|
+
event_stream: nil,
|
125
136
|
# Page size (for pagination).
|
126
137
|
page_size: nil,
|
127
|
-
# Only return
|
138
|
+
# Only return Auth Rules that are bound to the provided scope.
|
128
139
|
scope: nil,
|
129
140
|
# A cursor representing an item's token after which a page of results should
|
130
141
|
# begin. Used to retrieve the next page of results after this item.
|
@@ -133,7 +144,7 @@ module Lithic
|
|
133
144
|
)
|
134
145
|
end
|
135
146
|
|
136
|
-
# Deletes a V2
|
147
|
+
# Deletes a V2 Auth rule
|
137
148
|
sig do
|
138
149
|
params(
|
139
150
|
auth_rule_token: String,
|
@@ -147,8 +158,8 @@ module Lithic
|
|
147
158
|
)
|
148
159
|
end
|
149
160
|
|
150
|
-
# Associates a V2
|
151
|
-
#
|
161
|
+
# Associates a V2 Auth rule with a card program, the provided account(s) or
|
162
|
+
# card(s).
|
152
163
|
#
|
153
164
|
# Prefer using the `PATCH` method for this operation.
|
154
165
|
sig do
|
@@ -188,7 +199,8 @@ module Lithic
|
|
188
199
|
T.any(
|
189
200
|
Lithic::AuthRules::ConditionalBlockParameters::OrHash,
|
190
201
|
Lithic::AuthRules::VelocityLimitParams::OrHash,
|
191
|
-
Lithic::AuthRules::V2DraftParams::Parameters::MerchantLockParameters::OrHash
|
202
|
+
Lithic::AuthRules::V2DraftParams::Parameters::MerchantLockParameters::OrHash,
|
203
|
+
Lithic::AuthRules::V2DraftParams::Parameters::Conditional3DSActionParameters::OrHash
|
192
204
|
)
|
193
205
|
),
|
194
206
|
request_options: Lithic::RequestOptions::OrHash
|
@@ -203,8 +215,8 @@ module Lithic
|
|
203
215
|
)
|
204
216
|
end
|
205
217
|
|
206
|
-
# Promotes the draft version of an
|
207
|
-
#
|
218
|
+
# Promotes the draft version of an Auth rule to the currently active version such
|
219
|
+
# that it is enforced in the respective stream.
|
208
220
|
sig do
|
209
221
|
params(
|
210
222
|
auth_rule_token: String,
|
@@ -218,26 +230,25 @@ module Lithic
|
|
218
230
|
)
|
219
231
|
end
|
220
232
|
|
221
|
-
# Requests a performance report of an
|
222
|
-
#
|
223
|
-
#
|
224
|
-
#
|
233
|
+
# Requests a performance report of an Auth rule to be asynchronously generated.
|
234
|
+
# Reports can only be run on rules in draft or active mode and will included
|
235
|
+
# approved and declined statistics as well as examples. The generated report will
|
236
|
+
# be delivered asynchronously through a webhook with `event_type` =
|
225
237
|
# `auth_rules.performance_report.created`. See the docs on setting up
|
226
238
|
# [webhook subscriptions](https://docs.lithic.com/docs/events-api).
|
227
239
|
#
|
228
|
-
# Reports are generated based on data collected by Lithic's
|
229
|
-
#
|
230
|
-
#
|
231
|
-
#
|
232
|
-
#
|
233
|
-
#
|
234
|
-
#
|
235
|
-
# requesting performance reports.
|
240
|
+
# Reports are generated based on data collected by Lithic's processing system in
|
241
|
+
# the trailing week. The performance of the auth rule will be assessed on the
|
242
|
+
# configuration of the auth rule at the time the report is requested. This implies
|
243
|
+
# that if a performance report is requested, right after updating an auth rule,
|
244
|
+
# depending on the number of events processed for a card program, it may be the
|
245
|
+
# case that no data is available for the report. Therefore Lithic recommends to
|
246
|
+
# decouple making updates to an Auth Rule, and requesting performance reports.
|
236
247
|
#
|
237
248
|
# To make this concrete, consider the following example:
|
238
249
|
#
|
239
|
-
# 1. At time `t`, a new Auth Rule is created, and applies to all
|
240
|
-
#
|
250
|
+
# 1. At time `t`, a new Auth Rule is created, and applies to all auth events on a
|
251
|
+
# card program. The Auth Rule has not yet been promoted, causing the draft
|
241
252
|
# version of the rule to be applied in shadow mode.
|
242
253
|
# 2. At time `t + 1 hour` a performance report is requested for the Auth Rule.
|
243
254
|
# This performance report will _only_ contain data for the Auth Rule being
|
@@ -252,17 +263,17 @@ module Lithic
|
|
252
263
|
# `t + 2 hours`.
|
253
264
|
# 4. At time `t + 3 hours` a new version of the rule is drafted by calling the
|
254
265
|
# `/v2/auth_rules/{auth_rule_token}/draft` endpoint. If a performance report is
|
255
|
-
# requested right at this moment, it will only contain data for
|
256
|
-
#
|
257
|
-
#
|
258
|
-
#
|
259
|
-
#
|
260
|
-
#
|
266
|
+
# requested right at this moment, it will only contain data for events to which
|
267
|
+
# both the active version and the draft version is applied. Lithic does this to
|
268
|
+
# ensure that performance reports represent a fair comparison between rules.
|
269
|
+
# Because there may be no events in this window, and because there may be some
|
270
|
+
# lag before data is available in a performance report, the requested
|
271
|
+
# performance report could contain no to little data.
|
261
272
|
# 5. At time `t + 4 hours` another performance report is requested: this time the
|
262
273
|
# performance report will contain data from the window between `t + 3 hours`
|
263
|
-
# and `t + 4 hours`, for any
|
264
|
-
#
|
265
|
-
#
|
274
|
+
# and `t + 4 hours`, for any events to which both the current version of the
|
275
|
+
# Auth rule (in enforcing mode) and the draft version of the Auth rule (in
|
276
|
+
# shadow mode) applied.
|
266
277
|
#
|
267
278
|
# Note that generating a report may take up to 15 minutes and that delivery is not
|
268
279
|
# guaranteed. Customers are required to have created an event subscription to
|