lithic 0.1.0.pre.alpha.40 → 0.1.0.pre.alpha.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/transport/base_client.rb +1 -1
  6. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -9
  7. data/lib/lithic/internal/type/array_of.rb +1 -0
  8. data/lib/lithic/internal/type/base_model.rb +3 -1
  9. data/lib/lithic/internal/type/converter.rb +27 -0
  10. data/lib/lithic/internal/type/hash_of.rb +1 -0
  11. data/lib/lithic/internal/type/union.rb +9 -7
  12. data/lib/lithic/internal/util.rb +1 -1
  13. data/lib/lithic/models/account_activity_list_params.rb +158 -0
  14. data/lib/lithic/models/account_activity_list_response.rb +1435 -0
  15. data/lib/lithic/models/account_activity_retrieve_transaction_params.rb +14 -0
  16. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1451 -0
  17. data/lib/lithic/models/account_holder.rb +16 -19
  18. data/lib/lithic/models/account_holder_create_params.rb +41 -47
  19. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -3
  20. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +25 -20
  21. data/lib/lithic/models/account_holder_update_params.rb +2 -6
  22. data/lib/lithic/models/account_holder_update_response.rb +25 -20
  23. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +5 -1
  24. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +8 -12
  25. data/lib/lithic/models/auth_rules/v2_apply_params.rb +13 -5
  26. data/lib/lithic/models/auth_rules/v2_apply_response.rb +510 -18
  27. data/lib/lithic/models/auth_rules/v2_create_params.rb +283 -16
  28. data/lib/lithic/models/auth_rules/v2_create_response.rb +510 -18
  29. data/lib/lithic/models/auth_rules/v2_draft_params.rb +239 -3
  30. data/lib/lithic/models/auth_rules/v2_draft_response.rb +510 -18
  31. data/lib/lithic/models/auth_rules/v2_list_params.rb +11 -1
  32. data/lib/lithic/models/auth_rules/v2_list_response.rb +510 -18
  33. data/lib/lithic/models/auth_rules/v2_promote_response.rb +510 -18
  34. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +510 -18
  35. data/lib/lithic/models/auth_rules/v2_update_params.rb +1 -9
  36. data/lib/lithic/models/auth_rules/v2_update_response.rb +510 -18
  37. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +4 -16
  38. data/lib/lithic/models/book_transfer_create_params.rb +34 -6
  39. data/lib/lithic/models/book_transfer_response.rb +124 -28
  40. data/lib/lithic/models/document.rb +1 -3
  41. data/lib/lithic/models/event.rb +6 -0
  42. data/lib/lithic/models/event_list_params.rb +2 -0
  43. data/lib/lithic/models/event_subscription.rb +2 -0
  44. data/lib/lithic/models/events/subscription_create_params.rb +3 -3
  45. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -0
  46. data/lib/lithic/models/events/subscription_update_params.rb +3 -3
  47. data/lib/lithic/models/external_bank_account_list_params.rb +2 -6
  48. data/lib/lithic/models/external_payment.rb +89 -48
  49. data/lib/lithic/models/financial_account.rb +1 -0
  50. data/lib/lithic/models/financial_accounts/loan_tape.rb +5 -18
  51. data/lib/lithic/models/financial_accounts/statement.rb +3 -10
  52. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +2 -7
  53. data/lib/lithic/models/financial_transaction.rb +2 -0
  54. data/lib/lithic/models/instance_financial_account_type.rb +1 -0
  55. data/lib/lithic/models/kyb.rb +2 -2
  56. data/lib/lithic/models/management_operation_transaction.rb +90 -63
  57. data/lib/lithic/models/payment.rb +60 -1
  58. data/lib/lithic/models/reports/settlement_list_details_params.rb +2 -2
  59. data/lib/lithic/models/settlement_detail.rb +1 -0
  60. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +173 -38
  61. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +1 -4
  62. data/lib/lithic/models/tokenization.rb +1 -1
  63. data/lib/lithic/models/transaction.rb +4 -0
  64. data/lib/lithic/models/transactions/events/enhanced_data.rb +3 -11
  65. data/lib/lithic/models/transfer.rb +2 -0
  66. data/lib/lithic/models/wire_party_details.rb +40 -0
  67. data/lib/lithic/models.rb +6 -0
  68. data/lib/lithic/resources/account_activity.rb +80 -0
  69. data/lib/lithic/resources/account_holders.rb +9 -9
  70. data/lib/lithic/resources/auth_rules/v2/backtests.rb +3 -3
  71. data/lib/lithic/resources/auth_rules/v2.rb +19 -13
  72. data/lib/lithic/resources/book_transfers.rb +7 -3
  73. data/lib/lithic/resources/reports/settlement.rb +1 -1
  74. data/lib/lithic/resources/tokenizations.rb +2 -2
  75. data/lib/lithic/version.rb +1 -1
  76. data/lib/lithic.rb +7 -2
  77. data/rbi/lithic/client.rbi +3 -0
  78. data/rbi/lithic/errors.rbi +2 -2
  79. data/rbi/lithic/internal/transport/base_client.rbi +1 -1
  80. data/rbi/lithic/internal/type/converter.rbi +46 -0
  81. data/rbi/lithic/internal/type/union.rbi +7 -2
  82. data/rbi/lithic/models/account_activity_list_params.rbi +347 -0
  83. data/rbi/lithic/models/account_activity_list_response.rbi +3367 -0
  84. data/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi +30 -0
  85. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +3369 -0
  86. data/rbi/lithic/models/account_holder.rbi +21 -23
  87. data/rbi/lithic/models/account_holder_create_params.rbi +87 -65
  88. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +36 -30
  89. data/rbi/lithic/models/account_holder_update_response.rbi +36 -30
  90. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +20 -0
  91. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +20 -0
  92. data/rbi/lithic/models/auth_rules/v2_apply_params.rbi +19 -5
  93. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +1128 -18
  94. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +646 -21
  95. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +1128 -18
  96. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +554 -4
  97. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +1128 -18
  98. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +18 -0
  99. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +1128 -18
  100. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +1128 -18
  101. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +1128 -18
  102. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +0 -11
  103. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +1128 -18
  104. data/rbi/lithic/models/book_transfer_create_params.rbi +75 -5
  105. data/rbi/lithic/models/book_transfer_response.rbi +320 -38
  106. data/rbi/lithic/models/event.rbi +16 -0
  107. data/rbi/lithic/models/event_list_params.rbi +10 -0
  108. data/rbi/lithic/models/event_subscription.rbi +10 -0
  109. data/rbi/lithic/models/events/subscription_create_params.rbi +10 -0
  110. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +10 -0
  111. data/rbi/lithic/models/events/subscription_update_params.rbi +10 -0
  112. data/rbi/lithic/models/external_payment.rbi +147 -60
  113. data/rbi/lithic/models/financial_account.rbi +5 -0
  114. data/rbi/lithic/models/financial_transaction.rbi +1 -0
  115. data/rbi/lithic/models/instance_financial_account_type.rbi +5 -0
  116. data/rbi/lithic/models/kyb.rbi +2 -2
  117. data/rbi/lithic/models/management_operation_transaction.rbi +226 -95
  118. data/rbi/lithic/models/payment.rbi +103 -3
  119. data/rbi/lithic/models/reports/settlement_list_details_params.rbi +2 -2
  120. data/rbi/lithic/models/settlement_detail.rbi +2 -0
  121. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +267 -60
  122. data/rbi/lithic/models/transaction.rbi +17 -0
  123. data/rbi/lithic/models/transfer.rbi +1 -0
  124. data/rbi/lithic/models/wire_party_details.rbi +61 -0
  125. data/rbi/lithic/models.rbi +7 -0
  126. data/rbi/lithic/resources/account_activity.rbi +80 -0
  127. data/rbi/lithic/resources/account_holders.rbi +28 -29
  128. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +3 -3
  129. data/rbi/lithic/resources/auth_rules/v2.rbi +28 -14
  130. data/rbi/lithic/resources/book_transfers.rbi +9 -2
  131. data/rbi/lithic/resources/reports/settlement.rbi +1 -1
  132. data/rbi/lithic/resources/tokenizations.rbi +1 -1
  133. data/sig/lithic/client.rbs +2 -0
  134. data/sig/lithic/internal/transport/base_client.rbs +1 -1
  135. data/sig/lithic/internal/type/converter.rbs +17 -0
  136. data/sig/lithic/internal/type/union.rbs +2 -2
  137. data/sig/lithic/models/account_activity_list_params.rbs +173 -0
  138. data/sig/lithic/models/account_activity_list_response.rbs +1353 -0
  139. data/sig/lithic/models/account_activity_retrieve_transaction_params.rbs +15 -0
  140. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +1353 -0
  141. data/sig/lithic/models/account_holder_create_params.rbs +33 -19
  142. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +10 -3
  143. data/sig/lithic/models/account_holder_update_response.rbs +10 -3
  144. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +8 -0
  145. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +8 -0
  146. data/sig/lithic/models/auth_rules/v2_apply_params.rbs +11 -2
  147. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +317 -2
  148. data/sig/lithic/models/auth_rules/v2_create_params.rbs +188 -4
  149. data/sig/lithic/models/auth_rules/v2_create_response.rbs +317 -2
  150. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +155 -0
  151. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +317 -2
  152. data/sig/lithic/models/auth_rules/v2_list_params.rbs +10 -1
  153. data/sig/lithic/models/auth_rules/v2_list_response.rbs +317 -2
  154. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +317 -2
  155. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +317 -2
  156. data/sig/lithic/models/auth_rules/v2_update_params.rbs +0 -7
  157. data/sig/lithic/models/auth_rules/v2_update_response.rbs +317 -2
  158. data/sig/lithic/models/book_transfer_create_params.rbs +30 -1
  159. data/sig/lithic/models/book_transfer_response.rbs +134 -15
  160. data/sig/lithic/models/event.rbs +4 -0
  161. data/sig/lithic/models/event_list_params.rbs +4 -0
  162. data/sig/lithic/models/event_subscription.rbs +4 -0
  163. data/sig/lithic/models/events/subscription_create_params.rbs +4 -0
  164. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +4 -0
  165. data/sig/lithic/models/events/subscription_update_params.rbs +4 -0
  166. data/sig/lithic/models/external_payment.rbs +91 -40
  167. data/sig/lithic/models/financial_account.rbs +2 -0
  168. data/sig/lithic/models/instance_financial_account_type.rbs +2 -0
  169. data/sig/lithic/models/management_operation_transaction.rbs +95 -44
  170. data/sig/lithic/models/payment.rbs +61 -3
  171. data/sig/lithic/models/settlement_detail.rbs +2 -0
  172. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +110 -23
  173. data/sig/lithic/models/transaction.rbs +10 -2
  174. data/sig/lithic/models/wire_party_details.rbs +35 -0
  175. data/sig/lithic/models.rbs +6 -0
  176. data/sig/lithic/resources/account_activity.rbs +27 -0
  177. data/sig/lithic/resources/account_holders.rbs +3 -3
  178. data/sig/lithic/resources/auth_rules/v2.rbs +6 -3
  179. data/sig/lithic/resources/book_transfers.rbs +2 -0
  180. data/sig/lithic/resources/tokenizations.rbs +1 -1
  181. metadata +20 -5
  182. data/lib/lithic/models/tokenization_retrieve_response.rb +0 -16
  183. data/rbi/lithic/models/tokenization_retrieve_response.rbi +0 -31
  184. data/sig/lithic/models/tokenization_retrieve_response.rbs +0 -15
