lithic 0.3.0 → 0.4.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +21 -21
  5. data/lib/lithic/models/card_create_params.rb +12 -5
  6. data/lib/lithic/models/card_updated_webhook_event.rb +40 -0
  7. data/lib/lithic/models/card_web_provision_response.rb +5 -5
  8. data/lib/lithic/models/event.rb +3 -0
  9. data/lib/lithic/models/event_list_params.rb +2 -0
  10. data/lib/lithic/models/event_subscription.rb +2 -0
  11. data/lib/lithic/models/events/subscription_create_params.rb +2 -0
  12. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  13. data/lib/lithic/models/events/subscription_update_params.rb +2 -0
  14. data/lib/lithic/models/financial_transaction.rb +4 -2
  15. data/lib/lithic/models/non_pci_card.rb +8 -10
  16. data/lib/lithic/models/parsed_webhook_event.rb +3 -1
  17. data/lib/lithic/models/payment.rb +1 -1
  18. data/lib/lithic/models/payment_create_params.rb +1 -1
  19. data/lib/lithic/models/transaction.rb +10 -1
  20. data/lib/lithic/models/transaction_simulate_authorization_params.rb +25 -1
  21. data/lib/lithic/models/transaction_simulate_credit_authorization_advice_params.rb +25 -1
  22. data/lib/lithic/models.rb +2 -0
  23. data/lib/lithic/resources/cards.rb +32 -22
  24. data/lib/lithic/resources/financial_accounts.rb +5 -5
  25. data/lib/lithic/resources/transactions.rb +14 -2
  26. data/lib/lithic/resources/webhooks.rb +1 -1
  27. data/lib/lithic/version.rb +1 -1
  28. data/lib/lithic.rb +1 -0
  29. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +47 -45
  30. data/rbi/lithic/models/card_create_params.rbi +15 -6
  31. data/rbi/lithic/models/card_updated_webhook_event.rbi +61 -0
  32. data/rbi/lithic/models/card_web_provision_response.rbi +5 -10
  33. data/rbi/lithic/models/event.rbi +5 -0
  34. data/rbi/lithic/models/event_list_params.rbi +6 -0
  35. data/rbi/lithic/models/event_subscription.rbi +6 -0
  36. data/rbi/lithic/models/events/subscription_create_params.rbi +6 -0
  37. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  38. data/rbi/lithic/models/events/subscription_update_params.rbi +6 -0
  39. data/rbi/lithic/models/financial_transaction.rbi +8 -4
  40. data/rbi/lithic/models/non_pci_card.rbi +12 -15
  41. data/rbi/lithic/models/parsed_webhook_event.rbi +1 -0
  42. data/rbi/lithic/models/payment.rbi +5 -2
  43. data/rbi/lithic/models/transaction.rbi +10 -0
  44. data/rbi/lithic/models/transaction_simulate_authorization_params.rbi +33 -0
  45. data/rbi/lithic/models/transaction_simulate_credit_authorization_advice_params.rbi +33 -0
  46. data/rbi/lithic/models.rbi +2 -0
  47. data/rbi/lithic/resources/cards.rbi +51 -45
  48. data/rbi/lithic/resources/financial_accounts.rbi +5 -5
  49. data/rbi/lithic/resources/transactions.rbi +18 -0
  50. data/rbi/lithic/resources/webhooks.rbi +62 -1
  51. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +20 -16
  52. data/sig/lithic/models/card_create_params.rbs +8 -1
  53. data/sig/lithic/models/card_updated_webhook_event.rbs +35 -0
  54. data/sig/lithic/models/card_web_provision_response.rbs +4 -10
  55. data/sig/lithic/models/event.rbs +2 -0
  56. data/sig/lithic/models/event_list_params.rbs +2 -0
  57. data/sig/lithic/models/event_subscription.rbs +2 -0
  58. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  59. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  60. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  61. data/sig/lithic/models/parsed_webhook_event.rbs +1 -0
  62. data/sig/lithic/models/payment.rbs +2 -2
  63. data/sig/lithic/models/transaction.rbs +5 -0
  64. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +21 -0
  65. data/sig/lithic/models/transaction_simulate_credit_authorization_advice_params.rbs +22 -1
  66. data/sig/lithic/models.rbs +2 -0
  67. data/sig/lithic/resources/cards.rbs +1 -0
  68. data/sig/lithic/resources/transactions.rbs +6 -0
  69. data/sig/lithic/resources/webhooks.rbs +58 -1
  70. metadata +19 -2
@@ -41,8 +41,10 @@ module Lithic
41
41
  attr_accessor :events
42
42
 
43
43
  # Pending amount of the transaction in the currency's smallest unit (e.g., cents),
