lithic 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/auth_rules/ach_payment_update_action.rb +1 -0
  6. data/lib/lithic/models/auth_rules/card_transaction_update_action.rb +1 -0
  7. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +2 -0
  8. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +24 -1
  9. data/lib/lithic/models/blockchain_recipient.rb +148 -0
  10. data/lib/lithic/models/blockchain_recipient_create_params.rb +74 -0
  11. data/lib/lithic/models/card.rb +2 -2
  12. data/lib/lithic/models/card_provision_params.rb +10 -8
  13. data/lib/lithic/models/card_reassign_account_params.rb +29 -0
  14. data/lib/lithic/models/dispute_v2.rb +178 -130
  15. data/lib/lithic/models/disputes_v2_list_params.rb +10 -1
  16. data/lib/lithic/models/financial_account.rb +14 -1
  17. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +3 -0
  18. data/lib/lithic/models/financial_event.rb +3 -0
  19. data/lib/lithic/models/payment.rb +67 -9
  20. data/lib/lithic/models/tokenization_simulate_params.rb +2 -2
  21. data/lib/lithic/models/transaction_monitoring/case_entity.rb +13 -4
  22. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +4 -2
  23. data/lib/lithic/models.rb +6 -0
  24. data/lib/lithic/resources/blockchain_recipients.rb +57 -0
  25. data/lib/lithic/resources/cards.rb +29 -2
  26. data/lib/lithic/resources/disputes_v2.rb +3 -1
  27. data/lib/lithic/resources/tokenizations.rb +1 -1
  28. data/lib/lithic/resources/transaction_monitoring/cases.rb +1 -1
  29. data/lib/lithic/version.rb +1 -1
  30. data/lib/lithic.rb +4 -0
  31. data/rbi/lithic/client.rbi +3 -0
  32. data/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi +5 -0
  33. data/rbi/lithic/models/auth_rules/card_transaction_update_action.rbi +5 -0
  34. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +10 -0
  35. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +30 -0
  36. data/rbi/lithic/models/blockchain_recipient.rbi +209 -0
  37. data/rbi/lithic/models/blockchain_recipient_create_params.rbi +102 -0
  38. data/rbi/lithic/models/card.rbi +2 -2
  39. data/rbi/lithic/models/card_provision_params.rbi +16 -12
  40. data/rbi/lithic/models/card_reassign_account_params.rbi +49 -0
  41. data/rbi/lithic/models/dispute_v2.rbi +285 -181
  42. data/rbi/lithic/models/disputes_v2_list_params.rbi +13 -0
  43. data/rbi/lithic/models/financial_account.rbi +12 -0
  44. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +15 -0
  45. data/rbi/lithic/models/financial_event.rbi +12 -0
  46. data/rbi/lithic/models/payment.rbi +106 -10
  47. data/rbi/lithic/models/tokenization_simulate_params.rbi +2 -2
  48. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +27 -5
  49. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +6 -2
  50. data/rbi/lithic/models.rbi +7 -0
  51. data/rbi/lithic/resources/blockchain_recipients.rbi +51 -0
  52. data/rbi/lithic/resources/cards.rbi +27 -6
  53. data/rbi/lithic/resources/disputes_v2.rbi +4 -0
  54. data/rbi/lithic/resources/tokenizations.rbi +1 -1
  55. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +3 -1
  56. data/sig/lithic/client.rbs +2 -0
  57. data/sig/lithic/models/auth_rules/ach_payment_update_action.rbs +2 -1
  58. data/sig/lithic/models/auth_rules/card_transaction_update_action.rbs +2 -1
  59. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +4 -2
  60. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +10 -0
  61. data/sig/lithic/models/blockchain_recipient.rbs +106 -0
  62. data/sig/lithic/models/blockchain_recipient_create_params.rbs +60 -0
  63. data/sig/lithic/models/card_reassign_account_params.rbs +28 -0
  64. data/sig/lithic/models/dispute_v2.rbs +145 -101
  65. data/sig/lithic/models/disputes_v2_list_params.rbs +7 -0
  66. data/sig/lithic/models/financial_account.rbs +5 -0
  67. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +6 -0
  68. data/sig/lithic/models/financial_event.rbs +6 -0
  69. data/sig/lithic/models/payment.rbs +31 -1
  70. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +7 -5
  71. data/sig/lithic/models.rbs +6 -0
  72. data/sig/lithic/resources/blockchain_recipients.rbs +18 -0
  73. data/sig/lithic/resources/cards.rbs +6 -0
  74. data/sig/lithic/resources/disputes_v2.rbs +1 -0
  75. metadata +14 -2