@@ -957,26 +957,6 @@ module Lithic
957
957
  )
958
958
  end
959
959
 
960
- # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field
961
- # `acquirerMerchantId`.
962
- sig { returns(String) }
963
- attr_accessor :id
964
-
965
- # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS
966
- # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code
967
- # (e.g., USA).
968
- sig { returns(String) }
969
- attr_accessor :country
970
-
971
- # Merchant category code assigned to the merchant that describes its business
972
- # activity type. Maps to EMV 3DS field `mcc`.
973
- sig { returns(String) }
974
- attr_accessor :mcc
975
-
976
- # Name of the merchant. Maps to EMV 3DS field `merchantName`.
977
- sig { returns(String) }
978
- attr_accessor :name
979
-
980
960
  # Object containing additional data indicating additional risk factors related to
981
961
  # the e-commerce transaction.
982
962
  sig do
@@ -994,46 +974,70 @@ module Lithic
994
974
  end
995
975
  attr_writer :risk_indicator
996
976
 
977
+ # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field
978
+ # `acquirerMerchantId`. May not be present for non-payment authentications.
979
+ sig { returns(T.nilable(String)) }
980
+ attr_accessor :id
981
+
982
+ # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS
983
+ # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code
984
+ # (e.g., USA). May not be present for non-payment authentications.
985
+ sig { returns(T.nilable(String)) }
986
+ attr_accessor :country
987
+
988
+ # Merchant category code assigned to the merchant that describes its business
989
+ # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment
990
+ # authentications.
991
+ sig { returns(T.nilable(String)) }
992
+ attr_accessor :mcc
993
+
994
+ # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present
995
+ # for non-payment authentications.
996
+ sig { returns(T.nilable(String)) }
997
+ attr_accessor :name
998
+
997
999
  # Object containing data about the merchant involved in the e-commerce
