lithic 0.1.0.pre.alpha.38 → 0.1.0.pre.alpha.40

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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/account.rb +88 -1
  6. data/lib/lithic/models/account_update_params.rb +86 -1
  7. data/lib/lithic/models/aggregate_balance.rb +1 -0
  8. data/lib/lithic/models/aggregate_balance_list_params.rb +1 -0
  9. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +4 -10
  10. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +3 -25
  11. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +238 -16
  12. data/lib/lithic/models/balance.rb +1 -0
  13. data/lib/lithic/models/balance_list_params.rb +1 -0
  14. data/lib/lithic/models/card_create_params.rb +90 -1
  15. data/lib/lithic/models/card_program.rb +10 -1
  16. data/lib/lithic/models/card_update_params.rb +98 -1
  17. data/lib/lithic/models/cards/balance_list_response.rb +1 -0
  18. data/lib/lithic/models/event.rb +2 -0
  19. data/lib/lithic/models/event_list_params.rb +2 -0
  20. data/lib/lithic/models/event_subscription.rb +2 -0
  21. data/lib/lithic/models/events/subscription_create_params.rb +2 -0
  22. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -0
  23. data/lib/lithic/models/events/subscription_update_params.rb +2 -0
  24. data/lib/lithic/models/external_resource.rb +34 -0
  25. data/lib/lithic/models/external_resource_type.rb +18 -0
  26. data/lib/lithic/models/financial_account_list_params.rb +1 -0
  27. data/lib/lithic/models/financial_accounts/balance_list_response.rb +1 -0
  28. data/lib/lithic/models/management_operation_create_params.rb +30 -1
  29. data/lib/lithic/models/management_operation_transaction.rb +22 -1
  30. data/lib/lithic/models/network_program.rb +41 -0
  31. data/lib/lithic/models/network_program_list_params.rb +43 -0
  32. data/lib/lithic/models/network_program_retrieve_params.rb +14 -0
  33. data/lib/lithic/models/non_pci_card.rb +88 -1
  34. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  35. data/lib/lithic/models/reports/settlement/network_total_list_response.rb +16 -6
  36. data/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +16 -6
  37. data/lib/lithic/models/transaction.rb +31 -20
  38. data/lib/lithic/models.rb +10 -0
  39. data/lib/lithic/resources/accounts.rb +5 -1
  40. data/lib/lithic/resources/cards.rb +12 -2
  41. data/lib/lithic/resources/management_operations.rb +13 -1
  42. data/lib/lithic/resources/network_programs.rb +64 -0
  43. data/lib/lithic/version.rb +1 -1
  44. data/lib/lithic.rb +6 -0
  45. data/rbi/lithic/client.rbi +3 -0
  46. data/rbi/lithic/models/account.rbi +131 -0
  47. data/rbi/lithic/models/account_update_params.rbi +159 -0
  48. data/rbi/lithic/models/aggregate_balance.rbi +5 -0
  49. data/rbi/lithic/models/aggregate_balance_list_params.rbi +5 -0
  50. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +6 -15
  51. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +18 -25
  52. data/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +527 -31
  53. data/rbi/lithic/models/balance.rbi +2 -0
  54. data/rbi/lithic/models/balance_list_params.rbi +5 -0
  55. data/rbi/lithic/models/card_create_params.rbi +190 -0
  56. data/rbi/lithic/models/card_program.rbi +13 -0
  57. data/rbi/lithic/models/card_update_params.rbi +168 -0
  58. data/rbi/lithic/models/cards/balance_list_response.rbi +5 -0
  59. data/rbi/lithic/models/event.rbi +10 -0
  60. data/rbi/lithic/models/event_list_params.rbi +10 -0
  61. data/rbi/lithic/models/event_subscription.rbi +10 -0
  62. data/rbi/lithic/models/events/subscription_create_params.rbi +10 -0
  63. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +10 -0
  64. data/rbi/lithic/models/events/subscription_update_params.rbi +10 -0
  65. data/rbi/lithic/models/external_resource.rbi +57 -0
  66. data/rbi/lithic/models/external_resource_type.rbi +26 -0
  67. data/rbi/lithic/models/financial_account_list_params.rbi +5 -0
  68. data/rbi/lithic/models/financial_accounts/balance_list_response.rbi +5 -0
  69. data/rbi/lithic/models/management_operation_create_params.rbi +59 -0
  70. data/rbi/lithic/models/management_operation_transaction.rbi +15 -0
  71. data/rbi/lithic/models/network_program.rbi +61 -0
  72. data/rbi/lithic/models/network_program_list_params.rbi +72 -0
  73. data/rbi/lithic/models/network_program_retrieve_params.rbi +27 -0
  74. data/rbi/lithic/models/non_pci_card.rbi +133 -3
  75. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  76. data/rbi/lithic/models/reports/settlement/network_total_list_response.rbi +21 -6
  77. data/rbi/lithic/models/reports/settlement/network_total_retrieve_response.rbi +21 -6
  78. data/rbi/lithic/models/transaction.rbi +23 -31
  79. data/rbi/lithic/models.rbi +10 -0
  80. data/rbi/lithic/resources/accounts.rbi +32 -0
  81. data/rbi/lithic/resources/cards.rbi +70 -0
  82. data/rbi/lithic/resources/management_operations.rbi +4 -0
  83. data/rbi/lithic/resources/network_programs.rbi +48 -0
  84. data/sig/lithic/client.rbs +2 -0
  85. data/sig/lithic/models/account.rbs +41 -0
  86. data/sig/lithic/models/account_update_params.rbs +41 -0
  87. data/sig/lithic/models/aggregate_balance.rbs +2 -1
  88. data/sig/lithic/models/aggregate_balance_list_params.rbs +2 -1
  89. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +4 -14
  90. data/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +212 -7
  91. data/sig/lithic/models/balance.rbs +2 -1
  92. data/sig/lithic/models/balance_list_params.rbs +2 -1
  93. data/sig/lithic/models/card_create_params.rbs +47 -0
  94. data/sig/lithic/models/card_program.rbs +7 -0
  95. data/sig/lithic/models/card_update_params.rbs +55 -1
  96. data/sig/lithic/models/cards/balance_list_response.rbs +2 -1
  97. data/sig/lithic/models/event.rbs +4 -0
  98. data/sig/lithic/models/event_list_params.rbs +4 -0
  99. data/sig/lithic/models/event_subscription.rbs +4 -0
  100. data/sig/lithic/models/events/subscription_create_params.rbs +4 -0
  101. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +4 -0
  102. data/sig/lithic/models/events/subscription_update_params.rbs +4 -0
  103. data/sig/lithic/models/external_resource.rbs +32 -0
  104. data/sig/lithic/models/external_resource_type.rbs +16 -0
  105. data/sig/lithic/models/financial_account_list_params.rbs +2 -1
  106. data/sig/lithic/models/financial_accounts/balance_list_response.rbs +2 -1
  107. data/sig/lithic/models/management_operation_create_params.rbs +20 -0
  108. data/sig/lithic/models/management_operation_transaction.rbs +5 -0
  109. data/sig/lithic/models/network_program.rbs +35 -0
  110. data/sig/lithic/models/network_program_list_params.rbs +38 -0
  111. data/sig/lithic/models/network_program_retrieve_params.rbs +15 -0
  112. data/sig/lithic/models/non_pci_card.rbs +55 -3
  113. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  114. data/sig/lithic/models/reports/settlement/network_total_list_response.rbs +7 -1
  115. data/sig/lithic/models/reports/settlement/network_total_retrieve_response.rbs +7 -1
  116. data/sig/lithic/models/transaction.rbs +2 -6
  117. data/sig/lithic/models.rbs +10 -0
  118. data/sig/lithic/resources/accounts.rbs +2 -0
  119. data/sig/lithic/resources/cards.rbs +5 -0
  120. data/sig/lithic/resources/management_operations.rbs +1 -0
  121. data/sig/lithic/resources/network_programs.rbs +19 -0
  122. metadata +20 -2
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class ExternalResource < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Lithic::ExternalResource, Lithic::Internal::AnyHash)
9
+ end
10
+
11
+ # Token identifying the external resource
12
+ sig { returns(String) }
13
+ attr_accessor :external_resource_token
14
+
15
+ # Type of external resource associated with the management operation
16
+ sig { returns(Lithic::ExternalResourceType::TaggedSymbol) }
17
+ attr_accessor :external_resource_type
18
+
19
+ # Token identifying the external resource sub-resource
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :external_resource_sub_token
22
+
23
+ sig { params(external_resource_sub_token: String).void }
24
+ attr_writer :external_resource_sub_token
25
+
26
+ # External resource associated with the management operation
27
+ sig do
28
+ params(
29
+ external_resource_token: String,
30
+ external_resource_type: Lithic::ExternalResourceType::OrSymbol,
31
+ external_resource_sub_token: String
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # Token identifying the external resource
36
+ external_resource_token:,
37
+ # Type of external resource associated with the management operation
38
+ external_resource_type:,
39
+ # Token identifying the external resource sub-resource
40
+ external_resource_sub_token: nil
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ {
47
+ external_resource_token: String,
48
+ external_resource_type: Lithic::ExternalResourceType::TaggedSymbol,
49
+ external_resource_sub_token: String
50
+ }
51
+ )
52
+ end
53
+ def to_hash
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ # Type of external resource associated with the management operation
6
+ module ExternalResourceType
7
+ extend Lithic::Internal::Type::Enum
8
+
9
+ TaggedSymbol =
10
+ T.type_alias { T.all(Symbol, Lithic::ExternalResourceType) }
11
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
12
+
13
+ STATEMENT = T.let(:STATEMENT, Lithic::ExternalResourceType::TaggedSymbol)
14
+ COLLECTION =
15
+ T.let(:COLLECTION, Lithic::ExternalResourceType::TaggedSymbol)
16
+ DISPUTE = T.let(:DISPUTE, Lithic::ExternalResourceType::TaggedSymbol)
17
+ UNKNOWN = T.let(:UNKNOWN, Lithic::ExternalResourceType::TaggedSymbol)
18
+
19
+ sig do
20
+ override.returns(T::Array[Lithic::ExternalResourceType::TaggedSymbol])
21
+ end
22
+ def self.values
23
+ end
24
+ end
25
+ end
26
+ end
@@ -93,6 +93,11 @@ module Lithic
93
93
  :RESERVE,
