lithic 0.1.0.pre.alpha.39 → 0.1.0.pre.alpha.41

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 (207) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +8 -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.rb +88 -1
  14. data/lib/lithic/models/account_activity_list_params.rb +156 -0
  15. data/lib/lithic/models/account_activity_list_response.rb +1435 -0
  16. data/lib/lithic/models/account_activity_retrieve_transaction_params.rb +14 -0
  17. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1451 -0
  18. data/lib/lithic/models/account_holder.rb +16 -19
  19. data/lib/lithic/models/account_holder_create_params.rb +41 -47
  20. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -3
  21. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +25 -20
  22. data/lib/lithic/models/account_holder_update_params.rb +2 -6
  23. data/lib/lithic/models/account_holder_update_response.rb +25 -20
  24. data/lib/lithic/models/account_update_params.rb +86 -1
  25. data/lib/lithic/models/aggregate_balance.rb +1 -0
  26. data/lib/lithic/models/aggregate_balance_list_params.rb +1 -0
  27. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +5 -1
  28. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +12 -22
  29. data/lib/lithic/models/auth_rules/v2_list_params.rb +1 -0
  30. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +3 -25
  31. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +226 -16
  32. data/lib/lithic/models/balance.rb +1 -0
  33. data/lib/lithic/models/balance_list_params.rb +1 -0
  34. data/lib/lithic/models/book_transfer_create_params.rb +34 -6
  35. data/lib/lithic/models/book_transfer_response.rb +124 -28
  36. data/lib/lithic/models/card_create_params.rb +90 -1
  37. data/lib/lithic/models/card_program.rb +10 -1
  38. data/lib/lithic/models/card_update_params.rb +98 -1
  39. data/lib/lithic/models/cards/balance_list_response.rb +1 -0
  40. data/lib/lithic/models/document.rb +1 -3
  41. data/lib/lithic/models/events/subscription_create_params.rb +1 -3
  42. data/lib/lithic/models/events/subscription_update_params.rb +1 -3
  43. data/lib/lithic/models/external_bank_account_list_params.rb +2 -6
  44. data/lib/lithic/models/external_payment.rb +89 -48
  45. data/lib/lithic/models/external_resource.rb +34 -0
  46. data/lib/lithic/models/external_resource_type.rb +18 -0
  47. data/lib/lithic/models/financial_account.rb +1 -0
  48. data/lib/lithic/models/financial_account_list_params.rb +1 -0
  49. data/lib/lithic/models/financial_accounts/balance_list_response.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_create_params.rb +30 -1
  57. data/lib/lithic/models/management_operation_transaction.rb +100 -52
  58. data/lib/lithic/models/network_program.rb +41 -0
  59. data/lib/lithic/models/network_program_list_params.rb +43 -0
  60. data/lib/lithic/models/network_program_retrieve_params.rb +14 -0
  61. data/lib/lithic/models/non_pci_card.rb +88 -1
  62. data/lib/lithic/models/payment.rb +60 -1
  63. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  64. data/lib/lithic/models/reports/settlement_list_details_params.rb +2 -2
  65. data/lib/lithic/models/settlement_detail.rb +1 -0
  66. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +145 -12
  67. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +1 -4
  68. data/lib/lithic/models/tokenization.rb +1 -1
  69. data/lib/lithic/models/transaction.rb +31 -20
  70. data/lib/lithic/models/transactions/events/enhanced_data.rb +3 -11
  71. data/lib/lithic/models/transfer.rb +2 -0
  72. data/lib/lithic/models/wire_party_details.rb +40 -0
  73. data/lib/lithic/models.rb +16 -0
  74. data/lib/lithic/resources/account_activity.rb +80 -0
  75. data/lib/lithic/resources/account_holders.rb +9 -9
  76. data/lib/lithic/resources/accounts.rb +5 -1
  77. data/lib/lithic/resources/book_transfers.rb +7 -3
  78. data/lib/lithic/resources/cards.rb +12 -2
  79. data/lib/lithic/resources/management_operations.rb +13 -1
  80. data/lib/lithic/resources/network_programs.rb +64 -0
  81. data/lib/lithic/resources/reports/settlement.rb +1 -1
  82. data/lib/lithic/resources/tokenizations.rb +2 -2
  83. data/lib/lithic/version.rb +1 -1
  84. data/lib/lithic.rb +13 -2
  85. data/rbi/lithic/client.rbi +6 -0
  86. data/rbi/lithic/errors.rbi +2 -2
  87. data/rbi/lithic/internal/transport/base_client.rbi +1 -1
  88. data/rbi/lithic/internal/type/converter.rbi +46 -0
  89. data/rbi/lithic/internal/type/union.rbi +7 -2
  90. data/rbi/lithic/models/account.rbi +131 -0
  91. data/rbi/lithic/models/account_activity_list_params.rbi +359 -0
  92. data/rbi/lithic/models/account_activity_list_response.rbi +3367 -0
  93. data/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi +30 -0
  94. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +3369 -0
  95. data/rbi/lithic/models/account_holder.rbi +21 -23
  96. data/rbi/lithic/models/account_holder_create_params.rbi +87 -65
  97. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +36 -30
  98. data/rbi/lithic/models/account_holder_update_response.rbi +36 -30
  99. data/rbi/lithic/models/account_update_params.rbi +159 -0
  100. data/rbi/lithic/models/aggregate_balance.rbi +5 -0
  101. data/rbi/lithic/models/aggregate_balance_list_params.rbi +5 -0
  102. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +20 -0
  103. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +26 -15
  104. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +2 -0
  105. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +18 -25
  106. data/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +527 -31
  107. data/rbi/lithic/models/balance.rbi +2 -0
  108. data/rbi/lithic/models/balance_list_params.rbi +5 -0
  109. data/rbi/lithic/models/book_transfer_create_params.rbi +75 -5
  110. data/rbi/lithic/models/book_transfer_response.rbi +320 -38
  111. data/rbi/lithic/models/card_create_params.rbi +190 -0
  112. data/rbi/lithic/models/card_program.rbi +13 -0
  113. data/rbi/lithic/models/card_update_params.rbi +168 -0
  114. data/rbi/lithic/models/cards/balance_list_response.rbi +5 -0
  115. data/rbi/lithic/models/external_payment.rbi +147 -60
  116. data/rbi/lithic/models/external_resource.rbi +57 -0
  117. data/rbi/lithic/models/external_resource_type.rbi +26 -0
  118. data/rbi/lithic/models/financial_account.rbi +5 -0
  119. data/rbi/lithic/models/financial_account_list_params.rbi +5 -0
  120. data/rbi/lithic/models/financial_accounts/balance_list_response.rbi +5 -0
  121. data/rbi/lithic/models/financial_transaction.rbi +1 -0
  122. data/rbi/lithic/models/instance_financial_account_type.rbi +5 -0
  123. data/rbi/lithic/models/kyb.rbi +2 -2
  124. data/rbi/lithic/models/management_operation_create_params.rbi +59 -0
  125. data/rbi/lithic/models/management_operation_transaction.rbi +230 -84
  126. data/rbi/lithic/models/network_program.rbi +61 -0
  127. data/rbi/lithic/models/network_program_list_params.rbi +72 -0
  128. data/rbi/lithic/models/network_program_retrieve_params.rbi +27 -0
  129. data/rbi/lithic/models/non_pci_card.rbi +133 -3
  130. data/rbi/lithic/models/payment.rbi +103 -3
  131. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  132. data/rbi/lithic/models/reports/settlement_list_details_params.rbi +2 -2
  133. data/rbi/lithic/models/settlement_detail.rbi +2 -0
  134. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +222 -19
  135. data/rbi/lithic/models/transaction.rbi +23 -31
  136. data/rbi/lithic/models/transfer.rbi +1 -0
  137. data/rbi/lithic/models/wire_party_details.rbi +61 -0
  138. data/rbi/lithic/models.rbi +17 -0
  139. data/rbi/lithic/resources/account_activity.rbi +80 -0
  140. data/rbi/lithic/resources/account_holders.rbi +28 -29
  141. data/rbi/lithic/resources/accounts.rbi +32 -0
  142. data/rbi/lithic/resources/book_transfers.rbi +9 -2
  143. data/rbi/lithic/resources/cards.rbi +70 -0
  144. data/rbi/lithic/resources/management_operations.rbi +4 -0
  145. data/rbi/lithic/resources/network_programs.rbi +48 -0
  146. data/rbi/lithic/resources/reports/settlement.rbi +1 -1
  147. data/rbi/lithic/resources/tokenizations.rbi +1 -1
  148. data/sig/lithic/client.rbs +4 -0
  149. data/sig/lithic/internal/transport/base_client.rbs +1 -1
  150. data/sig/lithic/internal/type/converter.rbs +17 -0
  151. data/sig/lithic/internal/type/union.rbs +2 -2
  152. data/sig/lithic/models/account.rbs +41 -0
  153. data/sig/lithic/models/account_activity_list_params.rbs +173 -0
  154. data/sig/lithic/models/account_activity_list_response.rbs +1353 -0
  155. data/sig/lithic/models/account_activity_retrieve_transaction_params.rbs +15 -0
  156. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +1353 -0
  157. data/sig/lithic/models/account_holder_create_params.rbs +33 -19
  158. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +10 -3
  159. data/sig/lithic/models/account_holder_update_response.rbs +10 -3
  160. data/sig/lithic/models/account_update_params.rbs +41 -0
  161. data/sig/lithic/models/aggregate_balance.rbs +2 -1
  162. data/sig/lithic/models/aggregate_balance_list_params.rbs +2 -1
  163. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +8 -0
  164. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +8 -0
  165. data/sig/lithic/models/auth_rules/v2_list_params.rbs +2 -1
  166. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +4 -14
  167. data/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +212 -7
  168. data/sig/lithic/models/balance.rbs +2 -1
  169. data/sig/lithic/models/balance_list_params.rbs +2 -1
  170. data/sig/lithic/models/book_transfer_create_params.rbs +30 -1
  171. data/sig/lithic/models/book_transfer_response.rbs +134 -15
  172. data/sig/lithic/models/card_create_params.rbs +47 -0
  173. data/sig/lithic/models/card_program.rbs +7 -0
  174. data/sig/lithic/models/card_update_params.rbs +55 -1
  175. data/sig/lithic/models/cards/balance_list_response.rbs +2 -1
  176. data/sig/lithic/models/external_payment.rbs +91 -40
  177. data/sig/lithic/models/external_resource.rbs +32 -0
  178. data/sig/lithic/models/external_resource_type.rbs +16 -0
  179. data/sig/lithic/models/financial_account.rbs +2 -0
  180. data/sig/lithic/models/financial_account_list_params.rbs +2 -1
  181. data/sig/lithic/models/financial_accounts/balance_list_response.rbs +2 -1
  182. data/sig/lithic/models/instance_financial_account_type.rbs +2 -0
  183. data/sig/lithic/models/management_operation_create_params.rbs +20 -0
  184. data/sig/lithic/models/management_operation_transaction.rbs +98 -42
  185. data/sig/lithic/models/network_program.rbs +35 -0
  186. data/sig/lithic/models/network_program_list_params.rbs +38 -0
  187. data/sig/lithic/models/network_program_retrieve_params.rbs +15 -0
  188. data/sig/lithic/models/non_pci_card.rbs +55 -3
  189. data/sig/lithic/models/payment.rbs +61 -3
  190. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  191. data/sig/lithic/models/settlement_detail.rbs +2 -0
  192. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +90 -3
  193. data/sig/lithic/models/transaction.rbs +2 -6
  194. data/sig/lithic/models/wire_party_details.rbs +35 -0
  195. data/sig/lithic/models.rbs +16 -0
  196. data/sig/lithic/resources/account_activity.rbs +27 -0
  197. data/sig/lithic/resources/account_holders.rbs +3 -3
  198. data/sig/lithic/resources/accounts.rbs +2 -0
  199. data/sig/lithic/resources/book_transfers.rbs +2 -0
  200. data/sig/lithic/resources/cards.rbs +5 -0
  201. data/sig/lithic/resources/management_operations.rbs +1 -0
  202. data/sig/lithic/resources/network_programs.rbs +19 -0
  203. data/sig/lithic/resources/tokenizations.rbs +1 -1
  204. metadata +38 -5
  205. data/lib/lithic/models/tokenization_retrieve_response.rb +0 -16
  206. data/rbi/lithic/models/tokenization_retrieve_response.rbi +0 -31
  207. data/sig/lithic/models/tokenization_retrieve_response.rbs +0 -15