998
1000
  # transaction.
999
1001
  sig do
1000
1002
  params(
1001
- id: String,
1002
- country: String,
1003
- mcc: String,
1004
- name: String,
1005
1003
  risk_indicator:
1006
- Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrHash
1004
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrHash,
1005
+ id: T.nilable(String),
1006
+ country: T.nilable(String),
1007
+ mcc: T.nilable(String),
1008
+ name: T.nilable(String)
1007
1009
  ).returns(T.attached_class)
1008
1010
  end
1009
1011
  def self.new(
1012
+ # Object containing additional data indicating additional risk factors related to
1013
+ # the e-commerce transaction.
1014
+ risk_indicator:,
1010
1015
  # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field
1011
- # `acquirerMerchantId`.
1012
- id:,
1016
+ # `acquirerMerchantId`. May not be present for non-payment authentications.
1017
+ id: nil,
1013
1018
  # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS
1014
1019
  # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code
1015
- # (e.g., USA).
1016
- country:,
1020
+ # (e.g., USA). May not be present for non-payment authentications.
1021
+ country: nil,
1017
1022
  # Merchant category code assigned to the merchant that describes its business
1018
- # activity type. Maps to EMV 3DS field `mcc`.
1019
- mcc:,
1020
- # Name of the merchant. Maps to EMV 3DS field `merchantName`.
1021
- name:,
1022
- # Object containing additional data indicating additional risk factors related to
1023
- # the e-commerce transaction.
1024
- risk_indicator:
1023
+ # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment
1024
+ # authentications.
1025
+ mcc: nil,
1026
+ # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present
1027
+ # for non-payment authentications.
1028
+ name: nil
1025
1029
  )