94
94
  Lithic::FinancialAccountListParams::Type::TaggedSymbol
95
95
  )
96
+ SECURITY =
97
+ T.let(
98
+ :SECURITY,
99
+ Lithic::FinancialAccountListParams::Type::TaggedSymbol
100
+ )
96
101
 
97
102
  sig do
98
103
  override.returns(
@@ -152,6 +152,11 @@ module Lithic
152
152
  :RESERVE,
153
153
  Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol
154
154
  )
155
+ SECURITY =
156
+ T.let(
157
+ :SECURITY,
158
+ Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol
159
+ )
155
160
 
156
161
  sig do
157
162
  override.returns(
@@ -50,6 +50,24 @@ module Lithic
50
50
  sig { params(memo: String).void }
51
51
  attr_writer :memo
52
52
 
53
+ # What to do if the financial account is closed when posting an operation
54
+ sig do
55
+ returns(
56
+ T.nilable(
57
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol
58
+ )
59
+ )
60
+ end
61
+ attr_reader :on_closed_account
62
+
63
+ sig do
64
+ params(
65
+ on_closed_account:
66
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol
67
+ ).void
68
+ end
69
+ attr_writer :on_closed_account
70
+
53
71
  sig { returns(T.nilable(String)) }
54
72
  attr_reader :subtype
55
73
 
@@ -74,6 +92,8 @@ module Lithic
74
92
  financial_account_token: String,
75
93
  token: String,
76
94
  memo: String,
95
+ on_closed_account:
96
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol,
77
97
  subtype: String,
78
98
  user_defined_id: String,
79
99
  request_options: Lithic::RequestOptions::OrHash
@@ -88,6 +108,8 @@ module Lithic
88
108
  financial_account_token:,
89
109
  token: nil,
90
110
  memo: nil,
111
+ # What to do if the financial account is closed when posting an operation
112
+ on_closed_account: nil,
91
113
  subtype: nil,
92
114
  user_defined_id: nil,
93
115
  request_options: {}
@@ -108,6 +130,8 @@ module Lithic
108
130
  financial_account_token: String,
109
131
  token: String,
110
132
  memo: String,
133
+ on_closed_account:
134
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol,
111
135
  subtype: String,
112
136
  user_defined_id: String,
113
137
  request_options: Lithic::RequestOptions
@@ -309,6 +333,41 @@ module Lithic
309
333
  def self.values
310
334
  end
311
335
  end
336
+
337
+ # What to do if the financial account is closed when posting an operation
338
+ module OnClosedAccount
339
+ extend Lithic::Internal::Type::Enum
340
+
341
+ TaggedSymbol =
342
+ T.type_alias do
343
+ T.all(
344
+ Symbol,
345
+ Lithic::ManagementOperationCreateParams::OnClosedAccount
346
+ )
347
+ end
348
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
349
+
350
+ FAIL =
351
+ T.let(
352
+ :FAIL,
353
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::TaggedSymbol
354
+ )
355
+ USE_SUSPENSE =
356
+ T.let(
357
+ :USE_SUSPENSE,
358
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::TaggedSymbol
359
+ )
360
+
361
+ sig do
362
+ override.returns(
363
+ T::Array[
364
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::TaggedSymbol
365
+ ]
366
+ )
367
+ end
368
+ def self.values
369
+ end
370
+ end
312
371
  end
313
372
  end
314
373
  end
@@ -72,6 +72,17 @@ module Lithic
72
72
  sig { returns(Time) }
73
73
  attr_accessor :updated
74
74
 
75
+ # External resource associated with the management operation
76
+ sig { returns(T.nilable(Lithic::ExternalResource)) }
77
+ attr_reader :external_resource
78
+
79
+ sig do
80
+ params(
81
+ external_resource: T.nilable(Lithic::ExternalResource::OrHash)
82
+ ).void
83
+ end
84
+ attr_writer :external_resource
85
+
75
86
  sig { returns(T.nilable(String)) }
76
87
  attr_reader :user_defined_id
77
88
 
@@ -98,6 +109,7 @@ module Lithic
98
109
  Lithic::ManagementOperationTransaction::TransactionSeries::OrHash
99
110
  ),