@@ -1624,38 +1624,114 @@ module Lithic
1624
1624
  )
1625
1625
  end
1626
1626
 
1627
- # Device information gathered from the cardholder's device - JSON name/value pairs
1628
- # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`.
1627
+ # Device model: e.g. "Apple iPhone 16".
1628
+ sig { returns(T.nilable(String)) }
1629
+ attr_accessor :device
1630
+
1631
+ # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field
1632
+ # `deviceInfo`.
1629
1633
  sig { returns(T.nilable(String)) }
1630
1634
  attr_accessor :device_info
1631
1635
 
1632
- # External IP address used by the app generating the 3DS authentication request.
1633
- # Maps to EMV 3DS field `appIp`.
1636
+ # IP address of the device.
1634
1637
  sig { returns(T.nilable(String)) }
1635
1638
  attr_reader :ip
1636
1639
 
1637
1640
  sig { params(ip: String).void }
1638
1641
  attr_writer :ip
1639
1642
 
1643
+ # Latitude coordinate of current device location.
1644
+ sig { returns(T.nilable(Float)) }
1645
+ attr_accessor :latitude
1646
+
1647
+ # Device locale: e.g. "en-US".
1648
+ sig { returns(T.nilable(String)) }
1649
+ attr_accessor :locale
1650
+
1651
+ # Longitude coordinate of current device location.
1652
+ sig { returns(T.nilable(Float)) }
1653
+ attr_accessor :longitude
1654
+
1655
+ # Operating System: e.g. "Android 12", "iOS 17.1".
1656
+ sig { returns(T.nilable(String)) }
1657
+ attr_accessor :os
1658
+
1659
+ # Device platform: Android, iOS, Windows, etc.
1660
+ sig { returns(T.nilable(String)) }
1661
+ attr_accessor :platform
1662
+
1663
+ # Screen height in pixels.
1664
+ sig { returns(T.nilable(Integer)) }
1665
+ attr_accessor :screen_height
1666
+
1667
+ # Screen width in pixels.
1668
+ sig { returns(T.nilable(Integer)) }
1669
+ attr_accessor :screen_width
1670
+
1671
+ # Time zone offset in minutes between UTC and device local time.
1672
+ sig { returns(T.nilable(String)) }
1673
+ attr_accessor :time_zone
1674
+
1640
1675
  # Object containing data about the app used in the e-commerce transaction. Present