1026
1030
  end
1027
1031
 
1028
1032
  sig do
1029
1033
  override.returns(
1030
1034
  {
1031
- id: String,
1032
- country: String,
1033
- mcc: String,
1034
- name: String,
1035
1035
  risk_indicator:
1036
- Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator
1036
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator,
1037
+ id: T.nilable(String),
1038
+ country: T.nilable(String),
1039
+ mcc: T.nilable(String),
1040
+ name: T.nilable(String)
1037
1041
  }
1038
1042
  )
1039
1043
  end
@@ -1624,38 +1628,114 @@ module Lithic
1624
1628
  )
1625
1629
  end
1626
1630
 
1627
- # Device information gathered from the cardholder's device - JSON name/value pairs
1628
- # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`.
1631
+ # Device model: e.g. "Apple iPhone 16".
1632
+ sig { returns(T.nilable(String)) }
1633
+ attr_accessor :device
1634
+
1635
+ # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field
1636
+ # `deviceInfo`.
1629
1637
  sig { returns(T.nilable(String)) }
1630
1638
  attr_accessor :device_info
1631
1639
 
1632
- # External IP address used by the app generating the 3DS authentication request.
1633
- # Maps to EMV 3DS field `appIp`.
1640
+ # IP address of the device.
1634
1641
  sig { returns(T.nilable(String)) }
1635
1642
  attr_reader :ip
1636
1643
 
1637
1644
  sig { params(ip: String).void }
1638
1645
  attr_writer :ip
1639
1646
 