100
111
  updated: Time,
112
+ external_resource: T.nilable(Lithic::ExternalResource::OrHash),
101
113
  user_defined_id: String
102
114
  ).returns(T.attached_class)
103
115
  end
@@ -115,6 +127,8 @@ module Lithic
115
127
  status:,
116
128
  transaction_series:,
117
129
  updated:,
130
+ # External resource associated with the management operation
131
+ external_resource: nil,
118
132
  user_defined_id: nil
119
133
  )
120
134
  end
@@ -142,6 +156,7 @@ module Lithic
142
156
  Lithic::ManagementOperationTransaction::TransactionSeries
143
157
  ),
144
158
  updated: Time,
159
+ external_resource: T.nilable(Lithic::ExternalResource),
145
160
  user_defined_id: String
146
161
  }
147
162
  )
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class NetworkProgram < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Lithic::NetworkProgram, Lithic::Internal::AnyHash)
9
+ end
10
+
11
+ # Lithic-generated unique identifier for the program
12
+ sig { returns(String) }
13
+ attr_accessor :token
14
+
15
+ # Network product ID associated with this program.
16
+ sig { returns(String) }
17
+ attr_accessor :default_product_code
18
+
19
+ # The name of the network program.
20
+ sig { returns(String) }
21
+ attr_accessor :name
22
+
23
+ # RPIN value assigned by the network.
24
+ sig { returns(String) }
25
+ attr_accessor :registered_program_identification_number
26
+
27
+ sig do
28
+ params(
29
+ token: String,
30
+ default_product_code: String,
31
+ name: String,
32
+ registered_program_identification_number: String
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Lithic-generated unique identifier for the program
37
+ token:,
38
+ # Network product ID associated with this program.
39
+ default_product_code:,
40
+ # The name of the network program.
41
+ name:,
42
+ # RPIN value assigned by the network.
43
+ registered_program_identification_number:
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ token: String,
51
+ default_product_code: String,
52
+ name: String,
53
+ registered_program_identification_number: String
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class NetworkProgramListParams < Lithic::Internal::Type::BaseModel
6
+ extend Lithic::Internal::Type::RequestParameters::Converter
7
+ include Lithic::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Lithic::NetworkProgramListParams, Lithic::Internal::AnyHash)
12
+ end
13
+
14
+ # Date string in RFC 3339 format. Only entries created after the specified time
15
+ # will be included. UTC time zone.
16
+ sig { returns(T.nilable(Time)) }
17
+ attr_reader :begin_
18
+
19
+ sig { params(begin_: Time).void }
20
+ attr_writer :begin_
21
+
22
+ # Date string in RFC 3339 format. Only entries created before the specified time
23
+ # will be included. UTC time zone.
24
+ sig { returns(T.nilable(Time)) }
25
+ attr_reader :end_
26
+
27
+ sig { params(end_: Time).void }
28
+ attr_writer :end_
29
+
30
+ # Page size (for pagination).
31
+ sig { returns(T.nilable(Integer)) }
32
+ attr_reader :page_size
33
+
34
+ sig { params(page_size: Integer).void }
35
+ attr_writer :page_size
36
+
37
+ sig do
38
+ params(
39
+ begin_: Time,
40
+ end_: Time,
41
+ page_size: Integer,
42
+ request_options: Lithic::RequestOptions::OrHash
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # Date string in RFC 3339 format. Only entries created after the specified time
47
+ # will be included. UTC time zone.
48
+ begin_: nil,
49
+ # Date string in RFC 3339 format. Only entries created before the specified time
50
+ # will be included. UTC time zone.
51
+ end_: nil,
52
+ # Page size (for pagination).
53
+ page_size: nil,
54
+ request_options: {}
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ begin_: Time,
62
+ end_: Time,
63
+ page_size: Integer,
64
+ request_options: Lithic::RequestOptions
65
+ }
66
+ )
67
+ end
68
+ def to_hash
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class NetworkProgramRetrieveParams < Lithic::Internal::Type::BaseModel
6
+ extend Lithic::Internal::Type::RequestParameters::Converter
7
+ include Lithic::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Lithic::NetworkProgramRetrieveParams, Lithic::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: Lithic::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: Lithic::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -106,6 +106,13 @@ module Lithic
106
106
  sig { params(cardholder_currency: String).void }
