From 7a7e78338a405f4edb463df0de5f64cf157c0334 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 9 Jul 2026 22:18:59 +0000 Subject: [PATCH 1/9] docs(api): clarify simulate_clearing supports multiple calls in transactions --- .stats.yml | 4 ++-- .../models/transaction_simulate_clearing_params.rb | 7 ++++--- lib/lithic/resources/transactions.rb | 7 ++++--- .../transaction_simulate_clearing_params.rbi | 14 ++++++++------ rbi/lithic/resources/transactions.rbi | 14 ++++++++------ 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/.stats.yml b/.stats.yml index 189b2dd2..f99c3ec7 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-9e397c65ffb81e2928b8ecf979769a79131ae6058b6fb373a5e930dc8a168732.yml -openapi_spec_hash: 93aea3855d2d1c390107d223762aa818 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-1514911f233cb8bf0d6752c45bfa53a61b8f9b8ff215a4ea94a95f9505911000.yml +openapi_spec_hash: 9820a9c9a4ff778c627041eb53fd4ee5 config_hash: 5bb913c05ebeb301ec925b16e75bb251 diff --git a/lib/lithic/models/transaction_simulate_clearing_params.rb b/lib/lithic/models/transaction_simulate_clearing_params.rb index 446d2156..88a9193f 100644 --- a/lib/lithic/models/transaction_simulate_clearing_params.rb +++ b/lib/lithic/models/transaction_simulate_clearing_params.rb @@ -20,9 +20,10 @@ class TransactionSimulateClearingParams < Lithic::Internal::Type::BaseModel # example, entering 100 in this field will result in a -100 amount in the # transaction, if the original authorization is a credit authorization. # - # If `amount` is not set, the full amount of the transaction will be cleared. - # Transactions that have already cleared, either partially or fully, cannot be - # cleared again using this endpoint. + # If `amount` is not set, the full amount of the transaction will be cleared. This + # endpoint may be called multiple times against the same authorization to simulate + # a multiple-completion scenario, with each call creating a separate clearing + # event. # # @return [Integer, nil] optional :amount, Integer diff --git a/lib/lithic/resources/transactions.rb b/lib/lithic/resources/transactions.rb index e43cb0c2..c0fb3856 100644 --- a/lib/lithic/resources/transactions.rb +++ b/lib/lithic/resources/transactions.rb @@ -210,9 +210,10 @@ def simulate_authorization_advice(params) # Clears an existing authorization, either debit or credit. After this event, the # transaction transitions from `PENDING` to `SETTLED` status. # - # If `amount` is not set, the full amount of the transaction will be cleared. - # Transactions that have already cleared, either partially or fully, cannot be - # cleared again using this endpoint. + # If `amount` is not set, the full amount of the transaction will be cleared. This + # endpoint may be called multiple times against the same authorization to simulate + # a multiple-completion scenario, with each call creating a separate clearing + # event. # # @overload simulate_clearing(token:, amount: nil, request_options: {}) # diff --git a/rbi/lithic/models/transaction_simulate_clearing_params.rbi b/rbi/lithic/models/transaction_simulate_clearing_params.rbi index 691a6ed4..61d16ea4 100644 --- a/rbi/lithic/models/transaction_simulate_clearing_params.rbi +++ b/rbi/lithic/models/transaction_simulate_clearing_params.rbi @@ -24,9 +24,10 @@ module Lithic # example, entering 100 in this field will result in a -100 amount in the # transaction, if the original authorization is a credit authorization. # - # If `amount` is not set, the full amount of the transaction will be cleared. - # Transactions that have already cleared, either partially or fully, cannot be - # cleared again using this endpoint. + # If `amount` is not set, the full amount of the transaction will be cleared. This + # endpoint may be called multiple times against the same authorization to simulate + # a multiple-completion scenario, with each call creating a separate clearing + # event. sig { returns(T.nilable(Integer)) } attr_reader :amount @@ -49,9 +50,10 @@ module Lithic # example, entering 100 in this field will result in a -100 amount in the # transaction, if the original authorization is a credit authorization. # - # If `amount` is not set, the full amount of the transaction will be cleared. - # Transactions that have already cleared, either partially or fully, cannot be - # cleared again using this endpoint. + # If `amount` is not set, the full amount of the transaction will be cleared. This + # endpoint may be called multiple times against the same authorization to simulate + # a multiple-completion scenario, with each call creating a separate clearing + # event. amount: nil, request_options: {} ) diff --git a/rbi/lithic/resources/transactions.rbi b/rbi/lithic/resources/transactions.rbi index 958a1edf..1838b80c 100644 --- a/rbi/lithic/resources/transactions.rbi +++ b/rbi/lithic/resources/transactions.rbi @@ -208,9 +208,10 @@ module Lithic # Clears an existing authorization, either debit or credit. After this event, the # transaction transitions from `PENDING` to `SETTLED` status. # - # If `amount` is not set, the full amount of the transaction will be cleared. - # Transactions that have already cleared, either partially or fully, cannot be - # cleared again using this endpoint. + # If `amount` is not set, the full amount of the transaction will be cleared. This + # endpoint may be called multiple times against the same authorization to simulate + # a multiple-completion scenario, with each call creating a separate clearing + # event. sig do params( token: String, @@ -227,9 +228,10 @@ module Lithic # example, entering 100 in this field will result in a -100 amount in the # transaction, if the original authorization is a credit authorization. # - # If `amount` is not set, the full amount of the transaction will be cleared. - # Transactions that have already cleared, either partially or fully, cannot be - # cleared again using this endpoint. + # If `amount` is not set, the full amount of the transaction will be cleared. This + # endpoint may be called multiple times against the same authorization to simulate + # a multiple-completion scenario, with each call creating a separate clearing + # event. amount: nil, request_options: {} ) From db7d72a41aaee552817197d85b7989d85f6399c3 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 14:55:02 +0000 Subject: [PATCH 2/9] docs(api): update category parameter description in external_payments --- .stats.yml | 4 ++-- lib/lithic/models/external_payment_list_params.rb | 6 +++--- lib/lithic/resources/external_payments.rb | 2 +- rbi/lithic/models/external_payment_list_params.rbi | 6 +++--- rbi/lithic/resources/external_payments.rbi | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.stats.yml b/.stats.yml index f99c3ec7..9c19fa15 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-1514911f233cb8bf0d6752c45bfa53a61b8f9b8ff215a4ea94a95f9505911000.yml -openapi_spec_hash: 9820a9c9a4ff778c627041eb53fd4ee5 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-021aecb037a2f6b44056d6ebe08129e55f2dd95d8a6944c6e2c1c8e2bede56b4.yml +openapi_spec_hash: 3567c6592916d79ce38248d922cd0db6 config_hash: 5bb913c05ebeb301ec925b16e75bb251 diff --git a/lib/lithic/models/external_payment_list_params.rb b/lib/lithic/models/external_payment_list_params.rb index aff41236..980f3735 100644 --- a/lib/lithic/models/external_payment_list_params.rb +++ b/lib/lithic/models/external_payment_list_params.rb @@ -20,7 +20,7 @@ class ExternalPaymentListParams < Lithic::Internal::Type::BaseModel optional :business_account_token, String # @!attribute category - # External Payment category to be returned. + # The external rail the funds moved on # # @return [Symbol, Lithic::Models::ExternalPaymentListParams::Category, nil] optional :category, enum: -> { Lithic::ExternalPaymentListParams::Category } @@ -79,7 +79,7 @@ class ExternalPaymentListParams < Lithic::Internal::Type::BaseModel # # @param business_account_token [String] # - # @param category [Symbol, Lithic::Models::ExternalPaymentListParams::Category] External Payment category to be returned. + # @param category [Symbol, Lithic::Models::ExternalPaymentListParams::Category] The external rail the funds moved on # # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w # @@ -97,7 +97,7 @@ class ExternalPaymentListParams < Lithic::Internal::Type::BaseModel # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] - # External Payment category to be returned. + # The external rail the funds moved on module Category extend Lithic::Internal::Type::Enum diff --git a/lib/lithic/resources/external_payments.rb b/lib/lithic/resources/external_payments.rb index 71194e87..77841754 100644 --- a/lib/lithic/resources/external_payments.rb +++ b/lib/lithic/resources/external_payments.rb @@ -75,7 +75,7 @@ def retrieve(external_payment_token, params = {}) # # @param business_account_token [String] # - # @param category [Symbol, Lithic::Models::ExternalPaymentListParams::Category] External Payment category to be returned. + # @param category [Symbol, Lithic::Models::ExternalPaymentListParams::Category] The external rail the funds moved on # # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w # diff --git a/rbi/lithic/models/external_payment_list_params.rbi b/rbi/lithic/models/external_payment_list_params.rbi index 31d99150..84830e53 100644 --- a/rbi/lithic/models/external_payment_list_params.rbi +++ b/rbi/lithic/models/external_payment_list_params.rbi @@ -25,7 +25,7 @@ module Lithic sig { params(business_account_token: String).void } attr_writer :business_account_token - # External Payment category to be returned. + # The external rail the funds moved on sig do returns( T.nilable(Lithic::ExternalPaymentListParams::Category::OrSymbol) @@ -121,7 +121,7 @@ module Lithic # will be included. UTC time zone. begin_: nil, business_account_token: nil, - # External Payment category to be returned. + # The external rail the funds moved on category: nil, # Date string in RFC 3339 format. Only entries created before the specified time # will be included. UTC time zone. @@ -165,7 +165,7 @@ module Lithic def to_hash end - # External Payment category to be returned. + # The external rail the funds moved on module Category extend Lithic::Internal::Type::Enum diff --git a/rbi/lithic/resources/external_payments.rbi b/rbi/lithic/resources/external_payments.rbi index 65b83005..9c4a15c6 100644 --- a/rbi/lithic/resources/external_payments.rbi +++ b/rbi/lithic/resources/external_payments.rbi @@ -71,7 +71,7 @@ module Lithic # will be included. UTC time zone. begin_: nil, business_account_token: nil, - # External Payment category to be returned. + # The external rail the funds moved on category: nil, # Date string in RFC 3339 format. Only entries created before the specified time # will be included. UTC time zone. From 4db3479aaf148f8f3ea7e16ea89eb3c275fe963e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:10:45 +0000 Subject: [PATCH 3/9] docs(api): expand dispute event descriptions across Event and subscription models --- .stats.yml | 4 +- lib/lithic/models/event.rb | 42 ++++++++++--- lib/lithic/models/event_list_params.rb | 21 +++++-- lib/lithic/models/event_subscription.rb | 21 +++++-- .../events/subscription_create_params.rb | 21 +++++-- .../events/subscription_update_params.rb | 21 +++++-- rbi/lithic/models/event.rbi | 63 ++++++++++++++----- rbi/lithic/models/event_list_params.rbi | 21 +++++-- rbi/lithic/models/event_subscription.rbi | 21 +++++-- .../events/subscription_create_params.rbi | 21 +++++-- .../events/subscription_update_params.rbi | 21 +++++-- 11 files changed, 210 insertions(+), 67 deletions(-) diff --git a/.stats.yml b/.stats.yml index 9c19fa15..f8c9d580 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-021aecb037a2f6b44056d6ebe08129e55f2dd95d8a6944c6e2c1c8e2bede56b4.yml -openapi_spec_hash: 3567c6592916d79ce38248d922cd0db6 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-7944f9c14da86359cf30f16d97dff357f656f8fab9a59e923c436304624438ee.yml +openapi_spec_hash: 4b45cf81f64bc52e739731108d2cc482 config_hash: 5bb913c05ebeb301ec925b16e75bb251 diff --git a/lib/lithic/models/event.rb b/lib/lithic/models/event.rb index 3ba2bec2..2a1ed743 100644 --- a/lib/lithic/models/event.rb +++ b/lib/lithic/models/event.rb @@ -22,7 +22,7 @@ class Event < Lithic::Internal::Type::BaseModel # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -86,10 +86,21 @@ class Event < Lithic::Internal::Type::BaseModel # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -111,7 +122,7 @@ class Event < Lithic::Internal::Type::BaseModel # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully @@ -158,7 +169,7 @@ class Event < Lithic::Internal::Type::BaseModel # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -222,10 +233,21 @@ class Event < Lithic::Internal::Type::BaseModel # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -247,7 +269,7 @@ class Event < Lithic::Internal::Type::BaseModel # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/lib/lithic/models/event_list_params.rb b/lib/lithic/models/event_list_params.rb index e4b64766..6fe90f1e 100644 --- a/lib/lithic/models/event_list_params.rb +++ b/lib/lithic/models/event_list_params.rb @@ -76,7 +76,7 @@ class EventListParams < Lithic::Internal::Type::BaseModel # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -140,10 +140,21 @@ class EventListParams < Lithic::Internal::Type::BaseModel # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -165,7 +176,7 @@ class EventListParams < Lithic::Internal::Type::BaseModel # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/lib/lithic/models/event_subscription.rb b/lib/lithic/models/event_subscription.rb index daab3ce3..b622e2c8 100644 --- a/lib/lithic/models/event_subscription.rb +++ b/lib/lithic/models/event_subscription.rb @@ -49,7 +49,7 @@ class EventSubscription < Lithic::Internal::Type::BaseModel # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -113,10 +113,21 @@ class EventSubscription < Lithic::Internal::Type::BaseModel # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -138,7 +149,7 @@ class EventSubscription < Lithic::Internal::Type::BaseModel # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/lib/lithic/models/events/subscription_create_params.rb b/lib/lithic/models/events/subscription_create_params.rb index 218b5879..ec0b9dc7 100644 --- a/lib/lithic/models/events/subscription_create_params.rb +++ b/lib/lithic/models/events/subscription_create_params.rb @@ -51,7 +51,7 @@ class SubscriptionCreateParams < Lithic::Internal::Type::BaseModel # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -115,10 +115,21 @@ class SubscriptionCreateParams < Lithic::Internal::Type::BaseModel # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -140,7 +151,7 @@ class SubscriptionCreateParams < Lithic::Internal::Type::BaseModel # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/lib/lithic/models/events/subscription_update_params.rb b/lib/lithic/models/events/subscription_update_params.rb index 40c826a0..18e05150 100644 --- a/lib/lithic/models/events/subscription_update_params.rb +++ b/lib/lithic/models/events/subscription_update_params.rb @@ -58,7 +58,7 @@ class SubscriptionUpdateParams < Lithic::Internal::Type::BaseModel # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -122,10 +122,21 @@ class SubscriptionUpdateParams < Lithic::Internal::Type::BaseModel # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -147,7 +158,7 @@ class SubscriptionUpdateParams < Lithic::Internal::Type::BaseModel # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/rbi/lithic/models/event.rbi b/rbi/lithic/models/event.rbi index f7fa3974..9b0f81f5 100644 --- a/rbi/lithic/models/event.rbi +++ b/rbi/lithic/models/event.rbi @@ -18,7 +18,7 @@ module Lithic # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -82,10 +82,21 @@ module Lithic # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -107,7 +118,7 @@ module Lithic # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully @@ -153,7 +164,7 @@ module Lithic # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -217,10 +228,21 @@ module Lithic # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -242,7 +264,7 @@ module Lithic # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully @@ -284,7 +306,7 @@ module Lithic # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -348,10 +370,21 @@ module Lithic # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -373,7 +406,7 @@ module Lithic # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/rbi/lithic/models/event_list_params.rbi b/rbi/lithic/models/event_list_params.rbi index de6e6516..c40f1154 100644 --- a/rbi/lithic/models/event_list_params.rbi +++ b/rbi/lithic/models/event_list_params.rbi @@ -127,7 +127,7 @@ module Lithic # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -191,10 +191,21 @@ module Lithic # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -216,7 +227,7 @@ module Lithic # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/rbi/lithic/models/event_subscription.rbi b/rbi/lithic/models/event_subscription.rbi index 266af7b7..29b49ace 100644 --- a/rbi/lithic/models/event_subscription.rbi +++ b/rbi/lithic/models/event_subscription.rbi @@ -75,7 +75,7 @@ module Lithic # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -139,10 +139,21 @@ module Lithic # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -164,7 +175,7 @@ module Lithic # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/rbi/lithic/models/events/subscription_create_params.rbi b/rbi/lithic/models/events/subscription_create_params.rbi index d52e03b3..236c2fbc 100644 --- a/rbi/lithic/models/events/subscription_create_params.rbi +++ b/rbi/lithic/models/events/subscription_create_params.rbi @@ -102,7 +102,7 @@ module Lithic # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -166,10 +166,21 @@ module Lithic # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -191,7 +202,7 @@ module Lithic # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully diff --git a/rbi/lithic/models/events/subscription_update_params.rbi b/rbi/lithic/models/events/subscription_update_params.rbi index 4b283d59..cd8df516 100644 --- a/rbi/lithic/models/events/subscription_update_params.rbi +++ b/rbi/lithic/models/events/subscription_update_params.rbi @@ -108,7 +108,7 @@ module Lithic # The type of event that occurred. Possible values: # # - account_holder_document.updated: Occurs when an account holder's document - # upload status has been updated + # upload status has been updated. # - account_holder.created: Occurs when a new account_holder is created. # - account_holder.updated: Occurs when an account_holder is updated. # - account_holder.verification: Occurs when an asynchronous account_holder's @@ -172,10 +172,21 @@ module Lithic # This event will be deprecated in the future. We recommend using # `tokenization.updated` instead. # - # - dispute_evidence.upload_failed: Occurs when a dispute evidence upload fails. + # - dispute_evidence.upload_failed: Occurs when an evidence upload fails for a + # dispute filed through the Chargebacks API (`/v1/disputes`). + # + # This event is not emitted for Managed Disputes. + # # - dispute_transaction.created: Occurs when a new dispute transaction is created - # - dispute_transaction.updated: Occurs when a dispute transaction is updated - # - dispute.updated: Occurs when a dispute is updated. + # for a Managed Disputes case. + # - dispute_transaction.updated: Occurs when a dispute transaction for a Managed + # Disputes case is updated. + # - dispute.updated: Occurs when a dispute filed through the Chargebacks API + # (`/v1/disputes`) is created or updated. + # + # This event is not emitted for Managed Disputes. Use + # `dispute_transaction.created` and `dispute_transaction.updated` instead. + # # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -197,7 +208,7 @@ module Lithic # - payment_transaction.updated: Occurs when a payment transaction is updated. # - settlement_report.updated: Occurs when a settlement report is created or # updated. - # - statements.created: Occurs when a statement has been created + # - statements.created: Occurs when a statement has been created. # - three_ds_authentication.challenge: The `three_ds_authentication.challenge` # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully From 69b6ead528e48ca397c5b14bcfd5868d6819aaca Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:19:18 +0000 Subject: [PATCH 4/9] feat(stlc): configurable CI runner and private-production-repo support in workflow templates --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bf256a92..75752629 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: permissions: contents: read id-token: write - runs-on: ${{ github.repository == 'stainless-sdks/lithic-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: |- github.repository == 'stainless-sdks/lithic-ruby' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') @@ -56,7 +56,7 @@ jobs: lint: timeout-minutes: 10 name: lint - runs-on: ${{ github.repository == 'stainless-sdks/lithic-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: @@ -73,7 +73,7 @@ jobs: test: timeout-minutes: 10 name: test - runs-on: ${{ github.repository == 'stainless-sdks/lithic-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 From 979bd5d73e39028767418a470e10fc39cfb9686f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 20:23:22 +0000 Subject: [PATCH 5/9] feat(api): add PAYMENT type to book transfers --- .stats.yml | 4 ++-- lib/lithic/models/book_transfer_create_params.rb | 1 + lib/lithic/models/book_transfer_response.rb | 1 + rbi/lithic/models/book_transfer_create_params.rbi | 5 +++++ rbi/lithic/models/book_transfer_response.rbi | 5 +++++ sig/lithic/models/book_transfer_create_params.rbs | 2 ++ sig/lithic/models/book_transfer_response.rbs | 2 ++ 7 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index f8c9d580..03f061a3 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-7944f9c14da86359cf30f16d97dff357f656f8fab9a59e923c436304624438ee.yml -openapi_spec_hash: 4b45cf81f64bc52e739731108d2cc482 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-09b6d1b85c657173562e9a372adc74551f07d476122003078e9168467329f792.yml +openapi_spec_hash: a2b3a526310ceccd4ccb59ec428d246f config_hash: 5bb913c05ebeb301ec925b16e75bb251 diff --git a/lib/lithic/models/book_transfer_create_params.rb b/lib/lithic/models/book_transfer_create_params.rb index 529d2a34..f992a281 100644 --- a/lib/lithic/models/book_transfer_create_params.rb +++ b/lib/lithic/models/book_transfer_create_params.rb @@ -145,6 +145,7 @@ module Type INTEREST = :INTEREST LATE_PAYMENT = :LATE_PAYMENT BILL_PAYMENT = :BILL_PAYMENT + PAYMENT_FEE = :PAYMENT_FEE CASH_BACK = :CASH_BACK ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT CARD_TO_CARD = :CARD_TO_CARD diff --git a/lib/lithic/models/book_transfer_response.rb b/lib/lithic/models/book_transfer_response.rb index 3059d390..b78c7ad3 100644 --- a/lib/lithic/models/book_transfer_response.rb +++ b/lib/lithic/models/book_transfer_response.rb @@ -285,6 +285,7 @@ module Type INTEREST = :INTEREST LATE_PAYMENT = :LATE_PAYMENT BILL_PAYMENT = :BILL_PAYMENT + PAYMENT_FEE = :PAYMENT_FEE CASH_BACK = :CASH_BACK ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT CARD_TO_CARD = :CARD_TO_CARD diff --git a/rbi/lithic/models/book_transfer_create_params.rbi b/rbi/lithic/models/book_transfer_create_params.rbi index abf9bd88..81d34710 100644 --- a/rbi/lithic/models/book_transfer_create_params.rbi +++ b/rbi/lithic/models/book_transfer_create_params.rbi @@ -311,6 +311,11 @@ module Lithic :BILL_PAYMENT, Lithic::BookTransferCreateParams::Type::TaggedSymbol ) + PAYMENT_FEE = + T.let( + :PAYMENT_FEE, + Lithic::BookTransferCreateParams::Type::TaggedSymbol + ) CASH_BACK = T.let( :CASH_BACK, diff --git a/rbi/lithic/models/book_transfer_response.rbi b/rbi/lithic/models/book_transfer_response.rbi index a5115590..66ebc3ba 100644 --- a/rbi/lithic/models/book_transfer_response.rbi +++ b/rbi/lithic/models/book_transfer_response.rbi @@ -512,6 +512,11 @@ module Lithic :BILL_PAYMENT, Lithic::BookTransferResponse::Event::Type::TaggedSymbol ) + PAYMENT_FEE = + T.let( + :PAYMENT_FEE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) CASH_BACK = T.let( :CASH_BACK, diff --git a/sig/lithic/models/book_transfer_create_params.rbs b/sig/lithic/models/book_transfer_create_params.rbs index 34ae9c8e..886398ec 100644 --- a/sig/lithic/models/book_transfer_create_params.rbs +++ b/sig/lithic/models/book_transfer_create_params.rbs @@ -132,6 +132,7 @@ module Lithic | :INTEREST | :LATE_PAYMENT | :BILL_PAYMENT + | :PAYMENT_FEE | :CASH_BACK | :ACCOUNT_TO_ACCOUNT | :CARD_TO_CARD @@ -171,6 +172,7 @@ module Lithic INTEREST: :INTEREST LATE_PAYMENT: :LATE_PAYMENT BILL_PAYMENT: :BILL_PAYMENT + PAYMENT_FEE: :PAYMENT_FEE CASH_BACK: :CASH_BACK ACCOUNT_TO_ACCOUNT: :ACCOUNT_TO_ACCOUNT CARD_TO_CARD: :CARD_TO_CARD diff --git a/sig/lithic/models/book_transfer_response.rbs b/sig/lithic/models/book_transfer_response.rbs index 760bcd97..021b3155 100644 --- a/sig/lithic/models/book_transfer_response.rbs +++ b/sig/lithic/models/book_transfer_response.rbs @@ -212,6 +212,7 @@ module Lithic | :INTEREST | :LATE_PAYMENT | :BILL_PAYMENT + | :PAYMENT_FEE | :CASH_BACK | :ACCOUNT_TO_ACCOUNT | :CARD_TO_CARD @@ -251,6 +252,7 @@ module Lithic INTEREST: :INTEREST LATE_PAYMENT: :LATE_PAYMENT BILL_PAYMENT: :BILL_PAYMENT + PAYMENT_FEE: :PAYMENT_FEE CASH_BACK: :CASH_BACK ACCOUNT_TO_ACCOUNT: :ACCOUNT_TO_ACCOUNT CARD_TO_CARD: :CARD_TO_CARD From 0543caa4d27cde3479e6a3536cdd037073940f03 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 23:04:47 +0000 Subject: [PATCH 6/9] docs: Add card embed documentation --- .stats.yml | 4 +- lib/lithic.rb | 2 + lib/lithic/models.rb | 4 + .../embed_session_generated_webhook_event.rb | 83 +++++++++ .../models/embed_viewed_webhook_event.rb | 85 ++++++++++ lib/lithic/models/event.rb | 10 ++ lib/lithic/models/event_list_params.rb | 6 + lib/lithic/models/event_subscription.rb | 6 + .../events/subscription_create_params.rb | 6 + ...scription_send_simulated_example_params.rb | 2 + .../events/subscription_update_params.rb | 6 + lib/lithic/models/parsed_webhook_event.rb | 6 +- lib/lithic/resources/cards.rb | 5 + lib/lithic/resources/webhooks.rb | 2 +- rbi/lithic/models.rbi | 5 + .../embed_session_generated_webhook_event.rbi | 157 ++++++++++++++++++ .../models/embed_viewed_webhook_event.rbi | 146 ++++++++++++++++ rbi/lithic/models/event.rbi | 19 +++ rbi/lithic/models/event_list_params.rbi | 14 ++ rbi/lithic/models/event_subscription.rbi | 14 ++ .../events/subscription_create_params.rbi | 14 ++ ...cription_send_simulated_example_params.rbi | 10 ++ .../events/subscription_update_params.rbi | 14 ++ rbi/lithic/models/parsed_webhook_event.rbi | 2 + rbi/lithic/resources/cards.rbi | 3 + rbi/lithic/resources/webhooks.rbi | 2 + sig/lithic/models.rbs | 4 + .../embed_session_generated_webhook_event.rbs | 66 ++++++++ .../models/embed_viewed_webhook_event.rbs | 68 ++++++++ sig/lithic/models/event.rbs | 4 + sig/lithic/models/event_list_params.rbs | 4 + sig/lithic/models/event_subscription.rbs | 4 + .../events/subscription_create_params.rbs | 4 + ...cription_send_simulated_example_params.rbs | 4 + .../events/subscription_update_params.rbs | 4 + sig/lithic/models/parsed_webhook_event.rbs | 2 + sig/lithic/resources/webhooks.rbs | 2 + 37 files changed, 789 insertions(+), 4 deletions(-) create mode 100644 lib/lithic/models/embed_session_generated_webhook_event.rb create mode 100644 lib/lithic/models/embed_viewed_webhook_event.rb create mode 100644 rbi/lithic/models/embed_session_generated_webhook_event.rbi create mode 100644 rbi/lithic/models/embed_viewed_webhook_event.rbi create mode 100644 sig/lithic/models/embed_session_generated_webhook_event.rbs create mode 100644 sig/lithic/models/embed_viewed_webhook_event.rbs diff --git a/.stats.yml b/.stats.yml index 03f061a3..6174bfd2 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-09b6d1b85c657173562e9a372adc74551f07d476122003078e9168467329f792.yml -openapi_spec_hash: a2b3a526310ceccd4ccb59ec428d246f +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-2d2600072500797474f0d7798c1a8b668bfbc4e0c6a8f076ca7b4cc7ad82058b.yml +openapi_spec_hash: 7605eb6be77a3d150078916f0eb0e9ac config_hash: 5bb913c05ebeb301ec925b16e75bb251 diff --git a/lib/lithic.rb b/lib/lithic.rb index f15b663e..f0ce0d5e 100644 --- a/lib/lithic.rb +++ b/lib/lithic.rb @@ -256,6 +256,8 @@ require_relative "lithic/models/dispute_updated_webhook_event" require_relative "lithic/models/dispute_update_params" require_relative "lithic/models/document" +require_relative "lithic/models/embed_session_generated_webhook_event" +require_relative "lithic/models/embed_viewed_webhook_event" require_relative "lithic/models/event" require_relative "lithic/models/event_list_attempts_params" require_relative "lithic/models/event_list_params" diff --git a/lib/lithic/models.rb b/lib/lithic/models.rb index 4e098cc5..5f573ad8 100644 --- a/lib/lithic/models.rb +++ b/lib/lithic/models.rb @@ -290,6 +290,10 @@ module Lithic Document = Lithic::Models::Document + EmbedSessionGeneratedWebhookEvent = Lithic::Models::EmbedSessionGeneratedWebhookEvent + + EmbedViewedWebhookEvent = Lithic::Models::EmbedViewedWebhookEvent + Event = Lithic::Models::Event EventListAttemptsParams = Lithic::Models::EventListAttemptsParams diff --git a/lib/lithic/models/embed_session_generated_webhook_event.rb b/lib/lithic/models/embed_session_generated_webhook_event.rb new file mode 100644 index 00000000..4ca8a8c1 --- /dev/null +++ b/lib/lithic/models/embed_session_generated_webhook_event.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Lithic + module Models + class EmbedSessionGeneratedWebhookEvent < Lithic::Internal::Type::BaseModel + # @!attribute account_token + # The token of the account associated with the card + # + # @return [String] + required :account_token, String + + # @!attribute card_token + # The token of the card associated with the embed session + # + # @return [String] + required :card_token, String + + # @!attribute device_details + # Details about the request that generated the embed session + # + # @return [Lithic::Models::EmbedSessionGeneratedWebhookEvent::DeviceDetails] + required :device_details, -> { Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails } + + # @!attribute event_type + # The type of event + # + # @return [Symbol, :"embed.session_generated"] + required :event_type, const: :"embed.session_generated" + + # @!attribute session_id + # The identifier shared by webhook events for the same embed session. + # + # @return [String] + required :session_id, String + + # @!attribute session_type + # The type of embed session that was generated + # + # @return [Symbol, Lithic::Models::EmbedSessionGeneratedWebhookEvent::SessionType] + required :session_type, enum: -> { Lithic::EmbedSessionGeneratedWebhookEvent::SessionType } + + # @!method initialize(account_token:, card_token:, device_details:, session_id:, session_type:, event_type: :"embed.session_generated") + # @param account_token [String] The token of the account associated with the card + # + # @param card_token [String] The token of the card associated with the embed session + # + # @param device_details [Lithic::Models::EmbedSessionGeneratedWebhookEvent::DeviceDetails] Details about the request that generated the embed session + # + # @param session_id [String] The identifier shared by webhook events for the same embed session. + # + # @param session_type [Symbol, Lithic::Models::EmbedSessionGeneratedWebhookEvent::SessionType] The type of embed session that was generated + # + # @param event_type [Symbol, :"embed.session_generated"] The type of event + + # @see Lithic::Models::EmbedSessionGeneratedWebhookEvent#device_details + class DeviceDetails < Lithic::Internal::Type::BaseModel + # @!attribute ip_address + # The IP address recorded for the request that generated the event + # + # @return [String] + required :ip_address, String + + # @!method initialize(ip_address:) + # Details about the request that generated the embed session + # + # @param ip_address [String] The IP address recorded for the request that generated the event + end + + # The type of embed session that was generated + # + # @see Lithic::Models::EmbedSessionGeneratedWebhookEvent#session_type + module SessionType + extend Lithic::Internal::Type::Enum + + CARD_EMBED = :CARD_EMBED + PIN_SETTING_EMBED = :PIN_SETTING_EMBED + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/embed_viewed_webhook_event.rb b/lib/lithic/models/embed_viewed_webhook_event.rb new file mode 100644 index 00000000..0aa6e4a1 --- /dev/null +++ b/lib/lithic/models/embed_viewed_webhook_event.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +module Lithic + module Models + class EmbedViewedWebhookEvent < Lithic::Internal::Type::BaseModel + # @!attribute account_token + # The token of the account associated with the card + # + # @return [String] + required :account_token, String + + # @!attribute card_token + # The token of the card whose details were revealed + # + # @return [String] + required :card_token, String + + # @!attribute device_details + # Details about the request that revealed the card detail + # + # @return [Lithic::Models::EmbedViewedWebhookEvent::DeviceDetails] + required :device_details, -> { Lithic::EmbedViewedWebhookEvent::DeviceDetails } + + # @!attribute embed_type + # The type of card detail that was revealed + # + # @return [Symbol, Lithic::Models::EmbedViewedWebhookEvent::EmbedType] + required :embed_type, enum: -> { Lithic::EmbedViewedWebhookEvent::EmbedType } + + # @!attribute event_type + # The type of event + # + # @return [Symbol, :"embed.viewed"] + required :event_type, const: :"embed.viewed" + + # @!attribute session_id + # The identifier shared by webhook events for the same embed session. + # + # @return [String] + required :session_id, String + + # @!method initialize(account_token:, card_token:, device_details:, embed_type:, session_id:, event_type: :"embed.viewed") + # @param account_token [String] The token of the account associated with the card + # + # @param card_token [String] The token of the card whose details were revealed + # + # @param device_details [Lithic::Models::EmbedViewedWebhookEvent::DeviceDetails] Details about the request that revealed the card detail + # + # @param embed_type [Symbol, Lithic::Models::EmbedViewedWebhookEvent::EmbedType] The type of card detail that was revealed + # + # @param session_id [String] The identifier shared by webhook events for the same embed session. + # + # @param event_type [Symbol, :"embed.viewed"] The type of event + + # @see Lithic::Models::EmbedViewedWebhookEvent#device_details + class DeviceDetails < Lithic::Internal::Type::BaseModel + # @!attribute ip_address + # The IP address recorded for the request that generated the event + # + # @return [String] + required :ip_address, String + + # @!method initialize(ip_address:) + # Details about the request that revealed the card detail + # + # @param ip_address [String] The IP address recorded for the request that generated the event + end + + # The type of card detail that was revealed + # + # @see Lithic::Models::EmbedViewedWebhookEvent#embed_type + module EmbedType + extend Lithic::Internal::Type::Enum + + PAN = :PAN + CVV = :CVV + EXP_MONTH = :EXP_MONTH + EXP_YEAR = :EXP_YEAR + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/event.rb b/lib/lithic/models/event.rb index 2a1ed743..ada1f21b 100644 --- a/lib/lithic/models/event.rb +++ b/lib/lithic/models/event.rb @@ -101,6 +101,10 @@ class Event < Lithic::Internal::Type::BaseModel # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -248,6 +252,10 @@ class Event < Lithic::Internal::Type::BaseModel # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -329,6 +337,8 @@ module EventType DISPUTE_TRANSACTION_CREATED = :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED = :"dispute_transaction.updated" DISPUTE_UPDATED = :"dispute.updated" + EMBED_SESSION_GENERATED = :"embed.session_generated" + EMBED_VIEWED = :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED = :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED = :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED = :"external_payment.created" diff --git a/lib/lithic/models/event_list_params.rb b/lib/lithic/models/event_list_params.rb index 6fe90f1e..725f2f6b 100644 --- a/lib/lithic/models/event_list_params.rb +++ b/lib/lithic/models/event_list_params.rb @@ -155,6 +155,10 @@ class EventListParams < Lithic::Internal::Type::BaseModel # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -234,6 +238,8 @@ module EventType DISPUTE_TRANSACTION_CREATED = :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED = :"dispute_transaction.updated" DISPUTE_UPDATED = :"dispute.updated" + EMBED_SESSION_GENERATED = :"embed.session_generated" + EMBED_VIEWED = :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED = :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED = :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED = :"external_payment.created" diff --git a/lib/lithic/models/event_subscription.rb b/lib/lithic/models/event_subscription.rb index b622e2c8..bb9b9716 100644 --- a/lib/lithic/models/event_subscription.rb +++ b/lib/lithic/models/event_subscription.rb @@ -128,6 +128,10 @@ class EventSubscription < Lithic::Internal::Type::BaseModel # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -207,6 +211,8 @@ module EventType DISPUTE_TRANSACTION_CREATED = :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED = :"dispute_transaction.updated" DISPUTE_UPDATED = :"dispute.updated" + EMBED_SESSION_GENERATED = :"embed.session_generated" + EMBED_VIEWED = :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED = :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED = :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED = :"external_payment.created" diff --git a/lib/lithic/models/events/subscription_create_params.rb b/lib/lithic/models/events/subscription_create_params.rb index ec0b9dc7..25c42a7d 100644 --- a/lib/lithic/models/events/subscription_create_params.rb +++ b/lib/lithic/models/events/subscription_create_params.rb @@ -130,6 +130,10 @@ class SubscriptionCreateParams < Lithic::Internal::Type::BaseModel # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -209,6 +213,8 @@ module EventType DISPUTE_TRANSACTION_CREATED = :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED = :"dispute_transaction.updated" DISPUTE_UPDATED = :"dispute.updated" + EMBED_SESSION_GENERATED = :"embed.session_generated" + EMBED_VIEWED = :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED = :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED = :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED = :"external_payment.created" diff --git a/lib/lithic/models/events/subscription_send_simulated_example_params.rb b/lib/lithic/models/events/subscription_send_simulated_example_params.rb index a572d64c..82e616cc 100644 --- a/lib/lithic/models/events/subscription_send_simulated_example_params.rb +++ b/lib/lithic/models/events/subscription_send_simulated_example_params.rb @@ -64,6 +64,8 @@ module EventType DISPUTE_TRANSACTION_CREATED = :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED = :"dispute_transaction.updated" DISPUTE_UPDATED = :"dispute.updated" + EMBED_SESSION_GENERATED = :"embed.session_generated" + EMBED_VIEWED = :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED = :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED = :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED = :"external_payment.created" diff --git a/lib/lithic/models/events/subscription_update_params.rb b/lib/lithic/models/events/subscription_update_params.rb index 18e05150..811a1eb1 100644 --- a/lib/lithic/models/events/subscription_update_params.rb +++ b/lib/lithic/models/events/subscription_update_params.rb @@ -137,6 +137,10 @@ class SubscriptionUpdateParams < Lithic::Internal::Type::BaseModel # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -216,6 +220,8 @@ module EventType DISPUTE_TRANSACTION_CREATED = :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED = :"dispute_transaction.updated" DISPUTE_UPDATED = :"dispute.updated" + EMBED_SESSION_GENERATED = :"embed.session_generated" + EMBED_VIEWED = :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED = :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED = :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED = :"external_payment.created" diff --git a/lib/lithic/models/parsed_webhook_event.rb b/lib/lithic/models/parsed_webhook_event.rb index effdc98b..60479516 100644 --- a/lib/lithic/models/parsed_webhook_event.rb +++ b/lib/lithic/models/parsed_webhook_event.rb @@ -83,6 +83,10 @@ module ParsedWebhookEvent # Dispute evidence. variant -> { Lithic::DisputeEvidenceUploadFailedWebhookEvent } + variant -> { Lithic::EmbedSessionGeneratedWebhookEvent } + + variant -> { Lithic::EmbedViewedWebhookEvent } + variant -> { Lithic::ExternalBankAccountCreatedWebhookEvent } variant -> { Lithic::ExternalBankAccountUpdatedWebhookEvent } @@ -826,7 +830,7 @@ module EventType end # @!method self.variants - # @return [Array(Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent, Lithic::Models::CardAuthorizationChallengeWebhookEvent, Lithic::Models::CardAuthorizationChallengeResponseWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardUpdatedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::ClaimCreatedWebhookEvent, Lithic::Models::ClaimUpdatedWebhookEvent, Lithic::Models::ClaimDocumentUploadedWebhookEvent, Lithic::Models::ClaimDocumentAcceptedWebhookEvent, Lithic::Models::ClaimDocumentRejectedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationApprovalRequestWebhookEvent, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent)] + # @return [Array(Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent, Lithic::Models::CardAuthorizationChallengeWebhookEvent, Lithic::Models::CardAuthorizationChallengeResponseWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardUpdatedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::ClaimCreatedWebhookEvent, Lithic::Models::ClaimUpdatedWebhookEvent, Lithic::Models::ClaimDocumentUploadedWebhookEvent, Lithic::Models::ClaimDocumentAcceptedWebhookEvent, Lithic::Models::ClaimDocumentRejectedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::EmbedSessionGeneratedWebhookEvent, Lithic::Models::EmbedViewedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationApprovalRequestWebhookEvent, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent)] end end end diff --git a/lib/lithic/resources/cards.rb b/lib/lithic/resources/cards.rb index 7eb72a22..fc8d23bd 100644 --- a/lib/lithic/resources/cards.rb +++ b/lib/lithic/resources/cards.rb @@ -228,6 +228,11 @@ def convert_physical(card_token, params) ) end + # @deprecated + # + # **Deprecated.** Use the modern embedded card flow instead: create a session with + # `POST /v1/cards/{card_token}/embed` and render it via `GET /v1/embed`. + # # Handling full card PANs and CVV codes requires that you comply with the Payment # Card Industry Data Security Standards (PCI DSS). Some clients choose to reduce # their compliance obligations by leveraging our embedded card UI solution diff --git a/lib/lithic/resources/webhooks.rb b/lib/lithic/resources/webhooks.rb index 6ce46b1c..5b209120 100644 --- a/lib/lithic/resources/webhooks.rb +++ b/lib/lithic/resources/webhooks.rb @@ -9,7 +9,7 @@ class Webhooks # @param headers [Hash{String => String}] The webhook request headers # @param secret [String, nil] The webhook secret. If not provided, reads from LITHIC_WEBHOOK_SECRET environment variable. # - # @return [Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent, Lithic::Models::CardAuthorizationChallengeWebhookEvent, Lithic::Models::CardAuthorizationChallengeResponseWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardUpdatedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::ClaimCreatedWebhookEvent, Lithic::Models::ClaimUpdatedWebhookEvent, Lithic::Models::ClaimDocumentUploadedWebhookEvent, Lithic::Models::ClaimDocumentAcceptedWebhookEvent, Lithic::Models::ClaimDocumentRejectedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationApprovalRequestWebhookEvent, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent] # + # @return [Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent, Lithic::Models::CardAuthorizationChallengeWebhookEvent, Lithic::Models::CardAuthorizationChallengeResponseWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardUpdatedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::ClaimCreatedWebhookEvent, Lithic::Models::ClaimUpdatedWebhookEvent, Lithic::Models::ClaimDocumentUploadedWebhookEvent, Lithic::Models::ClaimDocumentAcceptedWebhookEvent, Lithic::Models::ClaimDocumentRejectedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::EmbedSessionGeneratedWebhookEvent, Lithic::Models::EmbedViewedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationApprovalRequestWebhookEvent, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent] # # @raise [ArgumentError] if secret is not provided and LITHIC_WEBHOOK_SECRET env var is not set # @raise [Lithic::Errors::MissingDependencyError] if the standardwebhooks gem is not installed # @raise [StandardWebhooks::WebhookVerificationError] if the signature is invalid diff --git a/rbi/lithic/models.rbi b/rbi/lithic/models.rbi index 448fbd2c..7a10292c 100644 --- a/rbi/lithic/models.rbi +++ b/rbi/lithic/models.rbi @@ -278,6 +278,11 @@ module Lithic Document = Lithic::Models::Document + EmbedSessionGeneratedWebhookEvent = + Lithic::Models::EmbedSessionGeneratedWebhookEvent + + EmbedViewedWebhookEvent = Lithic::Models::EmbedViewedWebhookEvent + Event = Lithic::Models::Event EventListAttemptsParams = Lithic::Models::EventListAttemptsParams diff --git a/rbi/lithic/models/embed_session_generated_webhook_event.rbi b/rbi/lithic/models/embed_session_generated_webhook_event.rbi new file mode 100644 index 00000000..cf1fef0f --- /dev/null +++ b/rbi/lithic/models/embed_session_generated_webhook_event.rbi @@ -0,0 +1,157 @@ +# typed: strong + +module Lithic + module Models + class EmbedSessionGeneratedWebhookEvent < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::EmbedSessionGeneratedWebhookEvent, + Lithic::Internal::AnyHash + ) + end + + # The token of the account associated with the card + sig { returns(String) } + attr_accessor :account_token + + # The token of the card associated with the embed session + sig { returns(String) } + attr_accessor :card_token + + # Details about the request that generated the embed session + sig { returns(Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails) } + attr_reader :device_details + + sig do + params( + device_details: + Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails::OrHash + ).void + end + attr_writer :device_details + + # The type of event + sig { returns(Symbol) } + attr_accessor :event_type + + # The identifier shared by webhook events for the same embed session. + sig { returns(String) } + attr_accessor :session_id + + # The type of embed session that was generated + sig do + returns( + Lithic::EmbedSessionGeneratedWebhookEvent::SessionType::TaggedSymbol + ) + end + attr_accessor :session_type + + sig do + params( + account_token: String, + card_token: String, + device_details: + Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails::OrHash, + session_id: String, + session_type: + Lithic::EmbedSessionGeneratedWebhookEvent::SessionType::OrSymbol, + event_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The token of the account associated with the card + account_token:, + # The token of the card associated with the embed session + card_token:, + # Details about the request that generated the embed session + device_details:, + # The identifier shared by webhook events for the same embed session. + session_id:, + # The type of embed session that was generated + session_type:, + # The type of event + event_type: :"embed.session_generated" + ) + end + + sig do + override.returns( + { + account_token: String, + card_token: String, + device_details: + Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails, + event_type: Symbol, + session_id: String, + session_type: + Lithic::EmbedSessionGeneratedWebhookEvent::SessionType::TaggedSymbol + } + ) + end + def to_hash + end + + class DeviceDetails < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails, + Lithic::Internal::AnyHash + ) + end + + # The IP address recorded for the request that generated the event + sig { returns(String) } + attr_accessor :ip_address + + # Details about the request that generated the embed session + sig { params(ip_address: String).returns(T.attached_class) } + def self.new( + # The IP address recorded for the request that generated the event + ip_address: + ) + end + + sig { override.returns({ ip_address: String }) } + def to_hash + end + end + + # The type of embed session that was generated + module SessionType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::EmbedSessionGeneratedWebhookEvent::SessionType + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD_EMBED = + T.let( + :CARD_EMBED, + Lithic::EmbedSessionGeneratedWebhookEvent::SessionType::TaggedSymbol + ) + PIN_SETTING_EMBED = + T.let( + :PIN_SETTING_EMBED, + Lithic::EmbedSessionGeneratedWebhookEvent::SessionType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::EmbedSessionGeneratedWebhookEvent::SessionType::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/embed_viewed_webhook_event.rbi b/rbi/lithic/models/embed_viewed_webhook_event.rbi new file mode 100644 index 00000000..95d8304b --- /dev/null +++ b/rbi/lithic/models/embed_viewed_webhook_event.rbi @@ -0,0 +1,146 @@ +# typed: strong + +module Lithic + module Models + class EmbedViewedWebhookEvent < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::EmbedViewedWebhookEvent, Lithic::Internal::AnyHash) + end + + # The token of the account associated with the card + sig { returns(String) } + attr_accessor :account_token + + # The token of the card whose details were revealed + sig { returns(String) } + attr_accessor :card_token + + # Details about the request that revealed the card detail + sig { returns(Lithic::EmbedViewedWebhookEvent::DeviceDetails) } + attr_reader :device_details + + sig do + params( + device_details: Lithic::EmbedViewedWebhookEvent::DeviceDetails::OrHash + ).void + end + attr_writer :device_details + + # The type of card detail that was revealed + sig { returns(Lithic::EmbedViewedWebhookEvent::EmbedType::TaggedSymbol) } + attr_accessor :embed_type + + # The type of event + sig { returns(Symbol) } + attr_accessor :event_type + + # The identifier shared by webhook events for the same embed session. + sig { returns(String) } + attr_accessor :session_id + + sig do + params( + account_token: String, + card_token: String, + device_details: + Lithic::EmbedViewedWebhookEvent::DeviceDetails::OrHash, + embed_type: Lithic::EmbedViewedWebhookEvent::EmbedType::OrSymbol, + session_id: String, + event_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The token of the account associated with the card + account_token:, + # The token of the card whose details were revealed + card_token:, + # Details about the request that revealed the card detail + device_details:, + # The type of card detail that was revealed + embed_type:, + # The identifier shared by webhook events for the same embed session. + session_id:, + # The type of event + event_type: :"embed.viewed" + ) + end + + sig do + override.returns( + { + account_token: String, + card_token: String, + device_details: Lithic::EmbedViewedWebhookEvent::DeviceDetails, + embed_type: + Lithic::EmbedViewedWebhookEvent::EmbedType::TaggedSymbol, + event_type: Symbol, + session_id: String + } + ) + end + def to_hash + end + + class DeviceDetails < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::EmbedViewedWebhookEvent::DeviceDetails, + Lithic::Internal::AnyHash + ) + end + + # The IP address recorded for the request that generated the event + sig { returns(String) } + attr_accessor :ip_address + + # Details about the request that revealed the card detail + sig { params(ip_address: String).returns(T.attached_class) } + def self.new( + # The IP address recorded for the request that generated the event + ip_address: + ) + end + + sig { override.returns({ ip_address: String }) } + def to_hash + end + end + + # The type of card detail that was revealed + module EmbedType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::EmbedViewedWebhookEvent::EmbedType) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PAN = + T.let(:PAN, Lithic::EmbedViewedWebhookEvent::EmbedType::TaggedSymbol) + CVV = + T.let(:CVV, Lithic::EmbedViewedWebhookEvent::EmbedType::TaggedSymbol) + EXP_MONTH = + T.let( + :EXP_MONTH, + Lithic::EmbedViewedWebhookEvent::EmbedType::TaggedSymbol + ) + EXP_YEAR = + T.let( + :EXP_YEAR, + Lithic::EmbedViewedWebhookEvent::EmbedType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::EmbedViewedWebhookEvent::EmbedType::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/event.rbi b/rbi/lithic/models/event.rbi index 9b0f81f5..49af29d2 100644 --- a/rbi/lithic/models/event.rbi +++ b/rbi/lithic/models/event.rbi @@ -97,6 +97,10 @@ module Lithic # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -243,6 +247,10 @@ module Lithic # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -385,6 +393,10 @@ module Lithic # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -563,6 +575,13 @@ module Lithic ) DISPUTE_UPDATED = T.let(:"dispute.updated", Lithic::Event::EventType::TaggedSymbol) + EMBED_SESSION_GENERATED = + T.let( + :"embed.session_generated", + Lithic::Event::EventType::TaggedSymbol + ) + EMBED_VIEWED = + T.let(:"embed.viewed", Lithic::Event::EventType::TaggedSymbol) EXTERNAL_BANK_ACCOUNT_CREATED = T.let( :"external_bank_account.created", diff --git a/rbi/lithic/models/event_list_params.rbi b/rbi/lithic/models/event_list_params.rbi index c40f1154..fca09d8d 100644 --- a/rbi/lithic/models/event_list_params.rbi +++ b/rbi/lithic/models/event_list_params.rbi @@ -206,6 +206,10 @@ module Lithic # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -415,6 +419,16 @@ module Lithic :"dispute.updated", Lithic::EventListParams::EventType::TaggedSymbol ) + EMBED_SESSION_GENERATED = + T.let( + :"embed.session_generated", + Lithic::EventListParams::EventType::TaggedSymbol + ) + EMBED_VIEWED = + T.let( + :"embed.viewed", + Lithic::EventListParams::EventType::TaggedSymbol + ) EXTERNAL_BANK_ACCOUNT_CREATED = T.let( :"external_bank_account.created", diff --git a/rbi/lithic/models/event_subscription.rbi b/rbi/lithic/models/event_subscription.rbi index 29b49ace..0fa92090 100644 --- a/rbi/lithic/models/event_subscription.rbi +++ b/rbi/lithic/models/event_subscription.rbi @@ -154,6 +154,10 @@ module Lithic # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -363,6 +367,16 @@ module Lithic :"dispute.updated", Lithic::EventSubscription::EventType::TaggedSymbol ) + EMBED_SESSION_GENERATED = + T.let( + :"embed.session_generated", + Lithic::EventSubscription::EventType::TaggedSymbol + ) + EMBED_VIEWED = + T.let( + :"embed.viewed", + Lithic::EventSubscription::EventType::TaggedSymbol + ) EXTERNAL_BANK_ACCOUNT_CREATED = T.let( :"external_bank_account.created", diff --git a/rbi/lithic/models/events/subscription_create_params.rbi b/rbi/lithic/models/events/subscription_create_params.rbi index 236c2fbc..d28d12c5 100644 --- a/rbi/lithic/models/events/subscription_create_params.rbi +++ b/rbi/lithic/models/events/subscription_create_params.rbi @@ -181,6 +181,10 @@ module Lithic # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -392,6 +396,16 @@ module Lithic :"dispute.updated", Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol ) + EMBED_SESSION_GENERATED = + T.let( + :"embed.session_generated", + Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol + ) + EMBED_VIEWED = + T.let( + :"embed.viewed", + Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol + ) EXTERNAL_BANK_ACCOUNT_CREATED = T.let( :"external_bank_account.created", diff --git a/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi b/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi index bf3bef6d..0e38f181 100644 --- a/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +++ b/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi @@ -238,6 +238,16 @@ module Lithic :"dispute.updated", Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol ) + EMBED_SESSION_GENERATED = + T.let( + :"embed.session_generated", + Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol + ) + EMBED_VIEWED = + T.let( + :"embed.viewed", + Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol + ) EXTERNAL_BANK_ACCOUNT_CREATED = T.let( :"external_bank_account.created", diff --git a/rbi/lithic/models/events/subscription_update_params.rbi b/rbi/lithic/models/events/subscription_update_params.rbi index cd8df516..4dd05de6 100644 --- a/rbi/lithic/models/events/subscription_update_params.rbi +++ b/rbi/lithic/models/events/subscription_update_params.rbi @@ -187,6 +187,10 @@ module Lithic # This event is not emitted for Managed Disputes. Use # `dispute_transaction.created` and `dispute_transaction.updated` instead. # + # - embed.session_generated: Occurs when a card embed session is successfully + # generated. + # - embed.viewed: Occurs when a card detail is successfully revealed through an + # embed. # - external_bank_account.created: Occurs when an external bank account is # created. # - external_bank_account.updated: Occurs when an external bank account is @@ -398,6 +402,16 @@ module Lithic :"dispute.updated", Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol ) + EMBED_SESSION_GENERATED = + T.let( + :"embed.session_generated", + Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol + ) + EMBED_VIEWED = + T.let( + :"embed.viewed", + Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol + ) EXTERNAL_BANK_ACCOUNT_CREATED = T.let( :"external_bank_account.created", diff --git a/rbi/lithic/models/parsed_webhook_event.rbi b/rbi/lithic/models/parsed_webhook_event.rbi index a7a78543..01b23685 100644 --- a/rbi/lithic/models/parsed_webhook_event.rbi +++ b/rbi/lithic/models/parsed_webhook_event.rbi @@ -43,6 +43,8 @@ module Lithic Lithic::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::DisputeUpdatedWebhookEvent, Lithic::DisputeEvidenceUploadFailedWebhookEvent, + Lithic::EmbedSessionGeneratedWebhookEvent, + Lithic::EmbedViewedWebhookEvent, Lithic::ExternalBankAccountCreatedWebhookEvent, Lithic::ExternalBankAccountUpdatedWebhookEvent, Lithic::ExternalPaymentCreatedWebhookEvent, diff --git a/rbi/lithic/resources/cards.rbi b/rbi/lithic/resources/cards.rbi index dacf2039..55c6f212 100644 --- a/rbi/lithic/resources/cards.rbi +++ b/rbi/lithic/resources/cards.rbi @@ -393,6 +393,9 @@ module Lithic ) end + # **Deprecated.** Use the modern embedded card flow instead: create a session with + # `POST /v1/cards/{card_token}/embed` and render it via `GET /v1/embed`. + # # Handling full card PANs and CVV codes requires that you comply with the Payment # Card Industry Data Security Standards (PCI DSS). Some clients choose to reduce # their compliance obligations by leveraging our embedded card UI solution diff --git a/rbi/lithic/resources/webhooks.rbi b/rbi/lithic/resources/webhooks.rbi index b0449734..4a974358 100644 --- a/rbi/lithic/resources/webhooks.rbi +++ b/rbi/lithic/resources/webhooks.rbi @@ -44,6 +44,8 @@ module Lithic Lithic::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::DisputeUpdatedWebhookEvent, Lithic::DisputeEvidenceUploadFailedWebhookEvent, + Lithic::EmbedSessionGeneratedWebhookEvent, + Lithic::EmbedViewedWebhookEvent, Lithic::ExternalBankAccountCreatedWebhookEvent, Lithic::ExternalBankAccountUpdatedWebhookEvent, Lithic::ExternalPaymentCreatedWebhookEvent, diff --git a/sig/lithic/models.rbs b/sig/lithic/models.rbs index 90535c76..8e2a2904 100644 --- a/sig/lithic/models.rbs +++ b/sig/lithic/models.rbs @@ -241,6 +241,10 @@ module Lithic class Document = Lithic::Models::Document + class EmbedSessionGeneratedWebhookEvent = Lithic::Models::EmbedSessionGeneratedWebhookEvent + + class EmbedViewedWebhookEvent = Lithic::Models::EmbedViewedWebhookEvent + class Event = Lithic::Models::Event class EventListAttemptsParams = Lithic::Models::EventListAttemptsParams diff --git a/sig/lithic/models/embed_session_generated_webhook_event.rbs b/sig/lithic/models/embed_session_generated_webhook_event.rbs new file mode 100644 index 00000000..0e3d3ad9 --- /dev/null +++ b/sig/lithic/models/embed_session_generated_webhook_event.rbs @@ -0,0 +1,66 @@ +module Lithic + module Models + type embed_session_generated_webhook_event = + { + account_token: String, + card_token: String, + device_details: Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails, + event_type: :"embed.session_generated", + session_id: String, + session_type: Lithic::Models::EmbedSessionGeneratedWebhookEvent::session_type + } + + class EmbedSessionGeneratedWebhookEvent < Lithic::Internal::Type::BaseModel + attr_accessor account_token: String + + attr_accessor card_token: String + + attr_accessor device_details: Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails + + attr_accessor event_type: :"embed.session_generated" + + attr_accessor session_id: String + + attr_accessor session_type: Lithic::Models::EmbedSessionGeneratedWebhookEvent::session_type + + def initialize: ( + account_token: String, + card_token: String, + device_details: Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails, + session_id: String, + session_type: Lithic::Models::EmbedSessionGeneratedWebhookEvent::session_type, + ?event_type: :"embed.session_generated" + ) -> void + + def to_hash: -> { + account_token: String, + card_token: String, + device_details: Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails, + event_type: :"embed.session_generated", + session_id: String, + session_type: Lithic::Models::EmbedSessionGeneratedWebhookEvent::session_type + } + + type device_details = { ip_address: String } + + class DeviceDetails < Lithic::Internal::Type::BaseModel + attr_accessor ip_address: String + + def initialize: (ip_address: String) -> void + + def to_hash: -> { ip_address: String } + end + + type session_type = :CARD_EMBED | :PIN_SETTING_EMBED + + module SessionType + extend Lithic::Internal::Type::Enum + + CARD_EMBED: :CARD_EMBED + PIN_SETTING_EMBED: :PIN_SETTING_EMBED + + def self?.values: -> ::Array[Lithic::Models::EmbedSessionGeneratedWebhookEvent::session_type] + end + end + end +end diff --git a/sig/lithic/models/embed_viewed_webhook_event.rbs b/sig/lithic/models/embed_viewed_webhook_event.rbs new file mode 100644 index 00000000..0e57a9e6 --- /dev/null +++ b/sig/lithic/models/embed_viewed_webhook_event.rbs @@ -0,0 +1,68 @@ +module Lithic + module Models + type embed_viewed_webhook_event = + { + account_token: String, + card_token: String, + device_details: Lithic::EmbedViewedWebhookEvent::DeviceDetails, + embed_type: Lithic::Models::EmbedViewedWebhookEvent::embed_type, + event_type: :"embed.viewed", + session_id: String + } + + class EmbedViewedWebhookEvent < Lithic::Internal::Type::BaseModel + attr_accessor account_token: String + + attr_accessor card_token: String + + attr_accessor device_details: Lithic::EmbedViewedWebhookEvent::DeviceDetails + + attr_accessor embed_type: Lithic::Models::EmbedViewedWebhookEvent::embed_type + + attr_accessor event_type: :"embed.viewed" + + attr_accessor session_id: String + + def initialize: ( + account_token: String, + card_token: String, + device_details: Lithic::EmbedViewedWebhookEvent::DeviceDetails, + embed_type: Lithic::Models::EmbedViewedWebhookEvent::embed_type, + session_id: String, + ?event_type: :"embed.viewed" + ) -> void + + def to_hash: -> { + account_token: String, + card_token: String, + device_details: Lithic::EmbedViewedWebhookEvent::DeviceDetails, + embed_type: Lithic::Models::EmbedViewedWebhookEvent::embed_type, + event_type: :"embed.viewed", + session_id: String + } + + type device_details = { ip_address: String } + + class DeviceDetails < Lithic::Internal::Type::BaseModel + attr_accessor ip_address: String + + def initialize: (ip_address: String) -> void + + def to_hash: -> { ip_address: String } + end + + type embed_type = :PAN | :CVV | :EXP_MONTH | :EXP_YEAR + + module EmbedType + extend Lithic::Internal::Type::Enum + + PAN: :PAN + CVV: :CVV + EXP_MONTH: :EXP_MONTH + EXP_YEAR: :EXP_YEAR + + def self?.values: -> ::Array[Lithic::Models::EmbedViewedWebhookEvent::embed_type] + end + end + end +end diff --git a/sig/lithic/models/event.rbs b/sig/lithic/models/event.rbs index 7c0d9592..91af1586 100644 --- a/sig/lithic/models/event.rbs +++ b/sig/lithic/models/event.rbs @@ -64,6 +64,8 @@ module Lithic | :"dispute_transaction.created" | :"dispute_transaction.updated" | :"dispute.updated" + | :"embed.session_generated" + | :"embed.viewed" | :"external_bank_account.created" | :"external_bank_account.updated" | :"external_payment.created" @@ -127,6 +129,8 @@ module Lithic DISPUTE_TRANSACTION_CREATED: :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED: :"dispute_transaction.updated" DISPUTE_UPDATED: :"dispute.updated" + EMBED_SESSION_GENERATED: :"embed.session_generated" + EMBED_VIEWED: :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED: :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED: :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED: :"external_payment.created" diff --git a/sig/lithic/models/event_list_params.rbs b/sig/lithic/models/event_list_params.rbs index 1d636a58..c41a5477 100644 --- a/sig/lithic/models/event_list_params.rbs +++ b/sig/lithic/models/event_list_params.rbs @@ -101,6 +101,8 @@ module Lithic | :"dispute_transaction.created" | :"dispute_transaction.updated" | :"dispute.updated" + | :"embed.session_generated" + | :"embed.viewed" | :"external_bank_account.created" | :"external_bank_account.updated" | :"external_payment.created" @@ -164,6 +166,8 @@ module Lithic DISPUTE_TRANSACTION_CREATED: :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED: :"dispute_transaction.updated" DISPUTE_UPDATED: :"dispute.updated" + EMBED_SESSION_GENERATED: :"embed.session_generated" + EMBED_VIEWED: :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED: :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED: :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED: :"external_payment.created" diff --git a/sig/lithic/models/event_subscription.rbs b/sig/lithic/models/event_subscription.rbs index 26f4d54d..f47b795e 100644 --- a/sig/lithic/models/event_subscription.rbs +++ b/sig/lithic/models/event_subscription.rbs @@ -69,6 +69,8 @@ module Lithic | :"dispute_transaction.created" | :"dispute_transaction.updated" | :"dispute.updated" + | :"embed.session_generated" + | :"embed.viewed" | :"external_bank_account.created" | :"external_bank_account.updated" | :"external_payment.created" @@ -132,6 +134,8 @@ module Lithic DISPUTE_TRANSACTION_CREATED: :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED: :"dispute_transaction.updated" DISPUTE_UPDATED: :"dispute.updated" + EMBED_SESSION_GENERATED: :"embed.session_generated" + EMBED_VIEWED: :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED: :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED: :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED: :"external_payment.created" diff --git a/sig/lithic/models/events/subscription_create_params.rbs b/sig/lithic/models/events/subscription_create_params.rbs index f59147ad..8afcfd98 100644 --- a/sig/lithic/models/events/subscription_create_params.rbs +++ b/sig/lithic/models/events/subscription_create_params.rbs @@ -79,6 +79,8 @@ module Lithic | :"dispute_transaction.created" | :"dispute_transaction.updated" | :"dispute.updated" + | :"embed.session_generated" + | :"embed.viewed" | :"external_bank_account.created" | :"external_bank_account.updated" | :"external_payment.created" @@ -142,6 +144,8 @@ module Lithic DISPUTE_TRANSACTION_CREATED: :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED: :"dispute_transaction.updated" DISPUTE_UPDATED: :"dispute.updated" + EMBED_SESSION_GENERATED: :"embed.session_generated" + EMBED_VIEWED: :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED: :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED: :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED: :"external_payment.created" diff --git a/sig/lithic/models/events/subscription_send_simulated_example_params.rbs b/sig/lithic/models/events/subscription_send_simulated_example_params.rbs index efaaac92..dfb3a7cc 100644 --- a/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +++ b/sig/lithic/models/events/subscription_send_simulated_example_params.rbs @@ -65,6 +65,8 @@ module Lithic | :"dispute_transaction.created" | :"dispute_transaction.updated" | :"dispute.updated" + | :"embed.session_generated" + | :"embed.viewed" | :"external_bank_account.created" | :"external_bank_account.updated" | :"external_payment.created" @@ -128,6 +130,8 @@ module Lithic DISPUTE_TRANSACTION_CREATED: :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED: :"dispute_transaction.updated" DISPUTE_UPDATED: :"dispute.updated" + EMBED_SESSION_GENERATED: :"embed.session_generated" + EMBED_VIEWED: :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED: :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED: :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED: :"external_payment.created" diff --git a/sig/lithic/models/events/subscription_update_params.rbs b/sig/lithic/models/events/subscription_update_params.rbs index d2f6ffe2..df5738ce 100644 --- a/sig/lithic/models/events/subscription_update_params.rbs +++ b/sig/lithic/models/events/subscription_update_params.rbs @@ -84,6 +84,8 @@ module Lithic | :"dispute_transaction.created" | :"dispute_transaction.updated" | :"dispute.updated" + | :"embed.session_generated" + | :"embed.viewed" | :"external_bank_account.created" | :"external_bank_account.updated" | :"external_payment.created" @@ -147,6 +149,8 @@ module Lithic DISPUTE_TRANSACTION_CREATED: :"dispute_transaction.created" DISPUTE_TRANSACTION_UPDATED: :"dispute_transaction.updated" DISPUTE_UPDATED: :"dispute.updated" + EMBED_SESSION_GENERATED: :"embed.session_generated" + EMBED_VIEWED: :"embed.viewed" EXTERNAL_BANK_ACCOUNT_CREATED: :"external_bank_account.created" EXTERNAL_BANK_ACCOUNT_UPDATED: :"external_bank_account.updated" EXTERNAL_PAYMENT_CREATED: :"external_payment.created" diff --git a/sig/lithic/models/parsed_webhook_event.rbs b/sig/lithic/models/parsed_webhook_event.rbs index 262cc435..78c3787a 100644 --- a/sig/lithic/models/parsed_webhook_event.rbs +++ b/sig/lithic/models/parsed_webhook_event.rbs @@ -35,6 +35,8 @@ module Lithic | Lithic::DigitalWalletTokenizationUpdatedWebhookEvent | Lithic::DisputeUpdatedWebhookEvent | Lithic::DisputeEvidenceUploadFailedWebhookEvent + | Lithic::EmbedSessionGeneratedWebhookEvent + | Lithic::EmbedViewedWebhookEvent | Lithic::ExternalBankAccountCreatedWebhookEvent | Lithic::ExternalBankAccountUpdatedWebhookEvent | Lithic::ExternalPaymentCreatedWebhookEvent diff --git a/sig/lithic/resources/webhooks.rbs b/sig/lithic/resources/webhooks.rbs index ba637e58..c5a4a0c1 100644 --- a/sig/lithic/resources/webhooks.rbs +++ b/sig/lithic/resources/webhooks.rbs @@ -39,6 +39,8 @@ module Lithic | Lithic::DigitalWalletTokenizationUpdatedWebhookEvent | Lithic::DisputeUpdatedWebhookEvent | Lithic::DisputeEvidenceUploadFailedWebhookEvent + | Lithic::EmbedSessionGeneratedWebhookEvent + | Lithic::EmbedViewedWebhookEvent | Lithic::ExternalBankAccountCreatedWebhookEvent | Lithic::ExternalBankAccountUpdatedWebhookEvent | Lithic::ExternalPaymentCreatedWebhookEvent From 796975f199c3f8ad5b1646274d243944398c06e8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 22:59:57 +0000 Subject: [PATCH 7/9] fix(types): make optional fields nullable in fraud transaction responses --- .stats.yml | 4 +- lib/lithic/models/event.rb | 4 +- lib/lithic/models/event_list_params.rb | 2 +- lib/lithic/models/event_subscription.rb | 2 +- .../events/subscription_create_params.rb | 2 +- .../events/subscription_update_params.rb | 2 +- .../fraud/transaction_report_response.rb | 16 +++---- .../fraud/transaction_retrieve_response.rb | 18 ++++---- lib/lithic/resources/card_authorizations.rb | 2 +- lib/lithic/resources/three_ds/decisioning.rb | 2 +- rbi/lithic/models/event.rbi | 6 +-- rbi/lithic/models/event_list_params.rbi | 2 +- rbi/lithic/models/event_subscription.rbi | 2 +- .../events/subscription_create_params.rbi | 2 +- .../events/subscription_update_params.rbi | 2 +- .../fraud/transaction_report_response.rbi | 45 +++++++------------ .../fraud/transaction_retrieve_response.rbi | 45 +++++++------------ rbi/lithic/resources/card_authorizations.rbi | 2 +- rbi/lithic/resources/three_ds/decisioning.rbi | 2 +- .../fraud/transaction_report_response.rbs | 42 +++++++---------- .../fraud/transaction_retrieve_response.rbs | 42 +++++++---------- 21 files changed, 101 insertions(+), 145 deletions(-) diff --git a/.stats.yml b/.stats.yml index 6174bfd2..f9ca92ea 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-2d2600072500797474f0d7798c1a8b668bfbc4e0c6a8f076ca7b4cc7ad82058b.yml -openapi_spec_hash: 7605eb6be77a3d150078916f0eb0e9ac +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-6683cf82e93cfd95e17b0386f070333486fe8e7b857b47c62e09682362d5991d.yml +openapi_spec_hash: ce2c1f6201bb2036d05602238503eb6b config_hash: 5bb913c05ebeb301ec925b16e75bb251 diff --git a/lib/lithic/models/event.rb b/lib/lithic/models/event.rb index ada1f21b..ded0b720 100644 --- a/lib/lithic/models/event.rb +++ b/lib/lithic/models/event.rb @@ -131,7 +131,7 @@ class Event < Lithic::Internal::Type::BaseModel # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL @@ -282,7 +282,7 @@ class Event < Lithic::Internal::Type::BaseModel # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/lib/lithic/models/event_list_params.rb b/lib/lithic/models/event_list_params.rb index 725f2f6b..982d688b 100644 --- a/lib/lithic/models/event_list_params.rb +++ b/lib/lithic/models/event_list_params.rb @@ -185,7 +185,7 @@ class EventListParams < Lithic::Internal::Type::BaseModel # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/lib/lithic/models/event_subscription.rb b/lib/lithic/models/event_subscription.rb index bb9b9716..cad4b296 100644 --- a/lib/lithic/models/event_subscription.rb +++ b/lib/lithic/models/event_subscription.rb @@ -158,7 +158,7 @@ class EventSubscription < Lithic::Internal::Type::BaseModel # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/lib/lithic/models/events/subscription_create_params.rb b/lib/lithic/models/events/subscription_create_params.rb index 25c42a7d..2fc41689 100644 --- a/lib/lithic/models/events/subscription_create_params.rb +++ b/lib/lithic/models/events/subscription_create_params.rb @@ -160,7 +160,7 @@ class SubscriptionCreateParams < Lithic::Internal::Type::BaseModel # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/lib/lithic/models/events/subscription_update_params.rb b/lib/lithic/models/events/subscription_update_params.rb index 811a1eb1..f60af3a0 100644 --- a/lib/lithic/models/events/subscription_update_params.rb +++ b/lib/lithic/models/events/subscription_update_params.rb @@ -167,7 +167,7 @@ class SubscriptionUpdateParams < Lithic::Internal::Type::BaseModel # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/lib/lithic/models/fraud/transaction_report_response.rb b/lib/lithic/models/fraud/transaction_report_response.rb index 30f3d331..eccae11f 100644 --- a/lib/lithic/models/fraud/transaction_report_response.rb +++ b/lib/lithic/models/fraud/transaction_report_response.rb @@ -35,13 +35,13 @@ class TransactionReportResponse < Lithic::Internal::Type::BaseModel # Provides additional context or details about the fraud report. # # @return [String, nil] - optional :comment, String + optional :comment, String, nil?: true # @!attribute created_at # Timestamp representing when the fraud report was created. # # @return [Time, nil] - optional :created_at, Time + optional :created_at, Time, nil?: true # @!attribute fraud_type # Specifies the type or category of fraud that the transaction is suspected or @@ -67,13 +67,13 @@ class TransactionReportResponse < Lithic::Internal::Type::BaseModel # often through social engineering tactics. # # @return [Symbol, Lithic::Models::Fraud::TransactionReportResponse::FraudType, nil] - optional :fraud_type, enum: -> { Lithic::Models::Fraud::TransactionReportResponse::FraudType } + optional :fraud_type, enum: -> { Lithic::Models::Fraud::TransactionReportResponse::FraudType }, nil?: true # @!attribute updated_at # Timestamp representing the last update to the fraud report. # # @return [Time, nil] - optional :updated_at, Time + optional :updated_at, Time, nil?: true # @!method initialize(fraud_status:, transaction_token:, comment: nil, created_at: nil, fraud_type: nil, updated_at: nil) # Some parameter documentations has been truncated, see @@ -83,13 +83,13 @@ class TransactionReportResponse < Lithic::Internal::Type::BaseModel # # @param transaction_token [String] The universally unique identifier (UUID) associated with the transaction being r # - # @param comment [String] Provides additional context or details about the fraud report. + # @param comment [String, nil] Provides additional context or details about the fraud report. # - # @param created_at [Time] Timestamp representing when the fraud report was created. + # @param created_at [Time, nil] Timestamp representing when the fraud report was created. # - # @param fraud_type [Symbol, Lithic::Models::Fraud::TransactionReportResponse::FraudType] Specifies the type or category of fraud that the transaction is suspected or con + # @param fraud_type [Symbol, Lithic::Models::Fraud::TransactionReportResponse::FraudType, nil] Specifies the type or category of fraud that the transaction is suspected or con # - # @param updated_at [Time] Timestamp representing the last update to the fraud report. + # @param updated_at [Time, nil] Timestamp representing the last update to the fraud report. # The fraud status of the transaction, string (enum) supporting the following # values: diff --git a/lib/lithic/models/fraud/transaction_retrieve_response.rb b/lib/lithic/models/fraud/transaction_retrieve_response.rb index df1fb69e..4b0a8b39 100644 --- a/lib/lithic/models/fraud/transaction_retrieve_response.rb +++ b/lib/lithic/models/fraud/transaction_retrieve_response.rb @@ -35,13 +35,13 @@ class TransactionRetrieveResponse < Lithic::Internal::Type::BaseModel # Provides additional context or details about the fraud report. # # @return [String, nil] - optional :comment, String + optional :comment, String, nil?: true # @!attribute created_at # Timestamp representing when the fraud report was created. # # @return [Time, nil] - optional :created_at, Time + optional :created_at, Time, nil?: true # @!attribute fraud_type # Specifies the type or category of fraud that the transaction is suspected or @@ -67,13 +67,15 @@ class TransactionRetrieveResponse < Lithic::Internal::Type::BaseModel # often through social engineering tactics. # # @return [Symbol, Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType, nil] - optional :fraud_type, enum: -> { Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType } + optional :fraud_type, + enum: -> { Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType }, + nil?: true # @!attribute updated_at # Timestamp representing the last update to the fraud report. # # @return [Time, nil] - optional :updated_at, Time + optional :updated_at, Time, nil?: true # @!method initialize(fraud_status:, transaction_token:, comment: nil, created_at: nil, fraud_type: nil, updated_at: nil) # Some parameter documentations has been truncated, see @@ -83,13 +85,13 @@ class TransactionRetrieveResponse < Lithic::Internal::Type::BaseModel # # @param transaction_token [String] The universally unique identifier (UUID) associated with the transaction being r # - # @param comment [String] Provides additional context or details about the fraud report. + # @param comment [String, nil] Provides additional context or details about the fraud report. # - # @param created_at [Time] Timestamp representing when the fraud report was created. + # @param created_at [Time, nil] Timestamp representing when the fraud report was created. # - # @param fraud_type [Symbol, Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType] Specifies the type or category of fraud that the transaction is suspected or con + # @param fraud_type [Symbol, Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType, nil] Specifies the type or category of fraud that the transaction is suspected or con # - # @param updated_at [Time] Timestamp representing the last update to the fraud report. + # @param updated_at [Time, nil] Timestamp representing the last update to the fraud report. # The fraud status of the transaction, string (enum) supporting the following # values: diff --git a/lib/lithic/resources/card_authorizations.rb b/lib/lithic/resources/card_authorizations.rb index 14d41cf1..1a96a970 100644 --- a/lib/lithic/resources/card_authorizations.rb +++ b/lib/lithic/resources/card_authorizations.rb @@ -8,7 +8,7 @@ class CardAuthorizations # # Card program's response to Authorization Challenge. Programs that have # Authorization Challenges configured as Out of Band receive a - # [card_authorization.challenge](https://docs.lithic.com/reference/post_card-authorization-challenge) + # [card_authorization.challenge](https://docs.lithic.com/reference/cardauthorizationchallengewebhook) # webhook when an authorization attempt triggers a challenge. The card program # should respond using this endpoint after the cardholder completes the challenge. # diff --git a/lib/lithic/resources/three_ds/decisioning.rb b/lib/lithic/resources/three_ds/decisioning.rb index dbaa8c77..b3702456 100644 --- a/lib/lithic/resources/three_ds/decisioning.rb +++ b/lib/lithic/resources/three_ds/decisioning.rb @@ -9,7 +9,7 @@ class Decisioning # # Card program's response to a 3DS Challenge Request. Challenge Request is emitted # as a webhook - # [three_ds_authentication.challenge](https://docs.lithic.com/reference/post_three-ds-authentication-challenge) + # [three_ds_authentication.challenge](https://docs.lithic.com/reference/threedsauthenticationchallengewebhook) # and your Card Program needs to be configured with Out of Band (OOB) Challenges # in order to receive it (see https://docs.lithic.com/docs/3ds-challenge-flow for # more information). diff --git a/rbi/lithic/models/event.rbi b/rbi/lithic/models/event.rbi index 49af29d2..c45e6def 100644 --- a/rbi/lithic/models/event.rbi +++ b/rbi/lithic/models/event.rbi @@ -127,7 +127,7 @@ module Lithic # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL @@ -277,7 +277,7 @@ module Lithic # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL @@ -423,7 +423,7 @@ module Lithic # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/rbi/lithic/models/event_list_params.rbi b/rbi/lithic/models/event_list_params.rbi index fca09d8d..58b62f1a 100644 --- a/rbi/lithic/models/event_list_params.rbi +++ b/rbi/lithic/models/event_list_params.rbi @@ -236,7 +236,7 @@ module Lithic # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/rbi/lithic/models/event_subscription.rbi b/rbi/lithic/models/event_subscription.rbi index 0fa92090..f82f9ffb 100644 --- a/rbi/lithic/models/event_subscription.rbi +++ b/rbi/lithic/models/event_subscription.rbi @@ -184,7 +184,7 @@ module Lithic # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/rbi/lithic/models/events/subscription_create_params.rbi b/rbi/lithic/models/events/subscription_create_params.rbi index d28d12c5..14cb5824 100644 --- a/rbi/lithic/models/events/subscription_create_params.rbi +++ b/rbi/lithic/models/events/subscription_create_params.rbi @@ -211,7 +211,7 @@ module Lithic # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/rbi/lithic/models/events/subscription_update_params.rbi b/rbi/lithic/models/events/subscription_update_params.rbi index 4dd05de6..f53db066 100644 --- a/rbi/lithic/models/events/subscription_update_params.rbi +++ b/rbi/lithic/models/events/subscription_update_params.rbi @@ -217,7 +217,7 @@ module Lithic # event. Upon receiving this request, the Card Program should issue its own # challenge to the cardholder. After a cardholder challenge is successfully # completed, the Card Program needs to respond back to Lithic by call to - # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/post_v1-three-ds-decisioning-challenge-response). + # [/v1/three_ds_decisioning/challenge_response](https://docs.lithic.com/reference/postthreedschallengeresponse). # Then the cardholder must navigate back to the merchant checkout flow to # complete the transaction. Some merchants will include an `app_requestor_url` # for app-based purchases; Lithic recommends triggering a redirect to that URL diff --git a/rbi/lithic/models/fraud/transaction_report_response.rbi b/rbi/lithic/models/fraud/transaction_report_response.rbi index 2a1c5778..0963e606 100644 --- a/rbi/lithic/models/fraud/transaction_report_response.rbi +++ b/rbi/lithic/models/fraud/transaction_report_response.rbi @@ -40,17 +40,11 @@ module Lithic # Provides additional context or details about the fraud report. sig { returns(T.nilable(String)) } - attr_reader :comment - - sig { params(comment: String).void } - attr_writer :comment + attr_accessor :comment # Timestamp representing when the fraud report was created. sig { returns(T.nilable(Time)) } - attr_reader :created_at - - sig { params(created_at: Time).void } - attr_writer :created_at + attr_accessor :created_at # Specifies the type or category of fraud that the transaction is suspected or # confirmed to involve, string (enum) supporting the following values: @@ -80,33 +74,24 @@ module Lithic ) ) end - attr_reader :fraud_type - - sig do - params( - fraud_type: - Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol - ).void - end - attr_writer :fraud_type + attr_accessor :fraud_type # Timestamp representing the last update to the fraud report. sig { returns(T.nilable(Time)) } - attr_reader :updated_at - - sig { params(updated_at: Time).void } - attr_writer :updated_at + attr_accessor :updated_at sig do params( fraud_status: Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::OrSymbol, transaction_token: String, - comment: String, - created_at: Time, + comment: T.nilable(String), + created_at: T.nilable(Time), fraud_type: - Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol, - updated_at: Time + T.nilable( + Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol + ), + updated_at: T.nilable(Time) ).returns(T.attached_class) end def self.new( @@ -165,11 +150,13 @@ module Lithic fraud_status: Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol, transaction_token: String, - comment: String, - created_at: Time, + comment: T.nilable(String), + created_at: T.nilable(Time), fraud_type: - Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol, - updated_at: Time + T.nilable( + Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol + ), + updated_at: T.nilable(Time) } ) end diff --git a/rbi/lithic/models/fraud/transaction_retrieve_response.rbi b/rbi/lithic/models/fraud/transaction_retrieve_response.rbi index 85312b49..50fcc2d7 100644 --- a/rbi/lithic/models/fraud/transaction_retrieve_response.rbi +++ b/rbi/lithic/models/fraud/transaction_retrieve_response.rbi @@ -40,17 +40,11 @@ module Lithic # Provides additional context or details about the fraud report. sig { returns(T.nilable(String)) } - attr_reader :comment - - sig { params(comment: String).void } - attr_writer :comment + attr_accessor :comment # Timestamp representing when the fraud report was created. sig { returns(T.nilable(Time)) } - attr_reader :created_at - - sig { params(created_at: Time).void } - attr_writer :created_at + attr_accessor :created_at # Specifies the type or category of fraud that the transaction is suspected or # confirmed to involve, string (enum) supporting the following values: @@ -80,33 +74,24 @@ module Lithic ) ) end - attr_reader :fraud_type - - sig do - params( - fraud_type: - Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol - ).void - end - attr_writer :fraud_type + attr_accessor :fraud_type # Timestamp representing the last update to the fraud report. sig { returns(T.nilable(Time)) } - attr_reader :updated_at - - sig { params(updated_at: Time).void } - attr_writer :updated_at + attr_accessor :updated_at sig do params( fraud_status: Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::OrSymbol, transaction_token: String, - comment: String, - created_at: Time, + comment: T.nilable(String), + created_at: T.nilable(Time), fraud_type: - Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol, - updated_at: Time + T.nilable( + Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol + ), + updated_at: T.nilable(Time) ).returns(T.attached_class) end def self.new( @@ -165,11 +150,13 @@ module Lithic fraud_status: Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol, transaction_token: String, - comment: String, - created_at: Time, + comment: T.nilable(String), + created_at: T.nilable(Time), fraud_type: - Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol, - updated_at: Time + T.nilable( + Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol + ), + updated_at: T.nilable(Time) } ) end diff --git a/rbi/lithic/resources/card_authorizations.rbi b/rbi/lithic/resources/card_authorizations.rbi index 1a61b928..3e7cee98 100644 --- a/rbi/lithic/resources/card_authorizations.rbi +++ b/rbi/lithic/resources/card_authorizations.rbi @@ -5,7 +5,7 @@ module Lithic class CardAuthorizations # Card program's response to Authorization Challenge. Programs that have # Authorization Challenges configured as Out of Band receive a - # [card_authorization.challenge](https://docs.lithic.com/reference/post_card-authorization-challenge) + # [card_authorization.challenge](https://docs.lithic.com/reference/cardauthorizationchallengewebhook) # webhook when an authorization attempt triggers a challenge. The card program # should respond using this endpoint after the cardholder completes the challenge. sig do diff --git a/rbi/lithic/resources/three_ds/decisioning.rbi b/rbi/lithic/resources/three_ds/decisioning.rbi index b92ad037..855644bd 100644 --- a/rbi/lithic/resources/three_ds/decisioning.rbi +++ b/rbi/lithic/resources/three_ds/decisioning.rbi @@ -6,7 +6,7 @@ module Lithic class Decisioning # Card program's response to a 3DS Challenge Request. Challenge Request is emitted # as a webhook - # [three_ds_authentication.challenge](https://docs.lithic.com/reference/post_three-ds-authentication-challenge) + # [three_ds_authentication.challenge](https://docs.lithic.com/reference/threedsauthenticationchallengewebhook) # and your Card Program needs to be configured with Out of Band (OOB) Challenges # in order to receive it (see https://docs.lithic.com/docs/3ds-challenge-flow for # more information). diff --git a/sig/lithic/models/fraud/transaction_report_response.rbs b/sig/lithic/models/fraud/transaction_report_response.rbs index 907d34b7..e47608fe 100644 --- a/sig/lithic/models/fraud/transaction_report_response.rbs +++ b/sig/lithic/models/fraud/transaction_report_response.rbs @@ -5,10 +5,10 @@ module Lithic { fraud_status: Lithic::Models::Fraud::TransactionReportResponse::fraud_status, transaction_token: String, - comment: String, - created_at: Time, - fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type, - updated_at: Time + comment: String?, + created_at: Time?, + fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type?, + updated_at: Time? } class TransactionReportResponse < Lithic::Internal::Type::BaseModel @@ -16,40 +16,30 @@ module Lithic attr_accessor transaction_token: String - attr_reader comment: String? + attr_accessor comment: String? - def comment=: (String) -> String + attr_accessor created_at: Time? - attr_reader created_at: Time? + attr_accessor fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type? - def created_at=: (Time) -> Time - - attr_reader fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type? - - def fraud_type=: ( - Lithic::Models::Fraud::TransactionReportResponse::fraud_type - ) -> Lithic::Models::Fraud::TransactionReportResponse::fraud_type - - attr_reader updated_at: Time? - - def updated_at=: (Time) -> Time + attr_accessor updated_at: Time? def initialize: ( fraud_status: Lithic::Models::Fraud::TransactionReportResponse::fraud_status, transaction_token: String, - ?comment: String, - ?created_at: Time, - ?fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type, - ?updated_at: Time + ?comment: String?, + ?created_at: Time?, + ?fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type?, + ?updated_at: Time? ) -> void def to_hash: -> { fraud_status: Lithic::Models::Fraud::TransactionReportResponse::fraud_status, transaction_token: String, - comment: String, - created_at: Time, - fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type, - updated_at: Time + comment: String?, + created_at: Time?, + fraud_type: Lithic::Models::Fraud::TransactionReportResponse::fraud_type?, + updated_at: Time? } type fraud_status = diff --git a/sig/lithic/models/fraud/transaction_retrieve_response.rbs b/sig/lithic/models/fraud/transaction_retrieve_response.rbs index e7d2996c..8bbdcffe 100644 --- a/sig/lithic/models/fraud/transaction_retrieve_response.rbs +++ b/sig/lithic/models/fraud/transaction_retrieve_response.rbs @@ -5,10 +5,10 @@ module Lithic { fraud_status: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_status, transaction_token: String, - comment: String, - created_at: Time, - fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type, - updated_at: Time + comment: String?, + created_at: Time?, + fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type?, + updated_at: Time? } class TransactionRetrieveResponse < Lithic::Internal::Type::BaseModel @@ -16,40 +16,30 @@ module Lithic attr_accessor transaction_token: String - attr_reader comment: String? + attr_accessor comment: String? - def comment=: (String) -> String + attr_accessor created_at: Time? - attr_reader created_at: Time? + attr_accessor fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type? - def created_at=: (Time) -> Time - - attr_reader fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type? - - def fraud_type=: ( - Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type - ) -> Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type - - attr_reader updated_at: Time? - - def updated_at=: (Time) -> Time + attr_accessor updated_at: Time? def initialize: ( fraud_status: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_status, transaction_token: String, - ?comment: String, - ?created_at: Time, - ?fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type, - ?updated_at: Time + ?comment: String?, + ?created_at: Time?, + ?fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type?, + ?updated_at: Time? ) -> void def to_hash: -> { fraud_status: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_status, transaction_token: String, - comment: String, - created_at: Time, - fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type, - updated_at: Time + comment: String?, + created_at: Time?, + fraud_type: Lithic::Models::Fraud::TransactionRetrieveResponse::fraud_type?, + updated_at: Time? } type fraud_status = From eeb4a3228542f9d61966dc4c09987b40bdfdde3d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 06:19:09 +0000 Subject: [PATCH 8/9] feat(api): Extend velocity Custom period cap to 90 days --- .stats.yml | 4 ++-- lib/lithic/models/auth_rules/velocity_limit_period.rb | 2 +- rbi/lithic/models/auth_rules/velocity_limit_period.rbi | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.stats.yml b/.stats.yml index f9ca92ea..757cea68 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-6683cf82e93cfd95e17b0386f070333486fe8e7b857b47c62e09682362d5991d.yml -openapi_spec_hash: ce2c1f6201bb2036d05602238503eb6b +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-46435dfdef99ea1c005a78bab282c859980e1edd5570e781bf3b67dd97ebf545.yml +openapi_spec_hash: fe504df52c793d72df78146d3fb6f3ac config_hash: 5bb913c05ebeb301ec925b16e75bb251 diff --git a/lib/lithic/models/auth_rules/velocity_limit_period.rb b/lib/lithic/models/auth_rules/velocity_limit_period.rb index ce2811f8..d3d14c43 100644 --- a/lib/lithic/models/auth_rules/velocity_limit_period.rb +++ b/lib/lithic/models/auth_rules/velocity_limit_period.rb @@ -24,7 +24,7 @@ module VelocityLimitPeriod class TrailingWindowObject < Lithic::Internal::Type::BaseModel # @!attribute duration # The size of the trailing window to calculate Spend Velocity over in seconds. The - # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). + # minimum value is 10 seconds, and the maximum value is 7776000 seconds (90 days). # # @return [Integer] required :duration, Integer diff --git a/rbi/lithic/models/auth_rules/velocity_limit_period.rbi b/rbi/lithic/models/auth_rules/velocity_limit_period.rbi index 82871b54..1387ed93 100644 --- a/rbi/lithic/models/auth_rules/velocity_limit_period.rbi +++ b/rbi/lithic/models/auth_rules/velocity_limit_period.rbi @@ -28,7 +28,7 @@ module Lithic end # The size of the trailing window to calculate Spend Velocity over in seconds. The - # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). + # minimum value is 10 seconds, and the maximum value is 7776000 seconds (90 days). sig { returns(Integer) } attr_accessor :duration @@ -40,7 +40,7 @@ module Lithic end def self.new( # The size of the trailing window to calculate Spend Velocity over in seconds. The - # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). + # minimum value is 10 seconds, and the maximum value is 7776000 seconds (90 days). duration:, type: :CUSTOM ) From 0e25cba0729318c97c7f48b95cbbb9e2e78e518b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 06:19:41 +0000 Subject: [PATCH 9/9] release: 0.19.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 23 +++++++++++++++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/lithic/version.rb | 2 +- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d661066e..e7562934 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.18.1" + ".": "0.19.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3430c766..882b95c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## 0.19.0 (2026-07-21) + +Full Changelog: [v0.18.1...v0.19.0](https://github.com/lithic-com/lithic-ruby/compare/v0.18.1...v0.19.0) + +### Features + +* **api:** add PAYMENT type to book transfers ([979bd5d](https://github.com/lithic-com/lithic-ruby/commit/979bd5d73e39028767418a470e10fc39cfb9686f)) +* **api:** Extend velocity Custom period cap to 90 days ([eeb4a32](https://github.com/lithic-com/lithic-ruby/commit/eeb4a3228542f9d61966dc4c09987b40bdfdde3d)) +* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([69b6ead](https://github.com/lithic-com/lithic-ruby/commit/69b6ead528e48ca397c5b14bcfd5868d6819aaca)) + + +### Bug Fixes + +* **types:** make optional fields nullable in fraud transaction responses ([796975f](https://github.com/lithic-com/lithic-ruby/commit/796975f199c3f8ad5b1646274d243944398c06e8)) + + +### Documentation + +* Add card embed documentation ([0543caa](https://github.com/lithic-com/lithic-ruby/commit/0543caa4d27cde3479e6a3536cdd037073940f03)) +* **api:** clarify simulate_clearing supports multiple calls in transactions ([7a7e783](https://github.com/lithic-com/lithic-ruby/commit/7a7e78338a405f4edb463df0de5f64cf157c0334)) +* **api:** expand dispute event descriptions across Event and subscription models ([4db3479](https://github.com/lithic-com/lithic-ruby/commit/4db3479aaf148f8f3ea7e16ea89eb3c275fe963e)) +* **api:** update category parameter description in external_payments ([db7d72a](https://github.com/lithic-com/lithic-ruby/commit/db7d72a41aaee552817197d85b7989d85f6399c3)) + ## 0.18.1 (2026-06-29) Full Changelog: [v0.18.0...v0.18.1](https://github.com/lithic-com/lithic-ruby/compare/v0.18.0...v0.18.1) diff --git a/Gemfile.lock b/Gemfile.lock index a7cb7ed6..310ca168 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - lithic (0.18.1) + lithic (0.19.0) cgi connection_pool diff --git a/README.md b/README.md index 6589f4f8..18e8a51b 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "lithic", "~> 0.18.1" +gem "lithic", "~> 0.19.0" ``` diff --git a/lib/lithic/version.rb b/lib/lithic/version.rb index ce2aa0c5..2a47352e 100644 --- a/lib/lithic/version.rb +++ b/lib/lithic/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Lithic - VERSION = "0.18.1" + VERSION = "0.19.0" end