1647
+ # Latitude coordinate of current device location.
1648
+ sig { returns(T.nilable(Float)) }
1649
+ attr_accessor :latitude
1650
+
1651
+ # Device locale: e.g. "en-US".
1652
+ sig { returns(T.nilable(String)) }
1653
+ attr_accessor :locale
1654
+
1655
+ # Longitude coordinate of current device location.
1656
+ sig { returns(T.nilable(Float)) }
1657
+ attr_accessor :longitude
1658
+
1659
+ # Operating System: e.g. "Android 12", "iOS 17.1".
1660
+ sig { returns(T.nilable(String)) }
1661
+ attr_accessor :os
1662
+
1663
+ # Device platform: Android, iOS, Windows, etc.
1664
+ sig { returns(T.nilable(String)) }
1665
+ attr_accessor :platform
1666
+
1667
+ # Screen height in pixels.
1668
+ sig { returns(T.nilable(Integer)) }
1669
+ attr_accessor :screen_height
1670
+
1671
+ # Screen width in pixels.
1672
+ sig { returns(T.nilable(Integer)) }
1673
+ attr_accessor :screen_width
1674
+
1675
+ # Time zone offset in minutes between UTC and device local time.
1676
+ sig { returns(T.nilable(String)) }
1677
+ attr_accessor :time_zone
1678
+
1640
1679
  # Object containing data about the app used in the e-commerce transaction. Present
1641
1680
  # if the channel is 'APP_BASED'.
1642
1681
  sig do
1643
- params(device_info: T.nilable(String), ip: String).returns(
1644
- T.attached_class
1645
- )
1682
+ params(
1683
+ device: T.nilable(String),
1684
+ device_info: T.nilable(String),
1685
+ ip: String,
1686
+ latitude: T.nilable(Float),
1687
+ locale: T.nilable(String),
1688
+ longitude: T.nilable(Float),
1689
+ os: T.nilable(String),
1690
+ platform: T.nilable(String),
1691
+ screen_height: T.nilable(Integer),
1692
+ screen_width: T.nilable(Integer),
1693
+ time_zone: T.nilable(String)
1694
+ ).returns(T.attached_class)
1646
1695
  end
1647
1696
  def self.new(
1648
- # Device information gathered from the cardholder's device - JSON name/value pairs
1649
- # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`.
1697
+ # Device model: e.g. "Apple iPhone 16".
1698
+ device: nil,
1699
+ # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field
1700
+ # `deviceInfo`.
1650
1701
  device_info: nil,
1651
- # External IP address used by the app generating the 3DS authentication request.
1652
- # Maps to EMV 3DS field `appIp`.
1653
- ip: nil
1702
+ # IP address of the device.
1703
+ ip: nil,
1704
+ # Latitude coordinate of current device location.
1705
+ latitude: nil,
1706
+ # Device locale: e.g. "en-US".
1707
+ locale: nil,
1708
+ # Longitude coordinate of current device location.
1709
+ longitude: nil,
1710
+ # Operating System: e.g. "Android 12", "iOS 17.1".
1711
+ os: nil,
1712
+ # Device platform: Android, iOS, Windows, etc.
1713
+ platform: nil,
1714
+ # Screen height in pixels.
1715
+ screen_height: nil,
1716
+ # Screen width in pixels.
1717
+ screen_width: nil,
1718
+ # Time zone offset in minutes between UTC and device local time.
1719
+ time_zone: nil
1654
1720
  )
1655
1721
  end
1656
1722
 
1657
1723
  sig do
1658
- override.returns({ device_info: T.nilable(String), ip: String })
1724
+ override.returns(
1725
+ {
1726
+ device: T.nilable(String),
1727
+ device_info: T.nilable(String),
1728
+ ip: String,
1729
+ latitude: T.nilable(Float),
1730
+ locale: T.nilable(String),
1731
+ longitude: T.nilable(Float),
1732
+ os: T.nilable(String),
1733
+ platform: T.nilable(String),
1734
+ screen_height: T.nilable(Integer),
1735
+ screen_width: T.nilable(Integer),
1736
+ time_zone: T.nilable(String)
1737
+ }
1738
+ )
1659
1739
  end
1660
1740
  def to_hash
1661
1741
  end
@@ -1772,9 +1852,8 @@ module Lithic
1772
1852
  sig { returns(T.nilable(String)) }
1773
1853
  attr_accessor :language
1774
1854
 
1775
- # Time zone of the cardholder's browser offset in minutes between UTC and the
1776
- # cardholder browser's local time. The offset is positive if the local time is
1777
- # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`.
1855
+ # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS
1856
+ # field `browserTz`.
1778
1857
  sig { returns(T.nilable(String)) }
1779
1858
  attr_accessor :time_zone
1780
1859
 
@@ -1811,9 +1890,8 @@ module Lithic
1811
1890
  # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS
1812
1891
  # field `browserLanguage`.