44
- # including any acquirer fees. The value of this field will go to zero over time
45
- # once the financial transaction is settled.
44
+ # including any acquirer fees.
45
+ #
46
+ # The value of this field will go to zero over time once the financial transaction
47
+ # is settled.
46
48
  sig { returns(Integer) }
47
49
  attr_accessor :pending_amount
48
50
 
@@ -109,8 +111,10 @@ module Lithic
109
111
  # A list of all financial events that have modified this financial transaction.
110
112
  events:,
111
113
  # Pending amount of the transaction in the currency's smallest unit (e.g., cents),
112
- # including any acquirer fees. The value of this field will go to zero over time
113
- # once the financial transaction is settled.
114
+ # including any acquirer fees.
115
+ #
116
+ # The value of this field will go to zero over time once the financial transaction
117
+ # is settled.
114
118
  pending_amount:,
115
119
  # APPROVED transactions were successful while DECLINED transactions were declined
116
120
  # by user, Lithic, or the network.
@@ -81,11 +81,10 @@ module Lithic
81
81
  # wallet-enabled). _ `PHYSICAL` - Manufactured and sent to the cardholder. We
82
82
  # offer white label branding, credit, ATM, PIN debit, chip/EMV, NFC and magstripe
83
83
  # functionality. _ `SINGLE_USE` - Card is closed upon first successful
84
- # authorization. _ `MERCHANT_LOCKED` - _[Deprecated]_ Card is locked to the first
85
- # merchant that successfully authorizes the card. _ `UNLOCKED` - _[Deprecated]_
86
- # Similar behavior to VIRTUAL cards, please use VIRTUAL instead. _
87
- # `DIGITAL_WALLET` - _[Deprecated]_ Similar behavior to VIRTUAL cards, please use
88
- # VIRTUAL instead.
84
+ # authorization. _ `MERCHANT_LOCKED` - Card is locked to the first merchant that
85
+ # successfully authorizes the card. _ `UNLOCKED` - _[Deprecated]_ Similar behavior
86
+ # to VIRTUAL cards, please use VIRTUAL instead. _ `DIGITAL_WALLET` -
87
+ # _[Deprecated]_ Similar behavior to VIRTUAL cards, please use VIRTUAL instead.
89
88
  sig { returns(Lithic::NonPCICard::Type::TaggedSymbol) }
90
89
  attr_accessor :type
91
90
 
@@ -293,11 +292,10 @@ module Lithic
293
292
  # wallet-enabled). _ `PHYSICAL` - Manufactured and sent to the cardholder. We
294
293
  # offer white label branding, credit, ATM, PIN debit, chip/EMV, NFC and magstripe
295
294
  # functionality. _ `SINGLE_USE` - Card is closed upon first successful
296
- # authorization. _ `MERCHANT_LOCKED` - _[Deprecated]_ Card is locked to the first
297
- # merchant that successfully authorizes the card. _ `UNLOCKED` - _[Deprecated]_
298
- # Similar behavior to VIRTUAL cards, please use VIRTUAL instead. _
299
- # `DIGITAL_WALLET` - _[Deprecated]_ Similar behavior to VIRTUAL cards, please use
300
- # VIRTUAL instead.
295
+ # authorization. _ `MERCHANT_LOCKED` - Card is locked to the first merchant that
296
+ # successfully authorizes the card. _ `UNLOCKED` - _[Deprecated]_ Similar behavior
297
+ # to VIRTUAL cards, please use VIRTUAL instead. _ `DIGITAL_WALLET` -
298
+ # _[Deprecated]_ Similar behavior to VIRTUAL cards, please use VIRTUAL instead.
301
299
  type:,
302
300
  # List of identifiers for the Auth Rule(s) that are applied on the card. This
303
301
  # field is deprecated and will no longer be populated in the `Card` object. The
@@ -614,11 +612,10 @@ module Lithic
614
612
  # wallet-enabled). _ `PHYSICAL` - Manufactured and sent to the cardholder. We
615
613
  # offer white label branding, credit, ATM, PIN debit, chip/EMV, NFC and magstripe
616
614
  # functionality. _ `SINGLE_USE` - Card is closed upon first successful