107
107
  attr_writer :cardholder_currency
108
108
 
109
+ # Additional context or information related to the card.
110
+ sig { returns(T.nilable(String)) }
111
+ attr_reader :comment
112
+
113
+ sig { params(comment: String).void }
114
+ attr_writer :comment
115
+
109
116
  # Specifies the digital card art to be displayed in the user's digital wallet
110
117
  # after tokenization. This artwork must be approved by Mastercard and configured
111
118
  # by Lithic to use.
@@ -143,6 +150,12 @@ module Lithic
143
150
  sig { params(memo: String).void }
144
151
  attr_writer :memo
145
152
 
153
+ # Globally unique identifier for the card's network program. Null if the card is
154
+ # not associated with a network program. Currently applicable to Visa cards
155
+ # participating in Account Level Management only
156
+ sig { returns(T.nilable(String)) }
157
+ attr_accessor :network_program_token
158
+
146
159
  # Indicates if there are offline PIN changes pending card interaction with an
147
160
  # offline PIN terminal. Possible commands are: CHANGE_PIN, UNBLOCK_PIN. Applicable
148
161
  # only to cards issued in markets supporting offline PINs.
@@ -166,6 +179,32 @@ module Lithic
166
179
  sig { returns(T.nilable(String)) }
167
180
  attr_accessor :replacement_for