1813
1892
  language: nil,
1814
- # Time zone of the cardholder's browser offset in minutes between UTC and the
1815
- # cardholder browser's local time. The offset is positive if the local time is
1816
- # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`.
1893
+ # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS
1894
+ # field `browserTz`.
1817
1895
  time_zone: nil,
1818
1896
  # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`.
1819
1897
  user_agent: nil
@@ -1854,6 +1932,29 @@ module Lithic
1854
1932
  end
1855
1933
  attr_accessor :method_type
1856
1934
 
1935
+ # Indicates the status of the challenge
1936
+ #
1937
+ # - SUCCESS - Cardholder completed the challenge successfully
1938
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
1939
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
1940
+ # provided phone number. Relevant only for SMS_OTP method
1941
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
1942
+ # given challenge TTL
1943
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
1944
+ # "cancel" on the challenge UI
1945
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
1946
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
1947
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
1948
+ # more than the allowed number of times
1949
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
1950
+ # - ERROR - The challenge failed for a reason different than those documented
1951
+ sig do
1952
+ returns(
1953
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
1954
+ )
1955
+ end
1956
+ attr_accessor :status
1957
+
1857
1958
  # The phone number used for delivering the OTP. Relevant only for SMS_OTP method.
1858
1959
  sig { returns(T.nilable(String)) }
1859
1960
  attr_accessor :phone_number
@@ -1864,12 +1965,31 @@ module Lithic
1864
1965
  params(
1865
1966
  method_type:
1866
1967
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::OrSymbol,
1968
+ status:
1969
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::OrSymbol,
1867
1970
  phone_number: T.nilable(String)
1868
1971
  ).returns(T.attached_class)
1869
1972
  end
1870
1973
  def self.new(
1871
1974
  # The type of challenge method used for authentication.
1872
1975
  method_type:,
1976
+ # Indicates the status of the challenge
1977
+ #
1978
+ # - SUCCESS - Cardholder completed the challenge successfully
1979
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
1980
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
1981
+ # provided phone number. Relevant only for SMS_OTP method
1982
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
1983
+ # given challenge TTL
1984
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
1985
+ # "cancel" on the challenge UI
1986
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
1987
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
1988
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
1989
+ # more than the allowed number of times
1990
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
1991
+ # - ERROR - The challenge failed for a reason different than those documented
1992
+ status:,
1873
1993
  # The phone number used for delivering the OTP. Relevant only for SMS_OTP method.
1874
1994
  phone_number: nil
1875
1995
  )
@@ -1880,6 +2000,8 @@ module Lithic
1880
2000
  {
1881
2001
  method_type:
1882
2002
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol,
2003
+ status:
2004
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol,
1883
2005
  phone_number: T.nilable(String)
1884
2006
  }
1885
2007
  )
@@ -1921,6 +2043,91 @@ module Lithic
1921
2043
  def self.values
1922
2044
  end
1923
2045
  end
2046
+
2047
+ # Indicates the status of the challenge
2048
+ #
2049
+ # - SUCCESS - Cardholder completed the challenge successfully
2050
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
2051
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
2052
+ # provided phone number. Relevant only for SMS_OTP method
2053
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
2054
+ # given challenge TTL
2055
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
2056
+ # "cancel" on the challenge UI
2057
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
2058
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
2059
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
2060
+ # more than the allowed number of times
2061
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
2062
+ # - ERROR - The challenge failed for a reason different than those documented
2063
+ module Status
2064
+ extend Lithic::Internal::Type::Enum
2065
+
2066
+ TaggedSymbol =
2067
+ T.type_alias do
2068
+ T.all(
2069
+ Symbol,
2070
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status
2071
+ )
2072
+ end
2073
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2074
+
2075
+ SUCCESS =
2076
+ T.let(
2077
+ :SUCCESS,
2078
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2079
+ )
2080
+ PENDING =
2081
+ T.let(
2082
+ :PENDING,
2083
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2084
+ )
2085
+ SMS_DELIVERY_FAILED =
2086
+ T.let(
2087
+ :SMS_DELIVERY_FAILED,
2088
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2089
+ )
2090
+ CARDHOLDER_TIMEOUT =
2091
+ T.let(
2092
+ :CARDHOLDER_TIMEOUT,
2093
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2094
+ )
2095
+ CANCELED_VIA_CHALLENGE_UI =
2096
+ T.let(
2097
+ :CANCELED_VIA_CHALLENGE_UI,
2098
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2099
+ )
2100
+ CANCELED_OOB =
2101
+ T.let(
2102
+ :CANCELED_OOB,
2103
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2104
+ )
2105
+ ATTEMPTS_EXCEEDED =
2106
+ T.let(
2107
+ :ATTEMPTS_EXCEEDED,
2108
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2109
+ )
2110
+ ABORTED =
2111
+ T.let(
2112
+ :ABORTED,
2113
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2114
+ )
2115
+ ERROR =
2116
+ T.let(
2117
+ :ERROR,
2118
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2119
+ )
2120
+
2121
+ sig do
2122
+ override.returns(
2123
+ T::Array[
2124
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2125
+ ]
2126
+ )
2127
+ end
2128
+ def self.values
2129
+ end
2130
+ end
1924
2131
  end
