lithic 0.1.0.pre.alpha.40 → 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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -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 +156 -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_list_params.rb +1 -0
  26. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +4 -16
  27. data/lib/lithic/models/book_transfer_create_params.rb +34 -6
  28. data/lib/lithic/models/book_transfer_response.rb +124 -28
  29. data/lib/lithic/models/document.rb +1 -3
  30. data/lib/lithic/models/events/subscription_create_params.rb +1 -3
  31. data/lib/lithic/models/events/subscription_update_params.rb +1 -3
  32. data/lib/lithic/models/external_bank_account_list_params.rb +2 -6
  33. data/lib/lithic/models/external_payment.rb +89 -48
  34. data/lib/lithic/models/financial_account.rb +1 -0
  35. data/lib/lithic/models/financial_accounts/loan_tape.rb +5 -18
  36. data/lib/lithic/models/financial_accounts/statement.rb +3 -10
  37. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +2 -7
  38. data/lib/lithic/models/financial_transaction.rb +2 -0
  39. data/lib/lithic/models/instance_financial_account_type.rb +1 -0
  40. data/lib/lithic/models/kyb.rb +2 -2
  41. data/lib/lithic/models/management_operation_transaction.rb +90 -63
  42. data/lib/lithic/models/payment.rb +60 -1
  43. data/lib/lithic/models/reports/settlement_list_details_params.rb +2 -2
  44. data/lib/lithic/models/settlement_detail.rb +1 -0
  45. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +145 -12
  46. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +1 -4
  47. data/lib/lithic/models/tokenization.rb +1 -1
  48. data/lib/lithic/models/transactions/events/enhanced_data.rb +3 -11
  49. data/lib/lithic/models/transfer.rb +2 -0
  50. data/lib/lithic/models/wire_party_details.rb +40 -0
  51. data/lib/lithic/models.rb +6 -0
  52. data/lib/lithic/resources/account_activity.rb +80 -0
  53. data/lib/lithic/resources/account_holders.rb +9 -9
  54. data/lib/lithic/resources/book_transfers.rb +7 -3
  55. data/lib/lithic/resources/reports/settlement.rb +1 -1
  56. data/lib/lithic/resources/tokenizations.rb +2 -2
  57. data/lib/lithic/version.rb +1 -1
  58. data/lib/lithic.rb +7 -2
  59. data/rbi/lithic/client.rbi +3 -0
  60. data/rbi/lithic/errors.rbi +2 -2
  61. data/rbi/lithic/internal/transport/base_client.rbi +1 -1
  62. data/rbi/lithic/internal/type/converter.rbi +46 -0
  63. data/rbi/lithic/internal/type/union.rbi +7 -2
  64. data/rbi/lithic/models/account_activity_list_params.rbi +359 -0
  65. data/rbi/lithic/models/account_activity_list_response.rbi +3367 -0
  66. data/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi +30 -0
  67. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +3369 -0
  68. data/rbi/lithic/models/account_holder.rbi +21 -23
  69. data/rbi/lithic/models/account_holder_create_params.rbi +87 -65
  70. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +36 -30
  71. data/rbi/lithic/models/account_holder_update_response.rbi +36 -30
  72. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +20 -0
  73. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +20 -0
  74. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +2 -0
  75. data/rbi/lithic/models/book_transfer_create_params.rbi +75 -5
  76. data/rbi/lithic/models/book_transfer_response.rbi +320 -38
  77. data/rbi/lithic/models/external_payment.rbi +147 -60
  78. data/rbi/lithic/models/financial_account.rbi +5 -0
  79. data/rbi/lithic/models/financial_transaction.rbi +1 -0
  80. data/rbi/lithic/models/instance_financial_account_type.rbi +5 -0
  81. data/rbi/lithic/models/kyb.rbi +2 -2
  82. data/rbi/lithic/models/management_operation_transaction.rbi +226 -95
  83. data/rbi/lithic/models/payment.rbi +103 -3
  84. data/rbi/lithic/models/reports/settlement_list_details_params.rbi +2 -2
  85. data/rbi/lithic/models/settlement_detail.rbi +2 -0
  86. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +222 -19
  87. data/rbi/lithic/models/transfer.rbi +1 -0
  88. data/rbi/lithic/models/wire_party_details.rbi +61 -0
  89. data/rbi/lithic/models.rbi +7 -0
  90. data/rbi/lithic/resources/account_activity.rbi +80 -0
  91. data/rbi/lithic/resources/account_holders.rbi +28 -29
  92. data/rbi/lithic/resources/book_transfers.rbi +9 -2
  93. data/rbi/lithic/resources/reports/settlement.rbi +1 -1
  94. data/rbi/lithic/resources/tokenizations.rbi +1 -1
  95. data/sig/lithic/client.rbs +2 -0
  96. data/sig/lithic/internal/transport/base_client.rbs +1 -1
  97. data/sig/lithic/internal/type/converter.rbs +17 -0
  98. data/sig/lithic/internal/type/union.rbs +2 -2
  99. data/sig/lithic/models/account_activity_list_params.rbs +173 -0
  100. data/sig/lithic/models/account_activity_list_response.rbs +1353 -0
  101. data/sig/lithic/models/account_activity_retrieve_transaction_params.rbs +15 -0
  102. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +1353 -0
  103. data/sig/lithic/models/account_holder_create_params.rbs +33 -19
  104. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +10 -3
  105. data/sig/lithic/models/account_holder_update_response.rbs +10 -3
  106. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +8 -0
  107. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +8 -0
  108. data/sig/lithic/models/auth_rules/v2_list_params.rbs +2 -1
  109. data/sig/lithic/models/book_transfer_create_params.rbs +30 -1
  110. data/sig/lithic/models/book_transfer_response.rbs +134 -15
  111. data/sig/lithic/models/external_payment.rbs +91 -40
  112. data/sig/lithic/models/financial_account.rbs +2 -0
  113. data/sig/lithic/models/instance_financial_account_type.rbs +2 -0
  114. data/sig/lithic/models/management_operation_transaction.rbs +95 -44
  115. data/sig/lithic/models/payment.rbs +61 -3
  116. data/sig/lithic/models/settlement_detail.rbs +2 -0
  117. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +90 -3
  118. data/sig/lithic/models/wire_party_details.rbs +35 -0
  119. data/sig/lithic/models.rbs +6 -0
  120. data/sig/lithic/resources/account_activity.rbs +27 -0
  121. data/sig/lithic/resources/account_holders.rbs +3 -3
  122. data/sig/lithic/resources/book_transfers.rbs +2 -0
  123. data/sig/lithic/resources/tokenizations.rbs +1 -1
  124. metadata +20 -5
  125. data/lib/lithic/models/tokenization_retrieve_response.rb +0 -16
  126. data/rbi/lithic/models/tokenization_retrieve_response.rbi +0 -31
  127. 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