168
181
 
182
+ # Card state substatus values: _ `LOST` - The physical card is no longer in the
183
+ # cardholder's possession due to being lost or never received by the cardholder. _
184
+ # `COMPROMISED` - Card information has been exposed, potentially leading to
185
+ # unauthorized access. This may involve physical card theft, cloning, or online
186
+ # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such
187
+ # as having chip failures or a demagnetized magnetic stripe. _
188
+ # `END_USER_REQUEST` - The cardholder requested the closure of the card for
189
+ # reasons unrelated to fraud or damage, such as switching to a different product
190
+ # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for
191
+ # reasons unrelated to fraud or damage, such as account inactivity, product or
192
+ # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any
193
+ # transaction activity for a specified period, applicable to statuses like
194
+ # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more
195
+ # suspicious transactions or activities that require review. This can involve
196
+ # prompting the cardholder to confirm legitimate use or report confirmed fraud. _
197
+ # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
198
+ # review. _ `EXPIRED` - The card has expired and has been closed without being
199
+ # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and
200
+ # has been returned. \* `OTHER` - The reason for the status does not fall into any
201
+ # of the above categories. A comment can be provided to specify the reason.
202
+ sig { returns(T.nilable(Lithic::NonPCICard::Substatus::TaggedSymbol)) }
203
+ attr_reader :substatus
204
+
205
+ sig { params(substatus: Lithic::NonPCICard::Substatus::OrSymbol).void }
206
+ attr_writer :substatus
207
+
169
208
  # Card details without PCI information