617
- # authorization. _ `MERCHANT_LOCKED` - _[Deprecated]_ Card is locked to the first
618
- # merchant that successfully authorizes the card. _ `UNLOCKED` - _[Deprecated]_
619
- # Similar behavior to VIRTUAL cards, please use VIRTUAL instead. _
620
- # `DIGITAL_WALLET` - _[Deprecated]_ Similar behavior to VIRTUAL cards, please use
621
- # VIRTUAL instead.
615
+ # authorization. _ `MERCHANT_LOCKED` - Card is locked to the first merchant that
616
+ # successfully authorizes the card. _ `UNLOCKED` - _[Deprecated]_ Similar behavior
617
+ # to VIRTUAL cards, please use VIRTUAL instead. _ `DIGITAL_WALLET` -
618
+ # _[Deprecated]_ Similar behavior to VIRTUAL cards, please use VIRTUAL instead.
622
619
  module Type
623
620
  extend Lithic::Internal::Type::Enum
624
621
 
@@ -26,6 +26,7 @@ module Lithic
26
26
  Lithic::CardRenewedWebhookEvent,
27
27
  Lithic::CardReissuedWebhookEvent,
28
28
  Lithic::CardShippedWebhookEvent,
29
+ Lithic::CardUpdatedWebhookEvent,
29
30
  Lithic::CardTransactionUpdatedWebhookEvent,
30
31
  Lithic::CardTransactionEnhancedDataCreatedWebhookEvent,
31
32
  Lithic::CardTransactionEnhancedDataUpdatedWebhookEvent,
@@ -1061,8 +1061,11 @@ module Lithic
1061
1061
  T.let(:WIRE_OUTBOUND_PAYMENT, Lithic::Payment::Type::TaggedSymbol)
1062
1062
  WIRE_OUTBOUND_ADMIN =
1063
1063
  T.let(:WIRE_OUTBOUND_ADMIN, Lithic::Payment::Type::TaggedSymbol)
1064
- WIRE_DRAWDOWN_REQUEST =
1065
- T.let(:WIRE_DRAWDOWN_REQUEST, Lithic::Payment::Type::TaggedSymbol)
1064
+ WIRE_INBOUND_DRAWDOWN_REQUEST =
1065
+ T.let(
1066
+ :WIRE_INBOUND_DRAWDOWN_REQUEST,
1067
+ Lithic::Payment::Type::TaggedSymbol
1068
+ )
1066
1069
 
1067
1070
  sig { override.returns(T::Array[Lithic::Payment::Type::TaggedSymbol]) }
1068
1071
  def self.values
@@ -124,6 +124,11 @@ module Lithic
124
124
  sig { returns(Lithic::Transaction::Status::TaggedSymbol) }
125
125
  attr_accessor :status
126
126
 
127
+ # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
128
+ # metadata with a resource for your own purposes.
129
+ sig { returns(T::Hash[Symbol, String]) }
130
+ attr_accessor :tags
131
+
127
132
  sig { returns(T.nilable(Lithic::TokenInfo)) }
128
133
  attr_reader :token_info
129
134
 
@@ -166,6 +171,7 @@ module Lithic
166
171
  result: Lithic::Transaction::Result::OrSymbol,
167
172
  settled_amount: Integer,
168
173
  status: Lithic::Transaction::Status::OrSymbol,
174
+ tags: T::Hash[Symbol, String],
169
175
  token_info: T.nilable(Lithic::TokenInfo::OrHash),
170
176
  updated: Time,
171
177
  events: T::Array[Lithic::Transaction::Event::OrHash]
@@ -224,6 +230,9 @@ module Lithic
224
230
  settled_amount:,
225
231
  # Status of the transaction.
226
232
  status:,
233
+ # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
234
+ # metadata with a resource for your own purposes.
235
+ tags:,
227
236
  token_info:,
228
237
  # Date and time when the transaction last updated. UTC time zone.
229
238
  updated:,
@@ -258,6 +267,7 @@ module Lithic
258
267
  result: Lithic::Transaction::Result::TaggedSymbol,
259
268
  settled_amount: Integer,
260
269
  status: Lithic::Transaction::Status::TaggedSymbol,
270
+ tags: T::Hash[Symbol, String],
261
271
  token_info: T.nilable(Lithic::TokenInfo),
262
272
  updated: Time,
263
273
  events: T::Array[Lithic::Transaction::Event]
@@ -39,6 +39,20 @@ module Lithic
39
39
  sig { params(mcc: String).void }
40
40
  attr_writer :mcc
41
41
 
42
+ # Merchant acceptor city
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :merchant_acceptor_city
45
+
46
+ sig { params(merchant_acceptor_city: String).void }
47
+ attr_writer :merchant_acceptor_city
48
+
49
+ # Merchant acceptor country code (ISO 3166-1 alpha-3)
50
+ sig { returns(T.nilable(String)) }
51
+ attr_reader :merchant_acceptor_country
52
+
53
+ sig { params(merchant_acceptor_country: String).void }
54
+ attr_writer :merchant_acceptor_country
55
+
42
56
  # Unique identifier to identify the payment card acceptor.