@@ -61,7 +61,7 @@ module Lithic
61
61
  # @!attribute method_attributes
62
62
  # Method-specific attributes
63
63
  #
64
- # @return [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes]
64
+ # @return [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes, Lithic::Models::Payment::MethodAttributes::StablecoinMethodAttributes]
65
65
  required :method_attributes, union: -> { Lithic::Payment::MethodAttributes }
66
66
 
67
67
  # @!attribute pending_amount
@@ -106,6 +106,12 @@ module Lithic
106
106
  # @return [Time]
107
107
  required :updated, Time
108
108
 
109
+ # @!attribute blockchain_recipient_token
110
+ # Token of the blockchain recipient the payout is sent to
111
+ #
112
+ # @return [String, nil]
113
+ optional :blockchain_recipient_token, String, nil?: true
114
+
109
115
  # @!attribute currency
110
116
  # Currency of the transaction in ISO 4217 format
111
117
  #
@@ -142,7 +148,7 @@ module Lithic
142
148
  # @return [String, nil]
143
149
  optional :user_defined_id, String, nil?: true
144
150
 
145
- # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, tags: nil, type: nil, user_defined_id: nil, family: :PAYMENT)
151
+ # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, blockchain_recipient_token: nil, currency: nil, expected_release_date: nil, external_bank_account_token: nil, tags: nil, type: nil, user_defined_id: nil, family: :PAYMENT)
146
152
  # Some parameter documentations has been truncated, see {Lithic::Models::Payment}
147
153
  # for more details.
148
154
  #
@@ -164,7 +170,7 @@ module Lithic
164
170
  #
165
171
  # @param method_ [Symbol, Lithic::Models::Payment::Method] Transfer method
166
172
  #
167
- # @param method_attributes [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes] Method-specific attributes
173
+ # @param method_attributes [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes, Lithic::Models::Payment::MethodAttributes::StablecoinMethodAttributes] Method-specific attributes
168
174
  #
169
175
  # @param pending_amount [Integer] Pending amount in cents
170
176
  #
@@ -180,6 +186,8 @@ module Lithic
180
186
  #
181
187
  # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated
182
188
  #
189
+ # @param blockchain_recipient_token [String, nil] Token of the blockchain recipient the payout is sent to
190
+ #
183
191
  # @param currency [String] Currency of the transaction in ISO 4217 format
184
192
  #
185
193
  # @param expected_release_date [Date, nil] Expected release date for the transaction
@@ -327,8 +335,16 @@ module Lithic
327
335
  #
328
336
  # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending
329
337
  # release to available balance.
330
- # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process.
331
- # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance.
338
+ # - `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds
339
+ # placed on hold.
340
+ # - `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the
341
+ # review process.
342
+ # - `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to
343
+ # the destination address, and pending confirmation.
344
+ # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance,
345
+ # or stablecoin withdrawal confirmed on-chain.
346
+ # - `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at
347
+ # initiation has been reversed.
332
348
  #
333
349
  # @return [Symbol, Lithic::Models::Payment::Event::Type]
334
350
  required :type, enum: -> { Lithic::Payment::Event::Type }
@@ -343,7 +359,9 @@ module Lithic
343
359
  # @!attribute external_id
344
360
  # Payment event external ID. For ACH transactions, this is the ACH trace number.
345
361
  # For inbound wire transfers, this is the IMAD (Input Message Accountability