170
209
  sig do
171
210
  params(
@@ -182,14 +221,17 @@ module Lithic
182
221
  type: Lithic::NonPCICard::Type::OrSymbol,
183
222
  auth_rule_tokens: T::Array[String],
184
223
  cardholder_currency: String,
224
+ comment: String,
185
225
  digital_card_art_token: String,
186
226
  exp_month: String,
187
227
  exp_year: String,
188
228
  hostname: String,
189
229
  memo: String,
230
+ network_program_token: T.nilable(String),
190
231
  pending_commands: T::Array[String],
191
232
  product_id: String,
192
- replacement_for: T.nilable(String)
233
+ replacement_for: T.nilable(String),
234
+ substatus: Lithic::NonPCICard::Substatus::OrSymbol
193
235
  ).returns(T.attached_class)
194
236
  end
195
237
  def self.new(
@@ -258,6 +300,8 @@ module Lithic
258
300
  auth_rule_tokens: nil,
259
301
  # 3-character alphabetic ISO 4217 code for the currency of the cardholder.
260
302
  cardholder_currency: nil,
303
+ # Additional context or information related to the card.
304
+ comment: nil,
261
305
  # Specifies the digital card art to be displayed in the user's digital wallet
262
306
  # after tokenization. This artwork must be approved by Mastercard and configured
263
307
  # by Lithic to use.
@@ -270,6 +314,10 @@ module Lithic
270
314
  hostname: nil,
271
315
  # Friendly name to identify the card.
272
316
  memo: nil,
317
+ # Globally unique identifier for the card's network program. Null if the card is
318
+ # not associated with a network program. Currently applicable to Visa cards
319
+ # participating in Account Level Management only
320
+ network_program_token: nil,
273
321
  # Indicates if there are offline PIN changes pending card interaction with an
274
322
  # offline PIN terminal. Possible commands are: CHANGE_PIN, UNBLOCK_PIN. Applicable
275
323
  # only to cards issued in markets supporting offline PINs.
@@ -280,7 +328,28 @@ module Lithic
280
328
  product_id: nil,
281
329
  # If the card is a replacement for another card, the globally unique identifier
282
330
  # for the card that was replaced.
283
- replacement_for: nil
331
+ replacement_for: nil,
332
+ # Card state substatus values: _ `LOST` - The physical card is no longer in the
333
+ # cardholder's possession due to being lost or never received by the cardholder. _
334
+ # `COMPROMISED` - Card information has been exposed, potentially leading to
335
+ # unauthorized access. This may involve physical card theft, cloning, or online
336
+ # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such
337
+ # as having chip failures or a demagnetized magnetic stripe. _
338
+ # `END_USER_REQUEST` - The cardholder requested the closure of the card for
339
+ # reasons unrelated to fraud or damage, such as switching to a different product
340
+ # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for
341
+ # reasons unrelated to fraud or damage, such as account inactivity, product or
342
+ # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any
343
+ # transaction activity for a specified period, applicable to statuses like
344
+ # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more
345
+ # suspicious transactions or activities that require review. This can involve
346
+ # prompting the cardholder to confirm legitimate use or report confirmed fraud. _
347
+ # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
348
+ # review. _ `EXPIRED` - The card has expired and has been closed without being
349
+ # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and
350
+ # has been returned. \* `OTHER` - The reason for the status does not fall into any
351
+ # of the above categories. A comment can be provided to specify the reason.
352
+ substatus: nil
284
353
  )
285
354
  end
286
355
 
@@ -300,14 +369,17 @@ module Lithic
300
369
  type: Lithic::NonPCICard::Type::TaggedSymbol,
301
370
  auth_rule_tokens: T::Array[String],
302
371
  cardholder_currency: String,
372
+ comment: String,
303
373
  digital_card_art_token: String,
304
374
  exp_month: String,
305
375
  exp_year: String,
306
376
  hostname: String,
307
377
  memo: String,
378
+ network_program_token: T.nilable(String),
308
379
  pending_commands: T::Array[String],