43
57
  sig { returns(T.nilable(String)) }
44
58
  attr_reader :merchant_acceptor_id
@@ -46,6 +60,13 @@ module Lithic
46
60
  sig { params(merchant_acceptor_id: String).void }
47
61
  attr_writer :merchant_acceptor_id
48
62
 
63
+ # Merchant acceptor state/province (ISO 3166-2 subdivision code)
64
+ sig { returns(T.nilable(String)) }
65
+ attr_reader :merchant_acceptor_state
66
+
67
+ sig { params(merchant_acceptor_state: String).void }
68
+ attr_writer :merchant_acceptor_state
69
+
49
70
  # Amount of the transaction to be simulated in currency specified in
50
71
  # merchant_currency, including any acquirer fees.
51
72
  sig { returns(T.nilable(Integer)) }
@@ -117,7 +138,10 @@ module Lithic
117
138
  descriptor: String,
118
139
  pan: String,
119
140
  mcc: String,
141
+ merchant_acceptor_city: String,
142
+ merchant_acceptor_country: String,
120
143
  merchant_acceptor_id: String,
144
+ merchant_acceptor_state: String,
121
145
  merchant_amount: Integer,
122
146
  merchant_currency: String,
123
147
  partial_approval_capable: T::Boolean,
@@ -142,8 +166,14 @@ module Lithic
142
166
  # listed in ISO 18245. Supported merchant category codes can be found
143
167
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
144
168
  mcc: nil,
169
+ # Merchant acceptor city
170
+ merchant_acceptor_city: nil,
171
+ # Merchant acceptor country code (ISO 3166-1 alpha-3)
172
+ merchant_acceptor_country: nil,
145
173
  # Unique identifier to identify the payment card acceptor.
146
174
  merchant_acceptor_id: nil,
175
+ # Merchant acceptor state/province (ISO 3166-2 subdivision code)
176
+ merchant_acceptor_state: nil,
147
177
  # Amount of the transaction to be simulated in currency specified in
148
178
  # merchant_currency, including any acquirer fees.
149
179
  merchant_amount: nil,
@@ -184,7 +214,10 @@ module Lithic
184
214
  descriptor: String,
185
215
  pan: String,
186
216
  mcc: String,
217
+ merchant_acceptor_city: String,
218
+ merchant_acceptor_country: String,
187
219
  merchant_acceptor_id: String,
220
+ merchant_acceptor_state: String,
188
221
  merchant_amount: Integer,
189
222
  merchant_currency: String,
190
223
  partial_approval_capable: T::Boolean,
@@ -37,6 +37,20 @@ module Lithic
37
37
  sig { params(mcc: String).void }
38
38
  attr_writer :mcc
39
39
 
40
+ # Merchant acceptor city
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :merchant_acceptor_city
43
+
44
+ sig { params(merchant_acceptor_city: String).void }
45
+ attr_writer :merchant_acceptor_city
46
+
47
+ # Merchant acceptor country code (ISO 3166-1 alpha-3)
48
+ sig { returns(T.nilable(String)) }
49
+ attr_reader :merchant_acceptor_country
50
+
51
+ sig { params(merchant_acceptor_country: String).void }
52
+ attr_writer :merchant_acceptor_country
53
+
40
54
  # Unique identifier to identify the payment card acceptor.
41
55
  sig { returns(T.nilable(String)) }
42
56
  attr_reader :merchant_acceptor_id
@@ -44,13 +58,23 @@ module Lithic
44
58
  sig { params(merchant_acceptor_id: String).void }
45
59
  attr_writer :merchant_acceptor_id
46
60
 
61
+ # Merchant acceptor state/province (ISO 3166-2 subdivision code)
62
+ sig { returns(T.nilable(String)) }
63
+ attr_reader :merchant_acceptor_state
64
+
65
+ sig { params(merchant_acceptor_state: String).void }
66
+ attr_writer :merchant_acceptor_state
67
+
47
68
  sig do
48
69
  params(
49
70
  amount: Integer,
50
71
  descriptor: String,
51
72
  pan: String,
52
73
  mcc: String,
74
+ merchant_acceptor_city: String,
75
+ merchant_acceptor_country: String,
53
76
  merchant_acceptor_id: String,
77
+ merchant_acceptor_state: String,
54
78
  request_options: Lithic::RequestOptions::OrHash
55
79
  ).returns(T.attached_class)
56
80
  end
@@ -67,8 +91,14 @@ module Lithic
67
91
  # listed in ISO 18245. Supported merchant category codes can be found
68
92
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
69
93
  mcc: nil,