@@ -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: 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
@@ -13,15 +13,8 @@ module Lithic
13
13
  # that the calling API key manages.
14
14
  sig do
15
15
  params(
16
- beneficial_owner_individuals:
17
- T::Array[
18
- Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
19
- ],
20
16
  business_entity:
21
17
  Lithic::AccountHolderCreateParams::BusinessEntity::OrHash,
22
- control_person:
23
- Lithic::AccountHolderCreateParams::ControlPerson::OrHash,
24
- nature_of_business: String,
25
18
  tos_timestamp: String,
26
19
  workflow: Lithic::AccountHolderCreateParams::Workflow::OrSymbol,
27
20
  individual: Lithic::AccountHolderCreateParams::Individual::OrHash,
@@ -32,6 +25,13 @@ module Lithic
32
25
  Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol,
33
26
  last_name: String,
34
27
  phone_number: String,
28
+ beneficial_owner_individuals:
29
+ T::Array[
30
+ Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
31
+ ],
32
+ control_person:
33
+ Lithic::AccountHolderCreateParams::ControlPerson::OrHash,
34
+ nature_of_business: String,
35
35
  beneficial_owner_entities:
36
36
  T::Array[
37
37
  Lithic::AccountHolderCreateParams::BeneficialOwnerEntity::OrHash
@@ -45,28 +45,8 @@ module Lithic
45
45
  ).returns(Lithic::Models::AccountHolderCreateResponse)
46
46
  end
47
47
  def create(
48
- # You must submit a list of all direct and indirect individuals with 25% or more
49
- # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
50
- # no individual owns 25% of the company you do not need to send beneficial owner
51
- # information. See
52
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
53
- # (Section I) for more background on individuals that should be included.
54
- beneficial_owner_individuals:,
55
- # Information for business for which the account is being opened and KYB is being
56
- # run.
48
+ # Information for business for which the account is being opened.
57
49
  business_entity:,
58
- # An individual with significant responsibility for managing the legal entity
59
- # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
60
- # Officer, Managing Member, General Partner, President, Vice President, or
61
- # Treasurer). This can be an executive, or someone who will have program-wide
62
- # access to the cards that Lithic will provide. In some cases, this individual
63
- # could also be a beneficial owner listed above. See
64
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
65
- # (Section II) for more background.
66
- control_person:,
67
- # Short description of the company's line of business (i.e., what does the company
68
- # do?).
69
- nature_of_business:,
70
50
  # An RFC 3339 timestamp indicating when the account holder accepted the applicable
71
51
  # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
72
52
  # implementation with Lithic.
@@ -89,12 +69,31 @@ module Lithic
89
69
  last_name:,
90
70
  # The KYC Exempt user's phone number, entered in E.164 format.
91
71
  phone_number:,
72
+ # You can submit a list of all direct and indirect individuals with 25% or more
73
+ # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
74
+ # no individual owns 25% of the company you do not need to send beneficial owner
75
+ # information. See
76
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
77
+ # (Section I) for more background on individuals that should be included.
78
+ beneficial_owner_individuals: nil,
79
+ # An individual with significant responsibility for managing the legal entity
80
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
81
+ # Officer, Managing Member, General Partner, President, Vice President, or
82
+ # Treasurer). This can be an executive, or someone who will have program-wide
83
+ # access to the cards that Lithic will provide. In some cases, this individual
84
+ # could also be a beneficial owner listed above. See
85
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
86
+ # (Section II) for more background.
87
+ control_person: nil,
88
+ # Short description of the company's line of business (i.e., what does the company
89
+ # do?).
90
+ nature_of_business: nil,
92
91
  # Deprecated.
93
92
  beneficial_owner_entities: nil,
94
93
  # A user provided id that can be used to link an account holder with an external
95
94
  # system
96
95
  external_id: nil,
97
- # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
96
+ # An RFC 3339 timestamp indicating when precomputed KYB was completed on the
98
97
  # business with a pass result.
99
98
  #
100
99
  # This field is required only if workflow type is `KYB_BYO`.
@@ -14,12 +14,15 @@ module Lithic
14
14
  to_financial_account_token: String,
15
15
  type: Lithic::BookTransferCreateParams::Type::OrSymbol,
16
16
  token: String,
17
+ external_id: String,
17
18
  memo: String,
19
+ on_closed_account:
20
+ Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol,
18
21
  request_options: Lithic::RequestOptions::OrHash
19
22
  ).returns(Lithic::BookTransferResponse)
20
23
  end
21
24
  def create(
22
- # Amount to be transferred in the currencys smallest unit (e.g., cents for USD).
25
+ # Amount to be transferred in the currency's smallest unit (e.g., cents for USD).
23
26
  # This should always be a positive value.
24
27
  amount:,
25
28
  # Category of the book transfer
@@ -32,13 +35,17 @@ module Lithic
32
35
  # Globally unique identifier for the financial account or card that will receive
33
36
  # the funds. Accepted type dependent on the program's use case.
34
37
  to_financial_account_token:,
35
- # Type of book_transfer
38
+ # Type of the book transfer
36
39
  type:,
37
40
  # Customer-provided token that will serve as an idempotency token. This token will
38
41
  # become the transaction token.
39
42
  token: nil,
43
+ # External ID defined by the customer
44
+ external_id: nil,
40
45
  # Optional descriptor for the transfer.
41
46
  memo: nil,
47
+ # What to do if the financial account is closed when posting an operation
48
+ on_closed_account: nil,
42
49
  request_options: {}
43
50
  )
44
51
  end
@@ -23,7 +23,7 @@ module Lithic
23
23
  # A cursor representing an item's token before which a page of results should end.
24
24
  # Used to retrieve the previous page of results before this item.
25
25
  ending_before: nil,
26
- # Page size (for pagination).
26
+ # Number of records per page.
27
27
  page_size: nil,
28
28
  # A cursor representing an item's token after which a page of results should
29
29
  # begin. Used to retrieve the next page of results after this item.
@@ -8,7 +8,7 @@ module Lithic
8
8
  params(
9
9
  tokenization_token: String,
10
10
  request_options: Lithic::RequestOptions::OrHash
11
- ).returns(Lithic::Models::TokenizationRetrieveResponse)
11
+ ).returns(Lithic::Tokenization)
12
12
  end