1641
1676
  # if the channel is 'APP_BASED'.
1642
1677
  sig do
1643
- params(device_info: T.nilable(String), ip: String).returns(
1644
- T.attached_class
1645
- )
1678
+ params(
1679
+ device: T.nilable(String),
1680
+ device_info: T.nilable(String),
1681
+ ip: String,
1682
+ latitude: T.nilable(Float),
1683
+ locale: T.nilable(String),
1684
+ longitude: T.nilable(Float),
1685
+ os: T.nilable(String),
1686
+ platform: T.nilable(String),
1687
+ screen_height: T.nilable(Integer),
1688
+ screen_width: T.nilable(Integer),
1689
+ time_zone: T.nilable(String)
1690
+ ).returns(T.attached_class)
1646
1691
  end
1647
1692
  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`.
1693
+ # Device model: e.g. "Apple iPhone 16".
1694
+ device: nil,
1695
+ # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field
1696
+ # `deviceInfo`.
1650
1697
  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
1698
+ # IP address of the device.
1699
+ ip: nil,
1700
+ # Latitude coordinate of current device location.
1701
+ latitude: nil,
1702
+ # Device locale: e.g. "en-US".
1703
+ locale: nil,
1704
+ # Longitude coordinate of current device location.
1705
+ longitude: nil,
1706
+ # Operating System: e.g. "Android 12", "iOS 17.1".
1707
+ os: nil,
1708
+ # Device platform: Android, iOS, Windows, etc.
1709
+ platform: nil,
1710
+ # Screen height in pixels.
1711
+ screen_height: nil,
1712
+ # Screen width in pixels.
1713
+ screen_width: nil,
1714
+ # Time zone offset in minutes between UTC and device local time.
1715
+ time_zone: nil
1654
1716
  )
1655
1717
  end
1656
1718
 
1657
1719
  sig do
1658
- override.returns({ device_info: T.nilable(String), ip: String })
1720
+ override.returns(
1721
+ {
1722
+ device: T.nilable(String),
1723
+ device_info: T.nilable(String),
1724
+ ip: String,
1725
+ latitude: T.nilable(Float),
1726
+ locale: T.nilable(String),
1727
+ longitude: T.nilable(Float),
1728
+ os: T.nilable(String),
1729
+ platform: T.nilable(String),
1730
+ screen_height: T.nilable(Integer),
1731
+ screen_width: T.nilable(Integer),
1732
+ time_zone: T.nilable(String)
1733
+ }
1734
+ )
1659
1735
  end
1660
1736
  def to_hash
1661
1737
  end
@@ -1772,9 +1848,8 @@ module Lithic
1772
1848
  sig { returns(T.nilable(String)) }
1773
1849
  attr_accessor :language
1774
1850
 
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`.
1851
+ # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS
1852
+ # field `browserTz`.
1778
1853
  sig { returns(T.nilable(String)) }