94
+ # Merchant acceptor city
95
+ merchant_acceptor_city: nil,
96
+ # Merchant acceptor country code (ISO 3166-1 alpha-3)
97
+ merchant_acceptor_country: nil,
70
98
  # Unique identifier to identify the payment card acceptor.
71
99
  merchant_acceptor_id: nil,
100
+ # Merchant acceptor state/province (ISO 3166-2 subdivision code)
101
+ merchant_acceptor_state: nil,
72
102
  request_options: {}
73
103
  )
74
104
  end
@@ -80,7 +110,10 @@ module Lithic
80
110
  descriptor: String,
81
111
  pan: String,
82
112
  mcc: String,
113
+ merchant_acceptor_city: String,
114
+ merchant_acceptor_country: String,
83
115
  merchant_acceptor_id: String,
116
+ merchant_acceptor_state: String,
84
117
  request_options: Lithic::RequestOptions
85
118
  }
86
119
  )
@@ -167,6 +167,8 @@ module Lithic
167
167
  CardTransactionUpdatedWebhookEvent =
168
168
  Lithic::Models::CardTransactionUpdatedWebhookEvent
169
169
 
170
+ CardUpdatedWebhookEvent = Lithic::Models::CardUpdatedWebhookEvent
171
+
170
172
  CardUpdateParams = Lithic::Models::CardUpdateParams
171
173
 
172
174
  CardWebProvisionParams = Lithic::Models::CardWebProvisionParams
@@ -34,11 +34,12 @@ module Lithic
34
34
  spend_limit: Integer,
35
35
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
36
36
  state: Lithic::CardCreateParams::State::OrSymbol,
37
+ idempotency_key: String,
37
38
  request_options: Lithic::RequestOptions::OrHash
38
39
  ).returns(Lithic::Card)
39
40
  end