309
380
  product_id: String,
310
- replacement_for: T.nilable(String)
381
+ replacement_for: T.nilable(String),
382
+ substatus: Lithic::NonPCICard::Substatus::TaggedSymbol
311
383
  }
312
384
  )
313
385
  end
@@ -558,6 +630,64 @@ module Lithic
558
630
  def self.values
559
631
  end
560
632
  end
633
+
634
+ # Card state substatus values: _ `LOST` - The physical card is no longer in the
635
+ # cardholder's possession due to being lost or never received by the cardholder. _
636
+ # `COMPROMISED` - Card information has been exposed, potentially leading to
637
+ # unauthorized access. This may involve physical card theft, cloning, or online
638
+ # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such
639
+ # as having chip failures or a demagnetized magnetic stripe. _
640
+ # `END_USER_REQUEST` - The cardholder requested the closure of the card for
641
+ # reasons unrelated to fraud or damage, such as switching to a different product
642
+ # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for
643
+ # reasons unrelated to fraud or damage, such as account inactivity, product or
644
+ # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any
645
+ # transaction activity for a specified period, applicable to statuses like
646
+ # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more
647
+ # suspicious transactions or activities that require review. This can involve
648
+ # prompting the cardholder to confirm legitimate use or report confirmed fraud. _
649
+ # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
650
+ # review. _ `EXPIRED` - The card has expired and has been closed without being
651
+ # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and
652
+ # has been returned. \* `OTHER` - The reason for the status does not fall into any
653
+ # of the above categories. A comment can be provided to specify the reason.
654
+ module Substatus
655
+ extend Lithic::Internal::Type::Enum
656
+
657
+ TaggedSymbol =
658
+ T.type_alias { T.all(Symbol, Lithic::NonPCICard::Substatus) }
659
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
660
+
661
+ LOST = T.let(:LOST, Lithic::NonPCICard::Substatus::TaggedSymbol)
662
+ COMPROMISED =
663
+ T.let(:COMPROMISED, Lithic::NonPCICard::Substatus::TaggedSymbol)
664
+ DAMAGED = T.let(:DAMAGED, Lithic::NonPCICard::Substatus::TaggedSymbol)
665
+ END_USER_REQUEST =
666
+ T.let(:END_USER_REQUEST, Lithic::NonPCICard::Substatus::TaggedSymbol)
667
+ ISSUER_REQUEST =
668
+ T.let(:ISSUER_REQUEST, Lithic::NonPCICard::Substatus::TaggedSymbol)
669
+ NOT_ACTIVE =
670
+ T.let(:NOT_ACTIVE, Lithic::NonPCICard::Substatus::TaggedSymbol)
671
+ SUSPICIOUS_ACTIVITY =
672
+ T.let(
673
+ :SUSPICIOUS_ACTIVITY,
674
+ Lithic::NonPCICard::Substatus::TaggedSymbol
675
+ )
676
+ INTERNAL_REVIEW =
677
+ T.let(:INTERNAL_REVIEW, Lithic::NonPCICard::Substatus::TaggedSymbol)
678
+ EXPIRED = T.let(:EXPIRED, Lithic::NonPCICard::Substatus::TaggedSymbol)
679
+ UNDELIVERABLE =
680
+ T.let(:UNDELIVERABLE, Lithic::NonPCICard::Substatus::TaggedSymbol)
681
+ OTHER = T.let(:OTHER, Lithic::NonPCICard::Substatus::TaggedSymbol)
682
+
683
+ sig do
684
+ override.returns(
685
+ T::Array[Lithic::NonPCICard::Substatus::TaggedSymbol]
686
+ )
687
+ end
688
+ def self.values
689
+ end
690
+ end
561
691
  end
562
692
  end
563
693
  end
@@ -110,6 +110,11 @@ module Lithic
110
110
  :ACH_RECEIPT_SETTLED,
111
111
  Lithic::PaymentSimulateActionParams::EventType::TaggedSymbol
112
112
  )
113
+ ACH_RECEIPT_RELEASED =
114
+ T.let(
115
+ :ACH_RECEIPT_RELEASED,
116
+ Lithic::PaymentSimulateActionParams::EventType::TaggedSymbol
117
+ )
113
118
  ACH_RETURN_INITIATED =
114
119
  T.let(
115
120
  :ACH_RETURN_INITIATED,