13
13
  def retrieve(
14
14
  # Tokenization token
@@ -71,6 +71,8 @@ module Lithic
71
71
 
72
72
  attr_reader network_programs: Lithic::Resources::NetworkPrograms
73
73
 
74
+ attr_reader account_activity: Lithic::Resources::AccountActivity
75
+
74
76
  def api_status: (
75
77
  ?request_options: Lithic::request_opts
76
78
  ) -> Lithic::APIStatus
@@ -99,7 +99,7 @@ module Lithic
99
99
  retry_count: Integer
100
100
  ) -> Float
101
101
 
102
- private def send_request: (
102
+ def send_request: (
103
103
  Lithic::Internal::Transport::BaseClient::request_input request,
104
104
  redirect_count: Integer,
105
105
  retry_count: Integer,
@@ -39,6 +39,23 @@ module Lithic
39
39
  | Lithic::Internal::Type::Converter::input spec
40
40
  ) -> (^-> top)
41
41
 
42
+ def self.meta_info: (
43
+ {
44
+ const: (nil | bool | Integer | Float | Symbol)?,
45
+ enum: ^-> Lithic::Internal::Type::Converter::input?,
46
+ union: ^-> Lithic::Internal::Type::Converter::input?
47
+ }
48
+ | ^-> Lithic::Internal::Type::Converter::input
49
+ | Lithic::Internal::Type::Converter::input type_info,
50
+ {
51
+ const: (nil | bool | Integer | Float | Symbol)?,
52
+ enum: ^-> Lithic::Internal::Type::Converter::input?,
53
+ union: ^-> Lithic::Internal::Type::Converter::input?
54
+ }
55
+ | ^-> Lithic::Internal::Type::Converter::input
56
+ | Lithic::Internal::Type::Converter::input spec
57
+ ) -> ::Hash[Symbol, top]
58
+
42
59
  def self.new_coerce_state: (
43
60
  ?translate_names: bool
44
61
  ) -> Lithic::Internal::Type::Converter::coerce_state