40
41
  def create(
41
- # Card types:
42
+ # Body param: Card types:
42
43
  #
43
44
  # - `VIRTUAL` - Card will authorize at any merchant and can be added to a digital
44
45
  # wallet like Apple Pay or Google Pay (if the card program is digital
@@ -48,65 +49,67 @@ module Lithic
48
49
  # Reach out at [lithic.com/contact](https://lithic.com/contact) for more
49
50
  # information.
50
51
  # - `SINGLE_USE` - Card is closed upon first successful authorization.
51
- # - `MERCHANT_LOCKED` - _[Deprecated]_ Card is locked to the first merchant that
52
- # successfully authorizes the card.
52
+ # - `MERCHANT_LOCKED` - Card is locked to the first merchant that successfully
53
+ # authorizes the card.
53
54
  # - `UNLOCKED` - _[Deprecated]_ Similar behavior to VIRTUAL cards, please use
54
55
  # VIRTUAL instead.
55
56
  # - `DIGITAL_WALLET` - _[Deprecated]_ Similar behavior to VIRTUAL cards, please
56
57
  # use VIRTUAL instead.
57
58
  type:,
58
- # Globally unique identifier for the account that the card will be associated
59
- # with. Required for programs enrolling users using the
59
+ # Body param: Globally unique identifier for the account that the card will be
60
+ # associated with. Required for programs enrolling users using the
60
61
  # [/account_holders endpoint](https://docs.lithic.com/docs/account-holders-kyc).
61
62
  # See [Managing Your Program](doc:managing-your-program) for more information.
62
63
  account_token: nil,
63
- # Globally unique identifier for an existing bulk order to associate this card
64
- # with. When specified, the card will be added to the bulk order for batch
65
- # shipment. Only applicable to cards of type PHYSICAL
64
+ # Body param: Globally unique identifier for an existing bulk order to associate
65
+ # this card with. When specified, the card will be added to the bulk order for
66
+ # batch shipment. Only applicable to cards of type PHYSICAL
66
67
  bulk_order_token: nil,
67
- # For card programs with more than one BIN range. This must be configured with
68
- # Lithic before use. Identifies the card program/BIN range under which to create
69
- # the card. If omitted, will utilize the program's default `card_program_token`.
70
- # In Sandbox, use 00000000-0000-0000-1000-000000000000 and
68
+ # Body param: For card programs with more than one BIN range. This must be
69
+ # configured with Lithic before use. Identifies the card program/BIN range under
70
+ # which to create the card. If omitted, will utilize the program's default
71
+ # `card_program_token`. In Sandbox, use 00000000-0000-0000-1000-000000000000 and
71
72
  # 00000000-0000-0000-2000-000000000000 to test creating cards on specific card
72
73
  # programs.
73
74
  card_program_token: nil,
75
+ # Body param
74
76
  carrier: nil,
75
- # Specifies the digital card art to be displayed in the user’s digital wallet
76
- # after tokenization. This artwork must be approved by Mastercard and configured
77
- # by Lithic to use. See
77
+ # Body param: Specifies the digital card art to be displayed in the user’s digital
78
+ # wallet after tokenization. This artwork must be approved by Mastercard and
79
+ # configured by Lithic to use. See
78
80
  # [Flexible Card Art Guide](https://docs.lithic.com/docs/about-digital-wallets#flexible-card-art).
79
81
  digital_card_art_token: nil,
80
- # Two digit (MM) expiry month. If neither `exp_month` nor `exp_year` is provided,
81
- # an expiration date will be generated.
82
+ # Body param: Two digit (MM) expiry month. If neither `exp_month` nor `exp_year`
83
+ # is provided, an expiration date will be generated.
82
84
  exp_month: nil,
83
- # Four digit (yyyy) expiry year. If neither `exp_month` nor `exp_year` is
84
- # provided, an expiration date will be generated.
85
+ # Body param: Four digit (yyyy) expiry year. If neither `exp_month` nor `exp_year`
86
+ # is provided, an expiration date will be generated.
85
87
  exp_year: nil,
86
- # Friendly name to identify the card.
88
+ # Body param: Friendly name to identify the card.
87
89
  memo: nil,
88
- # Encrypted PIN block (in base64). Applies to cards of type `PHYSICAL` and
89
- # `VIRTUAL`. See
90
+ # Body param: Encrypted PIN block (in base64). Applies to cards of type `PHYSICAL`
91
+ # and `VIRTUAL`. See
90
92
  # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block).
91
93
  pin: nil,
92
- # Only applicable to cards of type `PHYSICAL`. This must be configured with Lithic
93
- # before use. Specifies the configuration (i.e., physical card art) that the card
94
- # should be manufactured with.
94
+ # Body param: Only applicable to cards of type `PHYSICAL`. This must be configured
95
+ # with Lithic before use. Specifies the configuration (i.e., physical card art)
96
+ # that the card should be manufactured with.
95
97
  product_id: nil,
96
- # Restricted field limited to select use cases. Lithic will reach out directly if
97
- # this field should be used. Globally unique identifier for the replacement card's
98
- # account. If this field is specified, `replacement_for` must also be specified.
99
- # If `replacement_for` is specified and this field is omitted, the replacement
100
- # card's account will be inferred from the card being replaced.
98
+ # Body param: Restricted field limited to select use cases. Lithic will reach out
99
+ # directly if this field should be used. Globally unique identifier for the
100
+ # replacement card's account. If this field is specified, `replacement_for` must
101
+ # also be specified. If `replacement_for` is specified and this field is omitted,
102
+ # the replacement card's account will be inferred from the card being replaced.
101
103
  replacement_account_token: nil,
102
- # Additional context or information related to the card that this card will
103
- # replace.
104
+ # Body param: Additional context or information related to the card that this card
105
+ # will replace.
104
106
  replacement_comment: nil,
105
- # Globally unique identifier for the card that this card will replace. If the card
106
- # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is
107
- # `VIRTUAL` it will be replaced by a `VIRTUAL` card.
107
+ # Body param: Globally unique identifier for the card that this card will replace.
108
+ # If the card type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the
109
+ # card type is `VIRTUAL` it will be replaced by a `VIRTUAL` card.
108
110
  replacement_for: nil,
109
- # Card state substatus values for the card that this card will replace:
111
+ # Body param: Card state substatus values for the card that this card will
112
+ # replace:
110
113
  #
111
114
  # - `LOST` - The physical card is no longer in the cardholder's possession due to
112
115
  # being lost or never received by the cardholder.
@@ -134,9 +137,10 @@ module Lithic
134
137
  # - `OTHER` - The reason for the status does not fall into any of the above
135
138
  # categories. A comment should be provided to specify the reason.
136
139
  replacement_substatus: nil,
140
+ # Body param
137
141
  shipping_address: nil,
138
- # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
139
- # options besides `STANDARD` require additional permissions.
142
+ # Body param: Shipping method for the card. Only applies to cards of type
143
+ # PHYSICAL. Use of options besides `STANDARD` require additional permissions.
140
144
  #
141
145
  # - `STANDARD` - USPS regular mail or similar international option, with no
142
146
  # tracking
@@ -151,13 +155,13 @@ module Lithic
151
155
  # or similar international option, with tracking
152
156
  # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping
153
157
  shipping_method: nil,
154
- # Amount (in cents) to limit approved authorizations (e.g. 100000 would be a
155
- # $1,000 limit). Transaction requests above the spend limit will be declined. Note
156
- # that a spend limit of 0 is effectively no limit, and should only be used to
157
- # reset or remove a prior limit. Only a limit of 1 or above will result in
158
- # declined transactions due to checks against the card limit.
158
+ # Body param: Amount (in cents) to limit approved authorizations (e.g. 100000
159
+ # would be a $1,000 limit). Transaction requests above the spend limit will be
160
+ # declined. Note that a spend limit of 0 is effectively no limit, and should only
161
+ # be used to reset or remove a prior limit. Only a limit of 1 or above will result
162
+ # in declined transactions due to checks against the card limit.
159
163
  spend_limit: nil,
160
- # Spend limit duration values:
164
+ # Body param: Spend limit duration values:
161
165
  #
162
166
  # - `ANNUALLY` - Card will authorize transactions up to spend limit for the
163
167
  # trailing year.
@@ -170,13 +174,15 @@ module Lithic
170
174
  # - `TRANSACTION` - Card will authorize multiple transactions if each individual
171
175
  # transaction is under the spend limit.
172
176
  spend_limit_duration: nil,
173
- # Card state values:
177
+ # Body param: Card state values:
174
178
  #
175
179
  # - `OPEN` - Card will approve authorizations (if they match card and account
176
180
  # parameters).
177
181
  # - `PAUSED` - Card will decline authorizations, but can be resumed at a later
178
182
  # time.
179
183
  state: nil,
184
+ # Header param: Idempotency key for the request
185
+ idempotency_key: nil,
180
186
  request_options: {}
181
187
  )