1779
1854
  attr_accessor :time_zone
1780
1855
 
@@ -1811,9 +1886,8 @@ module Lithic
1811
1886
  # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS
1812
1887
  # field `browserLanguage`.
1813
1888
  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`.
1889
+ # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS
1890
+ # field `browserTz`.
1817
1891
  time_zone: nil,
1818
1892
  # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`.
1819
1893
  user_agent: nil
@@ -1854,6 +1928,29 @@ module Lithic
1854
1928
  end
1855
1929
  attr_accessor :method_type
1856
1930
 
1931
+ # Indicates the status of the challenge
1932
+ #
1933
+ # - SUCCESS - Cardholder completed the challenge successfully
1934
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
1935
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
1936
+ # provided phone number. Relevant only for SMS_OTP method
1937
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
1938
+ # given challenge TTL
1939
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
1940
+ # "cancel" on the challenge UI
1941
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
1942
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
1943
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
1944
+ # more than the allowed number of times
1945
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
1946
+ # - ERROR - The challenge failed for a reason different than those documented
1947
+ sig do
1948
+ returns(
1949
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
1950
+ )
1951
+ end
1952
+ attr_accessor :status
1953
+
1857
1954
  # The phone number used for delivering the OTP. Relevant only for SMS_OTP method.
1858
1955
  sig { returns(T.nilable(String)) }