346
- # Data).
362
+ # Data). For stablecoin payments, this is the on-chain transaction hash of the
363
+ # transfer; it is present on events that reflect on-chain activity and null on
364
+ # internal lifecycle events.
347
365
  #
348
366
  # @return [String, nil]
349
367
  optional :external_id, String, nil?: true
@@ -443,8 +461,16 @@ module Lithic
443
461
  #
444
462
  # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending
445
463
  # release to available balance.
446
- # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process.
447
- # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance.
464
+ # - `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds
465
+ # placed on hold.
466
+ # - `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the
467
+ # review process.
468
+ # - `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to
469
+ # the destination address, and pending confirmation.
470
+ # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance,
471
+ # or stablecoin withdrawal confirmed on-chain.
472
+ # - `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at
473
+ # initiation has been reversed.
448
474
  #
449
475
  # @see Lithic::Models::Payment::Event#type
450
476
  module Type
@@ -473,8 +499,11 @@ module Lithic
473
499
  WIRE_RETURN_OUTBOUND_SETTLED = :WIRE_RETURN_OUTBOUND_SETTLED
474
500
  WIRE_RETURN_OUTBOUND_REJECTED = :WIRE_RETURN_OUTBOUND_REJECTED
475
501
  STABLECOIN_RECEIVED = :STABLECOIN_RECEIVED
502
+ STABLECOIN_INITIATED = :STABLECOIN_INITIATED
476
503
  STABLECOIN_REVIEWED = :STABLECOIN_REVIEWED
504
+ STABLECOIN_SENT = :STABLECOIN_SENT
477
505
  STABLECOIN_SETTLED = :STABLECOIN_SETTLED
506
+ STABLECOIN_REJECTED = :STABLECOIN_REJECTED
478
507
 
479
508
  # @!method self.values
480
509
  # @return [Array<Symbol>]
@@ -505,6 +534,7 @@ module Lithic
505
534
  ACH_NEXT_DAY = :ACH_NEXT_DAY
506
535
  ACH_SAME_DAY = :ACH_SAME_DAY
507
536
  WIRE = :WIRE
537
+ STABLECOIN = :STABLECOIN
508
538
 
509
539
  # @!method self.values
510
540
  # @return [Array<Symbol>]
@@ -520,6 +550,8 @@ module Lithic
520
550
 
521
551
  variant -> { Lithic::Payment::MethodAttributes::WireMethodAttributes }
522
552
 
553
+ variant -> { Lithic::Payment::MethodAttributes::StablecoinMethodAttributes }
554
+
523
555
  class ACHMethodAttributes < Lithic::Internal::Type::BaseModel
524
556
  # @!attribute sec_code
525
557
  # SEC code for ACH transaction
@@ -692,8 +724,32 @@ module Lithic
692
724
  end
693
725
  end
694
726
 
727
+ class StablecoinMethodAttributes < Lithic::Internal::Type::BaseModel
728
+ # @!attribute chain
729
+ # Blockchain the stablecoin transfer settled on
730
+ #
731
+ # @return [String]
732
+ required :chain, String
733
+
734
+ # @!attribute transaction_hash
735
+ # On-chain transaction hash of the transfer. Null until the transfer has settled
736
+ # on chain
737
+ #
738
+ # @return [String, nil]
739
+ optional :transaction_hash, String, nil?: true
740
+
741
+ # @!method initialize(chain:, transaction_hash: nil)
742
+ # Some parameter documentations has been truncated, see
743
+ # {Lithic::Models::Payment::MethodAttributes::StablecoinMethodAttributes} for more
744
+ # details.
745
+ #
746
+ # @param chain [String] Blockchain the stablecoin transfer settled on
747
+ #
748
+ # @param transaction_hash [String, nil] On-chain transaction hash of the transfer. Null until the transfer has settled o
749
+ end
750
+
695
751
  # @!method self.variants
696
- # @return [Array(Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes)]
752
+ # @return [Array(Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes, Lithic::Models::Payment::MethodAttributes::StablecoinMethodAttributes)]
697
753
  end