182
188
  end
@@ -32,15 +32,15 @@ module Lithic
32
32
  ).returns(Lithic::FinancialAccount)
33
33
  end
34
34
  def create(
35
- # Body param:
35
+ # Body param
36
36
  nickname:,
37
- # Body param:
37
+ # Body param
38
38
  type:,
39
- # Body param:
39
+ # Body param
40
40
  account_token: nil,
41
- # Body param:
41
+ # Body param
42
42
  is_for_benefit_of: nil,
43
- # Header param:
43
+ # Header param: Idempotency key for the request
44
44
  idempotency_key: nil,
45
45
  request_options: {}
46
46
  )
@@ -96,7 +96,10 @@ module Lithic
96
96
  descriptor: String,
97
97
  pan: String,
98
98
  mcc: String,
99
+ merchant_acceptor_city: String,
100
+ merchant_acceptor_country: String,
99
101
  merchant_acceptor_id: String,
102
+ merchant_acceptor_state: String,
100
103
  merchant_amount: Integer,
101
104
  merchant_currency: String,
102
105
  partial_approval_capable: T::Boolean,
@@ -121,8 +124,14 @@ module Lithic
121
124
  # listed in ISO 18245. Supported merchant category codes can be found
122
125
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
123
126
  mcc: nil,
127
+ # Merchant acceptor city
128
+ merchant_acceptor_city: nil,
129
+ # Merchant acceptor country code (ISO 3166-1 alpha-3)
130
+ merchant_acceptor_country: nil,
124
131
  # Unique identifier to identify the payment card acceptor.
125
132
  merchant_acceptor_id: nil,
133
+ # Merchant acceptor state/province (ISO 3166-2 subdivision code)
134
+ merchant_acceptor_state: nil,
126
135
  # Amount of the transaction to be simulated in currency specified in
127
136
  # merchant_currency, including any acquirer fees.
128
137
  merchant_amount: nil,
@@ -216,7 +225,10 @@ module Lithic
216
225
  descriptor: String,
217
226
  pan: String,
218
227
  mcc: String,
228
+ merchant_acceptor_city: String,
229
+ merchant_acceptor_country: String,
219
230
  merchant_acceptor_id: String,
231
+ merchant_acceptor_state: String,
220
232
  request_options: Lithic::RequestOptions::OrHash
221
233
  ).returns(
222
234
  Lithic::Models::TransactionSimulateCreditAuthorizationAdviceResponse
@@ -235,8 +247,14 @@ module Lithic
235
247
  # listed in ISO 18245. Supported merchant category codes can be found
236
248
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
237
249
  mcc: nil,
250
+ # Merchant acceptor city
251
+ merchant_acceptor_city: nil,
252
+ # Merchant acceptor country code (ISO 3166-1 alpha-3)
253
+ merchant_acceptor_country: nil,
238
254
  # Unique identifier to identify the payment card acceptor.
239
255
  merchant_acceptor_id: nil,
256
+ # Merchant acceptor state/province (ISO 3166-2 subdivision code)
257
+ merchant_acceptor_state: nil,
240
258
  request_options: {}
241
259
  )
242
260
  end