1859
1956
  attr_accessor :phone_number
@@ -1864,12 +1961,31 @@ module Lithic
1864
1961
  params(
1865
1962
  method_type:
1866
1963
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::OrSymbol,
1964
+ status:
1965
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::OrSymbol,
1867
1966
  phone_number: T.nilable(String)
1868
1967
  ).returns(T.attached_class)
1869
1968
  end
1870
1969
  def self.new(
1871
1970
  # The type of challenge method used for authentication.
1872
1971
  method_type:,
1972
+ # Indicates the status of the challenge
1973
+ #
1974
+ # - SUCCESS - Cardholder completed the challenge successfully
1975
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
1976
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
1977
+ # provided phone number. Relevant only for SMS_OTP method
1978
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
1979
+ # given challenge TTL
1980
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
1981
+ # "cancel" on the challenge UI
1982
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
1983
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
1984
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
1985
+ # more than the allowed number of times
1986
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
1987
+ # - ERROR - The challenge failed for a reason different than those documented
1988
+ status:,
1873
1989
  # The phone number used for delivering the OTP. Relevant only for SMS_OTP method.
1874
1990
  phone_number: nil
1875
1991
  )
@@ -1880,6 +1996,8 @@ module Lithic
1880
1996
  {
1881
1997
  method_type:
1882
1998
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol,
1999
+ status:
2000
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol,
1883
2001
  phone_number: T.nilable(String)
1884
2002
  }
1885
2003
  )
@@ -1921,6 +2039,91 @@ module Lithic
1921
2039
  def self.values
1922
2040
  end
1923
2041
  end