698
754
 
699
755
  # @see Lithic::Models::Payment#related_account_tokens
@@ -775,6 +831,8 @@ module Lithic
775
831
  WIRE_OUTBOUND_PAYMENT = :WIRE_OUTBOUND_PAYMENT
776
832
  WIRE_OUTBOUND_ADMIN = :WIRE_OUTBOUND_ADMIN
777
833
  WIRE_INBOUND_DRAWDOWN_REQUEST = :WIRE_INBOUND_DRAWDOWN_REQUEST
834
+ STABLECOIN_INBOUND = :STABLECOIN_INBOUND
835
+ STABLECOIN_OUTBOUND = :STABLECOIN_OUTBOUND
778
836
 
779
837
  # @!method self.values
780
838
  # @return [Array<Symbol>]
@@ -8,7 +8,7 @@ module Lithic
8
8
  include Lithic::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute cvv
11
- # The three digit cvv for the card.
11
+ # The three or four digit CVV for the card. AMEX cards use four digit CVVs.
12
12
  #
13
13
  # @return [String]
14
14
  required :cvv, String
@@ -63,7 +63,7 @@ module Lithic
63
63
  # Some parameter documentations has been truncated, see
64
64
  # {Lithic::Models::TokenizationSimulateParams} for more details.
65
65
  #
66
- # @param cvv [String] The three digit cvv for the card.
66
+ # @param cvv [String] The three or four digit CVV for the card. AMEX cards use four digit CVVs.
67
67
  #
68
68
  # @param expiration_date [String] The expiration date of the card in 'MM/YY' format.
69
69
  #
@@ -5,16 +5,21 @@ module Lithic
5
5
  module TransactionMonitoring
6
6
  class CaseEntity < Lithic::Internal::Type::BaseModel
7
7
  # @!attribute entity_token
8
- # Globally unique identifier for the associated entity
8
+ # Globally unique identifier for the associated entity: the card token for `CARD`,
9
+ # the account token for `ACCOUNT`, and the financial account token for
10
+ # `FINANCIAL_ACCOUNT`. Null for `PROGRAM`, which is not scoped to an individual
11
+ # entity
9
12
  #
10
- # @return [String]
11
- required :entity_token, String
13
+ # @return [String, nil]
14
+ required :entity_token, String, nil?: true
12
15
 
13
16
  # @!attribute entity_type
14
17
  # The type of entity a case is associated with:
15
18
  #
16
19
  # - `CARD` - The case is associated with a card
17
20
  # - `ACCOUNT` - The case is associated with an account
21
+ # - `FINANCIAL_ACCOUNT` - The case is associated with a financial account
22
+ # - `PROGRAM` - The case is associated with the whole program
18
23
  #
19
24
  # @return [Symbol, Lithic::Models::TransactionMonitoring::CaseEntity::EntityType]
20
25
  required :entity_type, enum: -> { Lithic::TransactionMonitoring::CaseEntity::EntityType }
@@ -25,7 +30,7 @@ module Lithic
25
30
  #
26
31
  # The entity a case is associated with
27
32
  #
28
- # @param entity_token [String] Globally unique identifier for the associated entity
33
+ # @param entity_token [String, nil] Globally unique identifier for the associated entity: the card token for `CARD`,
29
34
  #
30
35
  # @param entity_type [Symbol, Lithic::Models::TransactionMonitoring::CaseEntity::EntityType] The type of entity a case is associated with:
31
36
 
@@ -33,6 +38,8 @@ module Lithic
33
38
  #
34
39
  # - `CARD` - The case is associated with a card
35
40
  # - `ACCOUNT` - The case is associated with an account
41
+ # - `FINANCIAL_ACCOUNT` - The case is associated with a financial account
42
+ # - `PROGRAM` - The case is associated with the whole program
36
43
  #
37
44
  # @see Lithic::Models::TransactionMonitoring::CaseEntity#entity_type
38
45
  module EntityType