@@ -8,7 +8,68 @@ module Lithic
8
8
  payload: String,
9
9
  headers: T::Hash[String, String],
10
10
  secret: T.nilable(String)
11
- ).returns(Lithic::ParsedWebhookEvent::Variants)
11
+ ).returns(
12
+ T.any(
13
+ Lithic::AccountHolderCreatedWebhookEvent,
14
+ Lithic::ParsedWebhookEvent::KYBPayload,
15
+ Lithic::ParsedWebhookEvent::KYCPayload,
16
+ Lithic::ParsedWebhookEvent::LegacyPayload,
17
+ Lithic::AccountHolderVerificationWebhookEvent,
18
+ Lithic::AccountHolderDocumentUpdatedWebhookEvent,
19
+ Lithic::CardAuthorizationApprovalRequestWebhookEvent,
20
+ Lithic::TokenizationDecisioningRequestWebhookEvent,
21
+ Lithic::AuthRulesBacktestReportCreatedWebhookEvent,
22
+ Lithic::BalanceUpdatedWebhookEvent,
23
+ Lithic::BookTransferTransactionCreatedWebhookEvent,
24
+ Lithic::BookTransferTransactionUpdatedWebhookEvent,
25
+ Lithic::CardCreatedWebhookEvent,
26
+ Lithic::CardConvertedWebhookEvent,
27
+ Lithic::CardRenewedWebhookEvent,
28
+ Lithic::CardReissuedWebhookEvent,
29
+ Lithic::CardShippedWebhookEvent,
30
+ Lithic::CardUpdatedWebhookEvent,
31
+ Lithic::CardTransactionUpdatedWebhookEvent,
32
+ Lithic::CardTransactionEnhancedDataCreatedWebhookEvent,
33
+ Lithic::CardTransactionEnhancedDataUpdatedWebhookEvent,
34
+ Lithic::DigitalWalletTokenizationApprovalRequestWebhookEvent,
35
+ Lithic::DigitalWalletTokenizationResultWebhookEvent,
36
+ Lithic::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent,
37
+ Lithic::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent,
38
+ Lithic::DigitalWalletTokenizationUpdatedWebhookEvent,
39
+ Lithic::DisputeUpdatedWebhookEvent,
40
+ Lithic::DisputeEvidenceUploadFailedWebhookEvent,
41
+ Lithic::ExternalBankAccountCreatedWebhookEvent,
42
+ Lithic::ExternalBankAccountUpdatedWebhookEvent,
43
+ Lithic::ExternalPaymentCreatedWebhookEvent,
44
+ Lithic::ExternalPaymentUpdatedWebhookEvent,
45
+ Lithic::FinancialAccountCreatedWebhookEvent,
46
+ Lithic::FinancialAccountUpdatedWebhookEvent,
47
+ Lithic::FundingEventCreatedWebhookEvent,
48
+ Lithic::LoanTapeCreatedWebhookEvent,
49
+ Lithic::LoanTapeUpdatedWebhookEvent,
50
+ Lithic::ManagementOperationCreatedWebhookEvent,
51
+ Lithic::ManagementOperationUpdatedWebhookEvent,
52
+ Lithic::InternalTransactionCreatedWebhookEvent,
53
+ Lithic::InternalTransactionUpdatedWebhookEvent,
54
+ Lithic::NetworkTotalCreatedWebhookEvent,
55
+ Lithic::NetworkTotalUpdatedWebhookEvent,
56
+ Lithic::PaymentTransactionCreatedWebhookEvent,
57
+ Lithic::PaymentTransactionUpdatedWebhookEvent,
58
+ Lithic::SettlementReportUpdatedWebhookEvent,
59
+ Lithic::StatementsCreatedWebhookEvent,
60
+ Lithic::ThreeDSAuthenticationCreatedWebhookEvent,
61
+ Lithic::ThreeDSAuthenticationUpdatedWebhookEvent,
62
+ Lithic::ThreeDSAuthenticationChallengeWebhookEvent,
63
+ Lithic::TokenizationApprovalRequestWebhookEvent,
64
+ Lithic::TokenizationResultWebhookEvent,
65
+ Lithic::TokenizationTwoFactorAuthenticationCodeWebhookEvent,
66
+ Lithic::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent,
67
+ Lithic::TokenizationUpdatedWebhookEvent,
68
+ Lithic::ThreeDSAuthenticationApprovalRequestWebhookEvent,
69
+ Lithic::DisputeTransactionCreatedWebhookEvent,
70
+ Lithic::DisputeTransactionUpdatedWebhookEvent
71
+ )
72
+ )
12
73
  end
13
74
  def parse(payload, headers:, secret: nil)
14
75
  end