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
@@ -46,8 +46,13 @@ module Lithic
46
46
  sig { returns(String) }
47
47
  attr_accessor :institution_id
48
48
 
49
- # Card network where the transaction took place. VISA, MASTERCARD, MAESTRO, or
50
- # INTERLINK.
49
+ # Indicates that all settlement records related to this Network Total are
50
+ # available in the details endpoint.
51
+ sig { returns(T::Boolean) }
52
+ attr_accessor :is_complete
53
+
54
+ # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO,
55
+ # or INTERLINK.
51
56
  sig do
52
57
  returns(
53
58
  Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol
@@ -88,6 +93,7 @@ module Lithic
88
93
  created: Time,
89
94
  currency: String,
90
95
  institution_id: String,
96
+ is_complete: T::Boolean,
91
97
  network:
92
98
  Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::OrSymbol,
93
99
  report_date: Date,
@@ -109,8 +115,11 @@ module Lithic
109
115
  # Association). For Maestro: institution ID. For Visa: lowest level SRE
110
116
  # (Settlement Reporting Entity).
111
117
  institution_id:,
112
- # Card network where the transaction took place. VISA, MASTERCARD, MAESTRO, or
113
- # INTERLINK.
118
+ # Indicates that all settlement records related to this Network Total are
119
+ # available in the details endpoint.
120
+ is_complete:,
121
+ # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO,
122
+ # or INTERLINK.
114
123
  network:,
115
124
  # Date that the network total record applies to. YYYY-MM-DD format.
116
125
  report_date:,
@@ -136,6 +145,7 @@ module Lithic
136
145
  created: Time,
137
146
  currency: String,
138
147
  institution_id: String,
148
+ is_complete: T::Boolean,
139
149
  network:
140
150
  Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol,
141
151
  report_date: Date,
@@ -213,8 +223,8 @@ module Lithic
213
223
  end
214
224
  end
215
225
 
216
- # Card network where the transaction took place. VISA, MASTERCARD, MAESTRO, or
217
- # INTERLINK.
226
+ # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO,
227
+ # or INTERLINK.
218
228
  module Network
219
229
  extend Lithic::Internal::Type::Enum
220
230
 
@@ -227,6 +237,11 @@ module Lithic
227
237
  end
228
238
  OrSymbol = T.type_alias { T.any(Symbol, String) }
229
239
 
240
+ AMEX =
241
+ T.let(
242
+ :AMEX,
243
+ Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol
244
+ )
230
245
  VISA =
231
246
  T.let(
232
247
  :VISA,
@@ -46,8 +46,13 @@ module Lithic
46
46
  sig { returns(String) }
47
47
  attr_accessor :institution_id
48
48
 
49
- # Card network where the transaction took place. VISA, MASTERCARD, MAESTRO, or
50
- # INTERLINK.
49
+ # Indicates that all settlement records related to this Network Total are
50
+ # available in the details endpoint.
51
+ sig { returns(T::Boolean) }
52
+ attr_accessor :is_complete
53
+
54
+ # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO,
55
+ # or INTERLINK.
51
56
  sig do
52
57
  returns(
53
58
  Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol
@@ -88,6 +93,7 @@ module Lithic
88
93
  created: Time,
89
94
  currency: String,
90
95
  institution_id: String,
96
+ is_complete: T::Boolean,
91
97
  network:
92
98
  Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::OrSymbol,
93
99
  report_date: Date,
@@ -109,8 +115,11 @@ module Lithic
109
115
  # Association). For Maestro: institution ID. For Visa: lowest level SRE
110
116
  # (Settlement Reporting Entity).
111
117
  institution_id:,
112
- # Card network where the transaction took place. VISA, MASTERCARD, MAESTRO, or
113
- # INTERLINK.
118
+ # Indicates that all settlement records related to this Network Total are
119
+ # available in the details endpoint.
120
+ is_complete:,
121
+ # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO,
122
+ # or INTERLINK.
114
123
  network:,
115
124
  # Date that the network total record applies to. YYYY-MM-DD format.
116
125
  report_date:,
@@ -136,6 +145,7 @@ module Lithic
136
145
  created: Time,
137
146
  currency: String,
138
147
  institution_id: String,
148
+ is_complete: T::Boolean,
139
149
  network:
140
150
  Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol,
141
151
  report_date: Date,
@@ -213,8 +223,8 @@ module Lithic
213
223
  end
214
224
  end
215
225
 
216
- # Card network where the transaction took place. VISA, MASTERCARD, MAESTRO, or
217
- # INTERLINK.
226
+ # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO,
227
+ # or INTERLINK.
218
228
  module Network
219
229
  extend Lithic::Internal::Type::Enum
220
230
 
@@ -227,6 +237,11 @@ module Lithic
227
237
  end
228
238
  OrSymbol = T.type_alias { T.any(Symbol, String) }
229
239
 
240
+ AMEX =
241
+ T.let(
242
+ :AMEX,
243
+ Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol
244
+ )
230
245
  VISA =
231
246
  T.let(
232
247
  :VISA,
@@ -523,7 +523,8 @@ module Lithic
523
523
  sig { returns(T.nilable(String)) }
524
524
  attr_accessor :three_ds_version
525
525
 
526
- # Whether an acquirer exemption applied to the transaction.
526
+ # Whether an acquirer exemption applied to the transaction. Not currently
527
+ # populated and will be removed in the future.
527
528
  sig do
528
529
  returns(
529
530
  Lithic::Transaction::CardholderAuthentication::AcquirerExemption::TaggedSymbol
@@ -531,7 +532,7 @@ module Lithic
531
532
  end
532
533
  attr_accessor :acquirer_exemption
533
534
 
534
- # Indicates what the outcome of the 3DS authentication process is.
535
+ # Indicates the outcome of the 3DS authentication process.
535
536
  sig do
536
537
  returns(
537
538
  Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol
@@ -550,12 +551,10 @@ module Lithic
550
551
  # Indicates whether chargeback liability shift applies to the transaction.
551
552
  # Possible enum values:
552
553
  #
553
- # * `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D Secure flow, chargeback liability shift applies.
554
- #
555
- # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`.
556
- #
557
- # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable.
558
- #
554
+ # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D
555
+ # Secure flow, chargeback liability shift applies.
556
+ # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the
557
+ # merchant is liable.
559
558
  # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated
560
559
  # cryptography, possibly recurring. Chargeback liability shift to the issuer
561
560
  # applies.
@@ -632,21 +631,20 @@ module Lithic
632
631
  def self.new(
633
632
  # The 3DS version used for the authentication
634
633
  three_ds_version:,
635
- # Whether an acquirer exemption applied to the transaction.
634
+ # Whether an acquirer exemption applied to the transaction. Not currently
635
+ # populated and will be removed in the future.
636
636
  acquirer_exemption:,
637
- # Indicates what the outcome of the 3DS authentication process is.
637
+ # Indicates the outcome of the 3DS authentication process.
638
638
  authentication_result:,
639
639
  # Indicates which party made the 3DS authentication decision.
640
640
  decision_made_by:,
641
641
  # Indicates whether chargeback liability shift applies to the transaction.
642
642
  # Possible enum values:
643
643
  #
644
- # * `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D Secure flow, chargeback liability shift applies.
645
- #
646
- # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`.
647
- #
648
- # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable.
649
- #
644
+ # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D
645
+ # Secure flow, chargeback liability shift applies.
646
+ # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the
647
+ # merchant is liable.
650
648
  # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated
651
649
  # cryptography, possibly recurring. Chargeback liability shift to the issuer
652
650
  # applies.
@@ -692,7 +690,8 @@ module Lithic
692
690
  def to_hash
693
691
  end
694
692
 
695
- # Whether an acquirer exemption applied to the transaction.
693
+ # Whether an acquirer exemption applied to the transaction. Not currently
694
+ # populated and will be removed in the future.
696
695
  module AcquirerExemption
697
696
  extend Lithic::Internal::Type::Enum
698
697
 
@@ -757,7 +756,7 @@ module Lithic
757
756
  end
758
757
  end
759
758
 
760
- # Indicates what the outcome of the 3DS authentication process is.
759
+ # Indicates the outcome of the 3DS authentication process.
761
760
  module AuthenticationResult
762
761
  extend Lithic::Internal::Type::Enum
763
762
 
@@ -860,12 +859,10 @@ module Lithic
860
859
  # Indicates whether chargeback liability shift applies to the transaction.
861
860
  # Possible enum values:
862
861
  #
863
- # * `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D Secure flow, chargeback liability shift applies.
864
- #
865
- # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`.
866
- #
867
- # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable.
868
- #
862
+ # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D
863
+ # Secure flow, chargeback liability shift applies.
864
+ # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the
865
+ # merchant is liable.
869
866
  # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated
870
867
  # cryptography, possibly recurring. Chargeback liability shift to the issuer
871
868
  # applies.
@@ -886,9 +883,9 @@ module Lithic
886
883
  :"3DS_AUTHENTICATED",
887
884
  Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
888
885
  )
889
- ACQUIRER_EXEMPTION =
886
+ TOKEN_AUTHENTICATED =
890
887
  T.let(
891
- :ACQUIRER_EXEMPTION,
888
+ :TOKEN_AUTHENTICATED,
892
889
  Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
893
890
  )
894
891
  NONE =
@@ -896,11 +893,6 @@ module Lithic
896
893
  :NONE,
897
894
  Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
898
895
  )
899
- TOKEN_AUTHENTICATED =
900
- T.let(
901
- :TOKEN_AUTHENTICATED,
902
- Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
903
- )
904
896
 
905
897
  sig do
906
898
  override.returns(
@@ -199,6 +199,10 @@ module Lithic
199
199
 
200
200
  ExternalPaymentSettleParams = Lithic::Models::ExternalPaymentSettleParams
201
201
 
202
+ ExternalResource = Lithic::Models::ExternalResource
203
+
204
+ ExternalResourceType = Lithic::Models::ExternalResourceType
205
+
202
206
  FinancialAccount = Lithic::Models::FinancialAccount
203
207
 
204
208
  FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams
@@ -255,6 +259,12 @@ module Lithic
255
259
 
256
260
  MessageAttempt = Lithic::Models::MessageAttempt
257
261
 
262
+ NetworkProgram = Lithic::Models::NetworkProgram
263
+
264
+ NetworkProgramListParams = Lithic::Models::NetworkProgramListParams
265
+
266
+ NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams
267
+
258
268
  NonPCICard = Lithic::Models::NonPCICard
259
269
 
260
270
  OwnerType = Lithic::Models::OwnerType
@@ -23,10 +23,12 @@ module Lithic
23
23
  sig do
24
24
  params(
25
25
  account_token: String,
26
+ comment: String,
26
27
  daily_spend_limit: Integer,
27
28
  lifetime_spend_limit: Integer,
28
29
  monthly_spend_limit: Integer,
29
30
  state: Lithic::AccountUpdateParams::State::OrSymbol,
31
+ substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol,
30
32
  verification_address:
31
33
  Lithic::AccountUpdateParams::VerificationAddress::OrHash,
32
34
  request_options: Lithic::RequestOptions::OrHash
@@ -35,6 +37,8 @@ module Lithic
35
37
  def update(
36
38
  # Globally unique identifier for account.
37
39
  account_token,
40
+ # Additional context or information related to the account.
41
+ comment: nil,
38
42
  # Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a
39
43
  # $1,000 limit). By default the daily spend limit is set to $1,250.
40
44
  daily_spend_limit: nil,
@@ -51,6 +55,34 @@ module Lithic
51
55
  monthly_spend_limit: nil,
52
56
  # Account states.
53
57
  state: nil,
58
+ # Account state substatus values:
59
+ #
60
+ # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used
61
+ # with stolen or fabricated identity information, encompassing both true
62
+ # identity theft and synthetic identities.
63
+ # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as
64
+ # unauthorized access or fraudulent transactions, necessitating further
65
+ # investigation.
66
+ # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the
67
+ # legitimate account holder. Examples include disputing valid transactions
68
+ # without cause, falsely claiming non-receipt of goods, or engaging in
69
+ # intentional bust-out schemes to exploit account services.
70
+ # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure
71
+ # of the account for personal reasons. This encompasses situations such as
72
+ # bankruptcy, other financial considerations, or the account holder's death.
73
+ # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to
74
+ # business strategy, risk management, inactivity, product changes, regulatory
75
+ # concerns, or violations of terms and conditions.
76
+ # - `NOT_ACTIVE` - The account has not had any transactions or payment activity
77
+ # within a specified period. This status applies to accounts that are paused or
78
+ # closed due to inactivity.
79
+ # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal
80
+ # review. In future implementations, this status may prevent clients from
81
+ # activating the account via APIs until the review is completed.
82
+ # - `OTHER` - The reason for the account's current status does not fall into any
83
+ # of the above categories. A comment should be provided to specify the
84
+ # particular reason.
85
+ substatus: nil,
54
86
  # Address used during Address Verification Service (AVS) checks during
55
87
  # transactions if enabled via Auth Rules. This field is deprecated as AVS checks
56
88
  # are no longer supported by Auth Rules. The field will be removed from the schema
@@ -27,7 +27,10 @@ module Lithic
27
27
  pin: String,
28
28
  product_id: String,
29
29
  replacement_account_token: String,
30
+ replacement_comment: String,
30
31
  replacement_for: String,
32
+ replacement_substatus:
33
+ Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol,
31
34
  shipping_address: Lithic::ShippingAddress::OrHash,
32
35
  shipping_method: Lithic::CardCreateParams::ShippingMethod::OrSymbol,
33
36
  spend_limit: Integer,
@@ -94,10 +97,41 @@ module Lithic
94
97
  # If `replacement_for` is specified and this field is omitted, the replacement
95
98
  # card's account will be inferred from the card being replaced.
96
99
  replacement_account_token: nil,
100
+ # Additional context or information related to the card that this card will
101
+ # replace.
102
+ replacement_comment: nil,
97
103
  # Globally unique identifier for the card that this card will replace. If the card
98
104
  # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is
99
105
  # `VIRTUAL` it will be replaced by a `VIRTUAL` card.
100
106
  replacement_for: nil,
107
+ # Card state substatus values for the card that this card will replace:
108
+ #
109
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
110
+ # being lost or never received by the cardholder.
111
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
112
+ # unauthorized access. This may involve physical card theft, cloning, or online
113
+ # data breaches.
114
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
115
+ # failures or a demagnetized magnetic stripe.
116
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
117
+ # reasons unrelated to fraud or damage, such as switching to a different product
118
+ # or closing the account.
119
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
120
+ # or damage, such as account inactivity, product or policy changes, or
121
+ # technology upgrades.
122
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
123
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
124
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
125
+ # activities that require review. This can involve prompting the cardholder to
126
+ # confirm legitimate use or report confirmed fraud.
127
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
128
+ # review.
129
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
130
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
131
+ # returned.
132
+ # - `OTHER` - The reason for the status does not fall into any of the above
133
+ # categories. A comment should be provided to specify the reason.
134
+ replacement_substatus: nil,
101
135
  shipping_address: nil,
102
136
  # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
103
137
  # options besides `STANDARD` require additional permissions.
@@ -162,18 +196,23 @@ module Lithic
162
196
  sig do
163
197
  params(
164
198
  card_token: String,
199
+ comment: String,
165
200
  digital_card_art_token: String,
166
201
  memo: String,
202
+ network_program_token: String,
167
203
  pin: String,
168
204
  pin_status: Lithic::CardUpdateParams::PinStatus::OrSymbol,
169
205
  spend_limit: Integer,
170
206
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
171
207
  state: Lithic::CardUpdateParams::State::OrSymbol,
208
+ substatus: Lithic::CardUpdateParams::Substatus::OrSymbol,
172
209
  request_options: Lithic::RequestOptions::OrHash
173
210
  ).returns(Lithic::Card)
174
211
  end
175
212
  def update(
176
213
  card_token,
214
+ # Additional context or information related to the card.
215
+ comment: nil,
177
216
  # Specifies the digital card art to be displayed in the user’s digital wallet
178
217
  # after tokenization. This artwork must be approved by Mastercard and configured
179
218
  # by Lithic to use. See
@@ -181,6 +220,9 @@ module Lithic
181
220
  digital_card_art_token: nil,
182
221
  # Friendly name to identify the card.
183
222
  memo: nil,
223
+ # Globally unique identifier for the card's network program. Currently applicable
224
+ # to Visa cards participating in Account Level Management only.
225
+ network_program_token: nil,
184
226
  # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and
185
227
  # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See
186
228
  # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block).
@@ -216,6 +258,34 @@ module Lithic
216
258
  # - `PAUSED` - Card will decline authorizations, but can be resumed at a later
217
259
  # time.
218
260
  state: nil,
261
+ # Card state substatus values:
262
+ #
263
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
264
+ # being lost or never received by the cardholder.
265
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
266
+ # unauthorized access. This may involve physical card theft, cloning, or online
267
+ # data breaches.
268
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
269
+ # failures or a demagnetized magnetic stripe.
270
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
271
+ # reasons unrelated to fraud or damage, such as switching to a different product
272
+ # or closing the account.
273
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
274
+ # or damage, such as account inactivity, product or policy changes, or
275
+ # technology upgrades.
276
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
277
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
278
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
279
+ # activities that require review. This can involve prompting the cardholder to
280
+ # confirm legitimate use or report confirmed fraud.
281
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
282
+ # review.
283
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
284
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
285
+ # returned.
286
+ # - `OTHER` - The reason for the status does not fall into any of the above
287
+ # categories. A comment should be provided to specify the reason.
288
+ substatus: nil,
219
289
  request_options: {}
220
290
  )
221
291
  end
@@ -16,6 +16,8 @@ module Lithic
16
16
  financial_account_token: String,
17
17
  token: String,
18
18
  memo: String,
19
+ on_closed_account:
20
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol,
19
21
  subtype: String,
20
22
  user_defined_id: String,
21
23
  request_options: Lithic::RequestOptions::OrHash
@@ -30,6 +32,8 @@ module Lithic
30
32
  financial_account_token:,
31
33
  token: nil,
32
34
  memo: nil,
35
+ # What to do if the financial account is closed when posting an operation
36
+ on_closed_account: nil,
33
37
  subtype: nil,
34
38
  user_defined_id: nil,
35
39
  request_options: {}
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class NetworkPrograms
6
+ # Get network program.
7
+ sig do
8
+ params(
9
+ network_program_token: String,
10
+ request_options: Lithic::RequestOptions::OrHash
11
+ ).returns(Lithic::NetworkProgram)
12
+ end
13
+ def retrieve(
14
+ # Globally unique identifier for the network program.
15
+ network_program_token,
16
+ request_options: {}
17
+ )
18
+ end
19
+
20
+ # List network programs.
21
+ sig do
22
+ params(
23
+ begin_: Time,
24
+ end_: Time,
25
+ page_size: Integer,
26
+ request_options: Lithic::RequestOptions::OrHash
27
+ ).returns(Lithic::Internal::SinglePage[Lithic::NetworkProgram])
28
+ end
29
+ def list(
30
+ # Date string in RFC 3339 format. Only entries created after the specified time
31
+ # will be included. UTC time zone.
32
+ begin_: nil,
33
+ # Date string in RFC 3339 format. Only entries created before the specified time
34
+ # will be included. UTC time zone.
35
+ end_: nil,
36
+ # Page size (for pagination).
37
+ page_size: nil,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ # @api private
43
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
44
+ def self.new(client:)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -69,6 +69,8 @@ module Lithic
69
69
 
70
70
  attr_reader fraud: Lithic::Resources::Fraud
71
71
 
72
+ attr_reader network_programs: Lithic::Resources::NetworkPrograms
73
+
72
74
  def api_status: (
73
75
  ?request_options: Lithic::request_opts
74
76
  ) -> Lithic::APIStatus
@@ -9,6 +9,8 @@ module Lithic
9
9
  account_holder: Lithic::Account::AccountHolder,
10
10
  auth_rule_tokens: ::Array[String],
11
11
  cardholder_currency: String,
12
+ comment: String,
13
+ substatus: Lithic::Models::Account::substatus,
12
14
  verification_address: Lithic::Account::VerificationAddress
13
15
  }
14
16
 
@@ -35,6 +37,16 @@ module Lithic
35
37
 
36
38
  def cardholder_currency=: (String) -> String
37
39
 
40
+ attr_reader comment: String?
41
+
42
+ def comment=: (String) -> String
43
+
44
+ attr_reader substatus: Lithic::Models::Account::substatus?
45
+
46
+ def substatus=: (
47
+ Lithic::Models::Account::substatus
48
+ ) -> Lithic::Models::Account::substatus
49
+
38
50
  attr_reader verification_address: Lithic::Account::VerificationAddress?
39
51
 
40
52
  def verification_address=: (
@@ -49,6 +61,8 @@ module Lithic
49
61
  ?account_holder: Lithic::Account::AccountHolder,
50
62
  ?auth_rule_tokens: ::Array[String],
51
63
  ?cardholder_currency: String,
64
+ ?comment: String,
65
+ ?substatus: Lithic::Models::Account::substatus,
52
66
  ?verification_address: Lithic::Account::VerificationAddress
53
67
  ) -> void
54
68
 
@@ -60,6 +74,8 @@ module Lithic
60
74
  account_holder: Lithic::Account::AccountHolder,
61
75
  auth_rule_tokens: ::Array[String],
62
76
  cardholder_currency: String,
77
+ comment: String,
78
+ substatus: Lithic::Models::Account::substatus,
63
79
  verification_address: Lithic::Account::VerificationAddress
64
80
  }
65
81
 
@@ -125,6 +141,31 @@ module Lithic
125
141
  }
126
142
  end
127
143
 
144
+ type substatus =
145
+ :FRAUD_IDENTIFIED
146
+ | :SUSPICIOUS_ACTIVITY
147
+ | :RISK_VIOLATION
148
+ | :END_USER_REQUEST
149
+ | :ISSUER_REQUEST
150
+ | :NOT_ACTIVE
151
+ | :INTERNAL_REVIEW
152
+ | :OTHER
153
+
154
+ module Substatus
155
+ extend Lithic::Internal::Type::Enum
156
+
157
+ FRAUD_IDENTIFIED: :FRAUD_IDENTIFIED
158
+ SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY
159
+ RISK_VIOLATION: :RISK_VIOLATION
160
+ END_USER_REQUEST: :END_USER_REQUEST
161
+ ISSUER_REQUEST: :ISSUER_REQUEST
162
+ NOT_ACTIVE: :NOT_ACTIVE
163
+ INTERNAL_REVIEW: :INTERNAL_REVIEW
164
+ OTHER: :OTHER
165
+
166
+ def self?.values: -> ::Array[Lithic::Models::Account::substatus]
167
+ end
168
+
128
169
  type verification_address =
129
170
  {
130
171
  :address1 => String,