@@ -40,6 +47,8 @@ module Lithic
40
47
 
41
48
  CARD = :CARD
42
49
  ACCOUNT = :ACCOUNT
50
+ FINANCIAL_ACCOUNT = :FINANCIAL_ACCOUNT
51
+ PROGRAM = :PROGRAM
43
52
 
44
53
  # @!method self.values
45
54
  # @return [Array<Symbol>]
@@ -49,7 +49,9 @@ module Lithic
49
49
  optional :ending_before, String
50
50
 
51
51
  # @!attribute entity_token
52
- # Only return cases associated with the provided entity.
52
+ # Only return cases associated with the provided entity. Accepts a card, account,
53
+ # or financial account token. Cases with a `PROGRAM` entity have no entity token
54
+ # and are never returned by this filter.
53
55
  #
54
56
  # @return [String, nil]
55
57
  optional :entity_token, String
@@ -113,7 +115,7 @@ module Lithic
113
115
  #
114
116
  # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
115
117
  #
116
- # @param entity_token [String] Only return cases associated with the provided entity.
118
+ # @param entity_token [String] Only return cases associated with the provided entity. Accepts a card, account,
117
119
  #
118
120
  # @param page_size [Integer] Page size (for pagination).
119
121
  #
data/lib/lithic/models.rb CHANGED
@@ -112,6 +112,10 @@ module Lithic
112
112
 
113
113
  BalanceUpdatedWebhookEvent = Lithic::Models::BalanceUpdatedWebhookEvent
114
114
 
115
+ BlockchainRecipient = Lithic::Models::BlockchainRecipient
116
+
117
+ BlockchainRecipientCreateParams = Lithic::Models::BlockchainRecipientCreateParams
118
+
115
119
  BookTransferCreateParams = Lithic::Models::BookTransferCreateParams
116
120
 
117
121
  BookTransferListParams = Lithic::Models::BookTransferListParams
@@ -174,6 +178,8 @@ module Lithic
174
178
 
175
179
  CardProvisionParams = Lithic::Models::CardProvisionParams
176
180
 
181
+ CardReassignAccountParams = Lithic::Models::CardReassignAccountParams
182
+
177
183
  CardReissuedWebhookEvent = Lithic::Models::CardReissuedWebhookEvent
178
184
 
179
185
  CardReissueParams = Lithic::Models::CardReissueParams
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class BlockchainRecipients
6
+ # Some parameter documentations has been truncated, see
7
+ # {Lithic::Models::BlockchainRecipientCreateParams} for more details.
8
+ #
9
+ # Register a blockchain address as a withdrawal destination for a financial
10
+ # account
11
+ #
12
+ # The recipient is created with a `PENDING` verification state and cannot receive
13
+ # a payout until screening of the address completes. Registering an address that
14
+ # is already registered to the same financial account returns the existing
15
+ # recipient and its current verification state, rather than creating a second one
16
+ #
17
+ # @overload create(account_token:, address:, chain:, owner:, owner_type:, address_tag: nil, name: nil, request_options: {})
18
+ #
19
+ # @param account_token [String] The financial account the blockchain recipient belongs to
20
+ #
21
+ # @param address [String] The blockchain address funds will be withdrawn to
22
+ #
23
+ # @param chain [String] The blockchain network that the address belongs to
24
+ #
25
+ # @param owner [String] Legal name of the business or individual who owns the blockchain address
26
+ #
27
+ # @param owner_type [Symbol, Lithic::Models::OwnerType] Owner Type
28
+ #
29
+ # @param address_tag [String] An optional tag or memo used by some chains to identify the destination of a tra
30
+ #
31
+ # @param name [String] The nickname for this blockchain recipient
32
+ #
33
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
34
+ #
35
+ # @return [Lithic::Models::BlockchainRecipient]
36
+ #
37
+ # @see Lithic::Models::BlockchainRecipientCreateParams
38
+ def create(params)
39
+ parsed, options = Lithic::BlockchainRecipientCreateParams.dump_request(params)
40
+ @client.request(
41
+ method: :post,
42
+ path: "v1/blockchain_recipients",
43
+ body: parsed,
44
+ model: Lithic::BlockchainRecipient,
45
+ options: options
46
+ )
47
+ end
48
+
49
+ # @api private
50
+ #
51
+ # @param client [Lithic::Client]
52
+ def initialize(client:)
53
+ @client = client
54
+ end
55
+ end
56
+ end
57
+ end
@@ -301,9 +301,9 @@ module Lithic
301
301
  #