1925
2132
 
1926
2133
  # Entity that orchestrates the challenge. This won't be set for authentications
@@ -1813,6 +1813,8 @@ module Lithic
1813
1813
  T.type_alias { T.all(Symbol, Lithic::Transaction::Result) }
1814
1814
  OrSymbol = T.type_alias { T.any(Symbol, String) }
1815
1815
 
1816
+ ACCOUNT_PAUSED =
1817
+ T.let(:ACCOUNT_PAUSED, Lithic::Transaction::Result::TaggedSymbol)
1816
1818
  ACCOUNT_STATE_TRANSACTION_FAIL =
1817
1819
  T.let(
1818
1820
  :ACCOUNT_STATE_TRANSACTION_FAIL,
@@ -2424,6 +2426,11 @@ module Lithic
2424
2426
  :ACCOUNT_MONTHLY_SPEND_LIMIT_EXCEEDED,
2425
2427
  Lithic::Transaction::Event::DetailedResult::TaggedSymbol
2426
2428
  )
2429
+ ACCOUNT_PAUSED =
2430
+ T.let(
2431
+ :ACCOUNT_PAUSED,
2432
+ Lithic::Transaction::Event::DetailedResult::TaggedSymbol
2433
+ )
2427
2434
  ACCOUNT_UNDER_REVIEW =