2042
+
2043
+ # Indicates the status of the challenge
2044
+ #
2045
+ # - SUCCESS - Cardholder completed the challenge successfully
2046
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
2047
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
2048
+ # provided phone number. Relevant only for SMS_OTP method
2049
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
2050
+ # given challenge TTL
2051
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
2052
+ # "cancel" on the challenge UI
2053
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
2054
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
2055
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
2056
+ # more than the allowed number of times
2057
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
2058
+ # - ERROR - The challenge failed for a reason different than those documented
2059
+ module Status
2060
+ extend Lithic::Internal::Type::Enum
2061
+
2062
+ TaggedSymbol =
2063
+ T.type_alias do
2064
+ T.all(
2065
+ Symbol,
2066
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status
2067
+ )
2068
+ end
2069
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2070
+
2071
+ SUCCESS =
2072
+ T.let(
2073
+ :SUCCESS,
2074
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2075
+ )
2076
+ PENDING =
2077
+ T.let(
2078
+ :PENDING,
2079
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2080
+ )
2081
+ SMS_DELIVERY_FAILED =
2082
+ T.let(
2083
+ :SMS_DELIVERY_FAILED,
2084
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2085
+ )
2086
+ CARDHOLDER_TIMEOUT =
2087
+ T.let(
2088
+ :CARDHOLDER_TIMEOUT,
2089
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2090
+ )
2091
+ CANCELED_VIA_CHALLENGE_UI =
2092
+ T.let(
2093
+ :CANCELED_VIA_CHALLENGE_UI,
2094
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2095
+ )
2096
+ CANCELED_OOB =
2097
+ T.let(
2098
+ :CANCELED_OOB,
2099
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2100
+ )
2101
+ ATTEMPTS_EXCEEDED =
2102
+ T.let(
2103
+ :ATTEMPTS_EXCEEDED,
2104
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2105
+ )
2106
+ ABORTED =
2107
+ T.let(
2108
+ :ABORTED,
2109
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2110
+ )
2111
+ ERROR =
2112
+ T.let(
2113
+ :ERROR,
2114
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2115
+ )
2116
+
2117
+ sig do
2118
+ override.returns(
2119
+ T::Array[
2120
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol
2121
+ ]
2122
+ )
2123
+ end
2124
+ def self.values
2125
+ end
2126
+ end
1924
2127
  end
1925
2128
 
1926
2129
  # Entity that orchestrates the challenge. This won't be set for authentications
@@ -523,7 +523,8 @@ module Lithic
523
523
  sig { returns(T.nilable(String)) }
524
524
  attr_accessor :three_ds_version
525
525
 
526
- # Whether an acquirer exemption applied to the transaction.
526
+ # Whether an acquirer exemption applied to the transaction. Not currently
527
+ # populated and will be removed in the future.
527
528
  sig do