302
302
  # @param certificate [String] Only applicable if `digital_wallet` is `APPLE_PAY`. Omit to receive only `activa
303
303
  #
304
- # @param client_device_id [String] Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the car
304
+ # @param client_device_id [String] Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY`. Stable dev
305
305
  #
306
- # @param client_wallet_account_id [String] Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the car
306
+ # @param client_wallet_account_id [String] Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY`. Consumer I
307
307
  #
308
308
  # @param digital_wallet [Symbol, Lithic::Models::CardProvisionParams::DigitalWallet] Name of digital wallet provider.
309
309
  #
@@ -327,6 +327,33 @@ module Lithic
327
327
  )
328
328
  end
329
329
 
330
+ # Reassigns a card to another account. The card must be in an `OPEN` or `PAUSED`
331
+ # state, and the destination account must be in an `ACTIVE` state.
332
+ #
333
+ # Clients must contact their Lithic account manager for access to this endpoint.
334
+ #
335
+ # @overload reassign_account(card_token, new_account_token:, request_options: {})
336
+ #
337
+ # @param card_token [String]
338
+ #
339
+ # @param new_account_token [String] Globally unique identifier for the account to associate with the card
340
+ #
341
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
342
+ #
343
+ # @return [Lithic::Models::Card]
344
+ #
345
+ # @see Lithic::Models::CardReassignAccountParams
346
+ def reassign_account(card_token, params)
347
+ parsed, options = Lithic::CardReassignAccountParams.dump_request(params)
348
+ @client.request(
349
+ method: :post,
350
+ path: ["v1/cards/%1$s/reassign_account", card_token],
351
+ body: parsed,
352
+ model: Lithic::Card,
353
+ options: options
354
+ )
355
+ end
356
+
330
357
  # Some parameter documentations has been truncated, see
331
358
  # {Lithic::Models::CardReissueParams} for more details.
332
359
  #
@@ -28,7 +28,7 @@ module Lithic
28
28
  #
29
29
  # Returns a paginated list of disputes.
30
30
  #
31
- # @overload list(account_token: nil, begin_: nil, card_token: nil, disputed_transaction_token: nil, end_: nil, ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
31
+ # @overload list(account_token: nil, begin_: nil, card_token: nil, claim_token: nil, disputed_transaction_token: nil, end_: nil, ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
32
32
  #
33
33
  # @param account_token [String] Filter by account token.
34
34
  #
@@ -36,6 +36,8 @@ module Lithic
36
36
  #
37
37
  # @param card_token [String] Filter by card token.
38
38
  #
39
+ # @param claim_token [String] Filter by the token of the claim the dispute was filed under. Returns the disput
40
+ #
39
41
  # @param disputed_transaction_token [String] Filter by the token of the transaction being disputed. Corresponds with transact
40
42
  #
41
43
  # @param end_ [Time] RFC 3339 timestamp for filtering by created date, inclusive.
@@ -190,7 +190,7 @@ module Lithic
190
190
  #
191
191
  # @overload simulate(cvv:, expiration_date:, pan:, tokenization_source:, account_score: nil, device_score: nil, entity: nil, wallet_recommended_decision: nil, request_options: {})
192
192
  #
193
- # @param cvv [String] The three digit cvv for the card.
193
+ # @param cvv [String] The three or four digit CVV for the card. AMEX cards use four digit CVVs.
194
194
  #
195
195
  # @param expiration_date [String] The expiration date of the card in 'MM/YY' format.
196
196
  #