2428
2435
  T.let(
2429
2436
  :ACCOUNT_UNDER_REVIEW,
@@ -3069,6 +3076,11 @@ module Lithic
3069
3076
  T.type_alias { T.all(Symbol, Lithic::Transaction::Event::Result) }
3070
3077
  OrSymbol = T.type_alias { T.any(Symbol, String) }
3071
3078
 
3079
+ ACCOUNT_PAUSED =
3080
+ T.let(
3081
+ :ACCOUNT_PAUSED,
3082
+ Lithic::Transaction::Event::Result::TaggedSymbol
3083
+ )
3072
3084
  ACCOUNT_STATE_TRANSACTION_FAIL =
3073
3085
  T.let(
3074
3086
  :ACCOUNT_STATE_TRANSACTION_FAIL,
@@ -3292,6 +3304,11 @@ module Lithic
3292
3304
  :ACCOUNT_MONTHLY_SPEND_LIMIT_EXCEEDED,
3293
3305
  Lithic::Transaction::Event::RuleResult::Result::TaggedSymbol
3294
3306
  )
3307
+ ACCOUNT_PAUSED =
3308
+ T.let(
3309
+ :ACCOUNT_PAUSED,
3310
+ Lithic::Transaction::Event::RuleResult::Result::TaggedSymbol
3311
+ )
3295
3312
  ACCOUNT_UNDER_REVIEW =
3296
3313
  T.let(
3297
3314
  :ACCOUNT_UNDER_REVIEW,
@@ -260,6 +260,7 @@ module Lithic
260
260
  sig { params(type: Lithic::Transfer::Event::Type::OrSymbol).void }
261
261
  attr_writer :type
262
262
 
263
+ # Financial Event
263
264
  sig do
264
265
  params(
265
266
  token: String,
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class WirePartyDetails < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Lithic::WirePartyDetails, Lithic::Internal::AnyHash)
9
+ end
10
+
11
+ # Account number
12
+ sig { returns(T.nilable(String)) }
13
+ attr_accessor :account_number
14
+
15
+ # Routing number or BIC of the financial institution
16
+ sig { returns(T.nilable(String)) }
17
+ attr_accessor :agent_id
18
+
19
+ # Name of the financial institution
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :agent_name
22
+
23
+ # Name of the person or company
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :name
26
+
27
+ sig do
28
+ params(
29
+ account_number: T.nilable(String),
30
+ agent_id: T.nilable(String),
31
+ agent_name: T.nilable(String),
32
+ name: T.nilable(String)
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Account number
37
+ account_number: nil,
38
+ # Routing number or BIC of the financial institution
39
+ agent_id: nil,
40
+ # Name of the financial institution
41
+ agent_name: nil,
42
+ # Name of the person or company
43
+ name: nil
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ account_number: T.nilable(String),
51
+ agent_id: T.nilable(String),
52
+ agent_name: T.nilable(String),
53
+ name: T.nilable(String)
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end
@@ -3,6 +3,11 @@
3
3
  module Lithic
4
4
  Account = Lithic::Models::Account
5
5
 
6
+ AccountActivityListParams = Lithic::Models::AccountActivityListParams
7
+
8
+ AccountActivityRetrieveTransactionParams =
9
+ Lithic::Models::AccountActivityRetrieveTransactionParams
10
+
6
11
  AccountFinancialAccountType = Lithic::Models::AccountFinancialAccountType
7
12
 
8
13
  AccountHolder = Lithic::Models::AccountHolder
@@ -378,4 +383,6 @@ module Lithic
378
383
  TransferCreateParams = Lithic::Models::TransferCreateParams
379
384
 
380
385
  VerificationMethod = Lithic::Models::VerificationMethod
386
+
387
+ WirePartyDetails = Lithic::Models::WirePartyDetails
381
388
  end
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class AccountActivity
6
+ # Retrieve a list of transactions across all public accounts.
7
+ sig do
8
+ params(
9
+ account_token: String,
10
+ begin_: Time,
11
+ business_account_token: String,
12
+ category: Lithic::AccountActivityListParams::Category::OrSymbol,
13
+ end_: Time,
14
+ ending_before: String,
15
+ financial_account_token: String,
16
+ page_size: Integer,
17
+ result: Lithic::AccountActivityListParams::Result::OrSymbol,
18
+ starting_after: String,
19
+ status: Lithic::AccountActivityListParams::Status::OrSymbol,
20
+ request_options: Lithic::RequestOptions::OrHash
21
+ ).returns(
22
+ Lithic::Internal::CursorPage[
23
+ Lithic::Models::AccountActivityListResponse::Variants
24
+ ]
25
+ )
26
+ end
27
+ def list(
28
+ # Filter by account token
29
+ account_token: nil,
30
+ # Date string in RFC 3339 format. Only entries created after the specified time
31
+ # will be included. UTC time zone.
32
+ begin_: nil,
33
+ # Filter by business account token
34
+ business_account_token: nil,
35
+ # Filter by transaction category
36
+ category: nil,
37
+ # Date string in RFC 3339 format. Only entries created before the specified time
38
+ # will be included. UTC time zone.
39
+ end_: nil,
40
+ # A cursor representing an item's token before which a page of results should end.
41
+ # Used to retrieve the previous page of results before this item.
42
+ ending_before: nil,
43
+ # Filter by financial account token
44
+ financial_account_token: nil,
45
+ # Page size (for pagination).
46
+ page_size: nil,
47
+ # Filter by transaction result
48
+ result: nil,
49
+ # A cursor representing an item's token after which a page of results should
50
+ # begin. Used to retrieve the next page of results after this item.
51
+ starting_after: nil,
52
+ # Filter by transaction status
53
+ status: nil,
54
+ request_options: {}
55
+ )
56
+ end
57
+
58
+ # Retrieve a single transaction
59
+ sig do
60
+ params(
61
+ transaction_token: String,
62
+ request_options: Lithic::RequestOptions::OrHash
63
+ ).returns(
64
+ Lithic::Models::AccountActivityRetrieveTransactionResponse::Variants
65
+ )
66
+ end
67
+ def retrieve_transaction(
68
+ # The unique identifier for the transaction
69
+ transaction_token,
70
+ request_options: {}
71
+ )
72
+ end
73
+
74
+ # @api private
75
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
76
+ def self.new(client:)
77
+ end
78
+ end
79
+ end
80
+ end