528
529
  returns(
529
530
  Lithic::Transaction::CardholderAuthentication::AcquirerExemption::TaggedSymbol
@@ -531,7 +532,7 @@ module Lithic
531
532
  end
532
533
  attr_accessor :acquirer_exemption
533
534
 
534
- # Indicates what the outcome of the 3DS authentication process is.
535
+ # Indicates the outcome of the 3DS authentication process.
535
536
  sig do
536
537
  returns(
537
538
  Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol
@@ -550,12 +551,10 @@ module Lithic
550
551
  # Indicates whether chargeback liability shift applies to the transaction.
551
552
  # Possible enum values:
552
553
  #
553
- # * `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D Secure flow, chargeback liability shift applies.
554
- #
555
- # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`.
556
- #
557
- # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable.
558
- #
554
+ # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D
555
+ # Secure flow, chargeback liability shift applies.
556
+ # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the
557
+ # merchant is liable.
559
558
  # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated
560
559
  # cryptography, possibly recurring. Chargeback liability shift to the issuer
561
560
  # applies.
@@ -632,21 +631,20 @@ module Lithic
632
631
  def self.new(
633
632
  # The 3DS version used for the authentication
634
633
  three_ds_version:,
635
- # Whether an acquirer exemption applied to the transaction.
634
+ # Whether an acquirer exemption applied to the transaction. Not currently
635
+ # populated and will be removed in the future.
636
636
  acquirer_exemption:,
637
- # Indicates what the outcome of the 3DS authentication process is.
637
+ # Indicates the outcome of the 3DS authentication process.
638
638
  authentication_result:,
639
639
  # Indicates which party made the 3DS authentication decision.
640
640
  decision_made_by:,
641
641
  # Indicates whether chargeback liability shift applies to the transaction.
642
642
  # Possible enum values:
643
643
  #
644
- # * `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D Secure flow, chargeback liability shift applies.
645
- #
646
- # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`.
647
- #
648
- # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable.
649
- #
644
+ # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D
645
+ # Secure flow, chargeback liability shift applies.
646
+ # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the
647
+ # merchant is liable.
650
648
  # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated
651
649
  # cryptography, possibly recurring. Chargeback liability shift to the issuer
652
650
  # applies.
@@ -692,7 +690,8 @@ module Lithic
692
690
  def to_hash
693
691
  end
694
692
 
695
- # Whether an acquirer exemption applied to the transaction.
693
+ # Whether an acquirer exemption applied to the transaction. Not currently
694
+ # populated and will be removed in the future.
696
695
  module AcquirerExemption
697
696
  extend Lithic::Internal::Type::Enum
698
697
 
@@ -757,7 +756,7 @@ module Lithic
757
756
  end
758
757
  end
759
758
 
760
- # Indicates what the outcome of the 3DS authentication process is.
759
+ # Indicates the outcome of the 3DS authentication process.
761
760
  module AuthenticationResult
762
761
  extend Lithic::Internal::Type::Enum
763
762
 
@@ -860,12 +859,10 @@ module Lithic
860
859
  # Indicates whether chargeback liability shift applies to the transaction.
861
860
  # Possible enum values:
862
861
  #
863
- # * `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D Secure flow, chargeback liability shift applies.
864
- #
865
- # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`.
866
- #
867
- # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable.
868
- #
862
+ # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D
863
+ # Secure flow, chargeback liability shift applies.
864
+ # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the
865
+ # merchant is liable.
869
866
  # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated
870
867
  # cryptography, possibly recurring. Chargeback liability shift to the issuer
871
868
  # applies.
@@ -886,9 +883,9 @@ module Lithic
886
883
  :"3DS_AUTHENTICATED",
887
884
  Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
888
885
  )
889
- ACQUIRER_EXEMPTION =
886
+ TOKEN_AUTHENTICATED =
890
887
  T.let(
891
- :ACQUIRER_EXEMPTION,
888
+ :TOKEN_AUTHENTICATED,
892
889
  Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
893
890
  )
894
891
  NONE =
@@ -896,11 +893,6 @@ module Lithic
896
893
  :NONE,
897
894
  Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
898
895
  )
899
- TOKEN_AUTHENTICATED =
900
- T.let(
901
- :TOKEN_AUTHENTICATED,
902
- Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol
903
- )
904
896
 
905
897
  sig do
906
898
  override.returns(
@@ -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
@@ -199,6 +204,10 @@ module Lithic
199
204
 
200
205
  ExternalPaymentSettleParams = Lithic::Models::ExternalPaymentSettleParams
201
206
 
207
+ ExternalResource = Lithic::Models::ExternalResource
208
+
209
+ ExternalResourceType = Lithic::Models::ExternalResourceType
210
+
202
211
  FinancialAccount = Lithic::Models::FinancialAccount
203
212
 
204
213
  FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams
@@ -255,6 +264,12 @@ module Lithic
255
264
 
256
265
  MessageAttempt = Lithic::Models::MessageAttempt
257
266
 
267
+ NetworkProgram = Lithic::Models::NetworkProgram
268
+
269
+ NetworkProgramListParams = Lithic::Models::NetworkProgramListParams
270
+
271
+ NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams
272
+
258
273
  NonPCICard = Lithic::Models::NonPCICard
259
274
 
260
275
  OwnerType = Lithic::Models::OwnerType
@@ -368,4 +383,6 @@ module Lithic
368
383
  TransferCreateParams = Lithic::Models::TransferCreateParams
369
384
 
370
385
  VerificationMethod = Lithic::Models::VerificationMethod
386
+
387
+ WirePartyDetails = Lithic::Models::WirePartyDetails
371
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: T::Array[Lithic::AccountActivityListParams::Result::OrSymbol],
18
+ starting_after: String,
19
+ status: T::Array[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