@@ -92,7 +92,7 @@ module Lithic
92
92
  #
93
93
  # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
94
94
  #
95
- # @param entity_token [String] Only return cases associated with the provided entity.
95
+ # @param entity_token [String] Only return cases associated with the provided entity. Accepts a card, account,
96
96
  #
97
97
  # @param page_size [Integer] Page size (for pagination).
98
98
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.19.0"
4
+ VERSION = "0.20.0"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -167,6 +167,8 @@ require_relative "lithic/models/auth_stream_secret"
167
167
  require_relative "lithic/models/balance"
168
168
  require_relative "lithic/models/balance_list_params"
169
169
  require_relative "lithic/models/balance_updated_webhook_event"
170
+ require_relative "lithic/models/blockchain_recipient"
171
+ require_relative "lithic/models/blockchain_recipient_create_params"
170
172
  require_relative "lithic/models/book_transfer_create_params"
171
173
  require_relative "lithic/models/book_transfer_list_params"
172
174
  require_relative "lithic/models/book_transfer_retrieve_params"
@@ -197,6 +199,7 @@ require_relative "lithic/models/card_program_list_params"
197
199
  require_relative "lithic/models/card_program_retrieve_params"
198
200
  require_relative "lithic/models/card_provision_params"
199
201
  require_relative "lithic/models/card_provision_response"
202
+ require_relative "lithic/models/card_reassign_account_params"
200
203
  require_relative "lithic/models/card_reissued_webhook_event"
201
204
  require_relative "lithic/models/card_reissue_params"
202
205
  require_relative "lithic/models/card_renewed_webhook_event"
@@ -523,6 +526,7 @@ require_relative "lithic/resources/auth_rules/v2"
523
526
  require_relative "lithic/resources/auth_rules/v2/backtests"
524
527
  require_relative "lithic/resources/auth_stream_enrollment"
525
528
  require_relative "lithic/resources/balances"
529
+ require_relative "lithic/resources/blockchain_recipients"
526
530
  require_relative "lithic/resources/book_transfers"
527
531
  require_relative "lithic/resources/card_authorizations"
528
532
  require_relative "lithic/resources/card_bulk_orders"
@@ -82,6 +82,9 @@ module Lithic
82
82
  sig { returns(Lithic::Resources::ExternalBankAccounts) }
83
83
  attr_reader :external_bank_accounts
84
84
 
85
+ sig { returns(Lithic::Resources::BlockchainRecipients) }
86
+ attr_reader :blockchain_recipients
87
+
85
88
  sig { returns(Lithic::Resources::Payments) }
86
89
  attr_reader :payments
87
90
 
@@ -181,6 +181,11 @@ module Lithic
181
181
  :FINANCIAL_ACCOUNT,
182
182
  Lithic::AuthRules::ACHPaymentUpdateAction::CreateCaseAction::Scope::TaggedSymbol
183
183
  )
184
+ PROGRAM =
185
+ T.let(
186
+ :PROGRAM,
187
+ Lithic::AuthRules::ACHPaymentUpdateAction::CreateCaseAction::Scope::TaggedSymbol
188
+ )
184
189
 
185
190
  sig do
186
191
  override.returns(
@@ -186,6 +186,11 @@ module Lithic
186
186
  :ACCOUNT,
187
187
  Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::TaggedSymbol
188
188
  )
189
+ PROGRAM =
190
+ T.let(
191
+ :PROGRAM,
192
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::TaggedSymbol
193
+ )
189
194
 
190
195
  sig do
191
196
  override.returns(
@@ -2594,6 +2594,11 @@ module Lithic
2594
2594
  :ACCOUNT,
2595
2595
  Lithic::Models::AuthRules::V2ListResultsResponse::CardTransactionUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol
2596
2596
  )
2597
+ PROGRAM =
2598
+ T.let(
2599
+ :PROGRAM,
2600
+ Lithic::Models::AuthRules::V2ListResultsResponse::CardTransactionUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol
2601
+ )
2597
2602
 
2598
2603
  sig do
2599
2604
  override.returns(
@@ -3003,6 +3008,11 @@ module Lithic
3003
3008
  :FINANCIAL_ACCOUNT,
3004
3009
  Lithic::Models::AuthRules::V2ListResultsResponse::ACHPaymentUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol
3005
3010
  )
3011
+ PROGRAM =
3012
+ T.let(
3013
+ :PROGRAM,
3014
+ Lithic::Models::AuthRules::V2ListResultsResponse::ACHPaymentUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol
3015
+ )
3006
3016
 
3007
3017
  sig do
3008
3018
  override.returns(
@@ -44,6 +44,21 @@ module Lithic
44
44
  sig { returns(T.nilable(Integer)) }
45
45
  attr_accessor :limit_amount
46
46
 
47
+ # The maximum amount of cash spend velocity allowed in the period in minor units
48
+ # (the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM
49
+ # withdrawals, cash disbursements, and purchases with cashback. Transactions
50
+ # exceeding this limit will be declined.
51
+ sig { returns(T.nilable(Integer)) }
52
+ attr_accessor :limit_cash_amount
53
+
54
+ # The number of cash spend velocity impacting transactions may not exceed this
55
+ # limit in the period. Transactions exceeding this limit will be declined. A cash
56
+ # velocity impacting transaction is an ATM withdrawal, cash disbursement, or
57
+ # purchase with cashback that has been authorized, and optionally settled, or a
58
+ # force post (a transaction that settled without prior authorization).
59
+ sig { returns(T.nilable(Integer)) }
60
+ attr_accessor :limit_cash_count
61
+
47
62
  # The number of spend velocity impacting transactions may not exceed this limit in
48
63
  # the period. Transactions exceeding this limit will be declined. A spend velocity
49
64
  # impacting transaction is a transaction that has been authorized, and optionally
@@ -65,6 +80,8 @@ module Lithic
65
80
  scope: Lithic::AuthRules::VelocityLimitParams::Scope::OrSymbol,
66
81
  filters: Lithic::AuthRules::VelocityLimitFilters::OrHash,
67
82
  limit_amount: T.nilable(Integer),
83
+ limit_cash_amount: T.nilable(Integer),
84
+ limit_cash_count: T.nilable(Integer),
68
85
  limit_count: T.nilable(Integer)
69
86
  ).returns(T.attached_class)
70
87
  end
@@ -78,6 +95,17 @@ module Lithic
78
95
  # smallest unit of a currency, e.g. cents for USD). Transactions exceeding this
79
96
  # limit will be declined.
80
97
  limit_amount: nil,
98
+ # The maximum amount of cash spend velocity allowed in the period in minor units
99
+ # (the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM
100
+ # withdrawals, cash disbursements, and purchases with cashback. Transactions
101
+ # exceeding this limit will be declined.
102
+ limit_cash_amount: nil,
103
+ # The number of cash spend velocity impacting transactions may not exceed this
104
+ # limit in the period. Transactions exceeding this limit will be declined. A cash
105
+ # velocity impacting transaction is an ATM withdrawal, cash disbursement, or
106
+ # purchase with cashback that has been authorized, and optionally settled, or a
107
+ # force post (a transaction that settled without prior authorization).
108
+ limit_cash_count: nil,
81
109
  # The number of spend velocity impacting transactions may not exceed this limit in
82
110
  # the period. Transactions exceeding this limit will be declined. A spend velocity
83
111
  # impacting transaction is a transaction that has been authorized, and optionally
@@ -101,6 +129,8 @@ module Lithic
101
129
  scope: Lithic::AuthRules::VelocityLimitParams::Scope::OrSymbol,
102
130
  filters: Lithic::AuthRules::VelocityLimitFilters,
103
131
  limit_amount: T.nilable(Integer),
132
+ limit_cash_amount: T.nilable(Integer),
133
+ limit_cash_count: T.nilable(Integer),
104
134
  limit_count: T.nilable(Integer)
105
135
  }
106
136
  )