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
@@ -806,30 +806,101 @@ module Lithic
806
806
 
807
807
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#app
808
808
  class App < Lithic::Internal::Type::BaseModel
809
+ # @!attribute device
810
+ # Device model: e.g. "Apple iPhone 16".
811
+ #
812
+ # @return [String, nil]
813
+ optional :device, String, nil?: true
814
+
809
815
  # @!attribute device_info
810
- # Device information gathered from the cardholder's device - JSON name/value pairs
811
- # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`.
816
+ # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field
817
+ # `deviceInfo`.
812
818
  #
813
819
  # @return [String, nil]
814
820
  optional :device_info, String, nil?: true
815
821
 
816
822
  # @!attribute ip
817
- # External IP address used by the app generating the 3DS authentication request.
818
- # Maps to EMV 3DS field `appIp`.
823
+ # IP address of the device.
819
824
  #
820
825
  # @return [String, nil]
821
826
  optional :ip, String
822
827
 
823
- # @!method initialize(device_info: nil, ip: nil)
828
+ # @!attribute latitude
829
+ # Latitude coordinate of current device location.
830
+ #
831
+ # @return [Float, nil]
832
+ optional :latitude, Float, nil?: true
833
+
834
+ # @!attribute locale
835
+ # Device locale: e.g. "en-US".
836
+ #
837
+ # @return [String, nil]
838
+ optional :locale, String, nil?: true
839
+
840
+ # @!attribute longitude
841
+ # Longitude coordinate of current device location.
842
+ #
843
+ # @return [Float, nil]
844
+ optional :longitude, Float, nil?: true
845
+
846
+ # @!attribute os
847
+ # Operating System: e.g. "Android 12", "iOS 17.1".
848
+ #
849
+ # @return [String, nil]
850
+ optional :os, String, nil?: true
851
+
852
+ # @!attribute platform
853
+ # Device platform: Android, iOS, Windows, etc.
854
+ #
855
+ # @return [String, nil]
856
+ optional :platform, String, nil?: true
857
+
858
+ # @!attribute screen_height
859
+ # Screen height in pixels.
860
+ #
861
+ # @return [Integer, nil]
862
+ optional :screen_height, Integer, nil?: true
863
+
864
+ # @!attribute screen_width
865
+ # Screen width in pixels.
866
+ #
867
+ # @return [Integer, nil]
868
+ optional :screen_width, Integer, nil?: true
869
+
870
+ # @!attribute time_zone
871
+ # Time zone offset in minutes between UTC and device local time.
872
+ #
873
+ # @return [String, nil]
874
+ optional :time_zone, String, nil?: true
875
+
876
+ # @!method initialize(device: nil, device_info: nil, ip: nil, latitude: nil, locale: nil, longitude: nil, os: nil, platform: nil, screen_height: nil, screen_width: nil, time_zone: nil)
824
877
  # Some parameter documentations has been truncated, see
825
878
  # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App} for more details.
826
879
  #
827
880
  # Object containing data about the app used in the e-commerce transaction. Present
828
881
  # if the channel is 'APP_BASED'.
829
882
  #
830
- # @param device_info [String, nil] Device information gathered from the cardholder's device - JSON name/value pairs
883
+ # @param device [String, nil] Device model: e.g. "Apple iPhone 16".
884
+ #
885
+ # @param device_info [String, nil] Raw device information - base64-encoded JSON object. Maps to EMV 3DS field `devi
886
+ #
887
+ # @param ip [String] IP address of the device.
888
+ #
889
+ # @param latitude [Float, nil] Latitude coordinate of current device location.
890
+ #
891
+ # @param locale [String, nil] Device locale: e.g. "en-US".
892
+ #
893
+ # @param longitude [Float, nil] Longitude coordinate of current device location.
894
+ #
895
+ # @param os [String, nil] Operating System: e.g. "Android 12", "iOS 17.1".
896
+ #
897
+ # @param platform [String, nil] Device platform: Android, iOS, Windows, etc.
898
+ #
899
+ # @param screen_height [Integer, nil] Screen height in pixels.
900
+ #
901
+ # @param screen_width [Integer, nil] Screen width in pixels.
831
902
  #
832
- # @param ip [String] External IP address used by the app generating the 3DS authentication request. M
903
+ # @param time_zone [String, nil] Time zone offset in minutes between UTC and device local time.
833
904
  end
834
905
 
835
906
  # Type of authentication request - i.e., the type of transaction or interaction is
@@ -893,9 +964,8 @@ module Lithic
893
964
  optional :language, String, nil?: true
894
965
 
895
966
  # @!attribute time_zone
896
- # Time zone of the cardholder's browser offset in minutes between UTC and the
897
- # cardholder browser's local time. The offset is positive if the local time is
898
- # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`.
967
+ # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS
968
+ # field `browserTz`.
899
969
  #
900
970
  # @return [String, nil]
901
971
  optional :time_zone, String, nil?: true
@@ -924,7 +994,7 @@ module Lithic
924
994
  #
925
995
  # @param language [String, nil] Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS f
926
996
  #
927
- # @param time_zone [String, nil] Time zone of the cardholder's browser offset in minutes between UTC and the card
997
+ # @param time_zone [String, nil] Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS
928
998
  #
929
999
  # @param user_agent [String, nil] Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`.
930
1000
  end
@@ -938,18 +1008,46 @@ module Lithic
938
1008
  required :method_type,
939
1009
  enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType }
940
1010
 
1011
+ # @!attribute status
1012
+ # Indicates the status of the challenge
1013
+ #
1014
+ # - SUCCESS - Cardholder completed the challenge successfully
1015
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
1016
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
1017
+ # provided phone number. Relevant only for SMS_OTP method
1018
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
1019
+ # given challenge TTL
1020
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
1021
+ # "cancel" on the challenge UI
1022
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
1023
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
1024
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
1025
+ # more than the allowed number of times
1026
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
1027
+ # - ERROR - The challenge failed for a reason different than those documented
1028
+ #
1029
+ # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status]
1030
+ required :status,
1031
+ enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status }
1032
+
941
1033
  # @!attribute phone_number
942
1034
  # The phone number used for delivering the OTP. Relevant only for SMS_OTP method.
943
1035
  #
944
1036
  # @return [String, nil]
945
1037
  optional :phone_number, String, nil?: true
946
1038
 
947
- # @!method initialize(method_type:, phone_number: nil)
1039
+ # @!method initialize(method_type:, status:, phone_number: nil)
1040
+ # Some parameter documentations has been truncated, see
1041
+ # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata} for
1042
+ # more details.
1043
+ #
948
1044
  # Metadata about the challenge method and delivery. Only present when a challenge
949
1045
  # is triggered.
950
1046
  #
951
1047
  # @param method_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType] The type of challenge method used for authentication.
952
1048
  #
1049
+ # @param status [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status] Indicates the status of the challenge
1050
+ #
953
1051
  # @param phone_number [String, nil] The phone number used for delivering the OTP. Relevant only for SMS_OTP method.
954
1052
 
955
1053
  # The type of challenge method used for authentication.
@@ -964,6 +1062,41 @@ module Lithic
964
1062
  # @!method self.values
965
1063
  # @return [Array<Symbol>]
966
1064
  end
1065
+
1066
+ # Indicates the status of the challenge
1067
+ #
1068
+ # - SUCCESS - Cardholder completed the challenge successfully
1069
+ # - PENDING - Challenge was issued to the cardholder and was not completed yet
1070
+ # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the
1071
+ # provided phone number. Relevant only for SMS_OTP method
1072
+ # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the
1073
+ # given challenge TTL
1074
+ # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting
1075
+ # "cancel" on the challenge UI
1076
+ # - CANCELED_OOB - Cardholder canceled the challenge out of band
1077
+ # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an
1078
+ # incorrect OTP more than the allowed number of times or requesting a new OTP
1079
+ # more than the allowed number of times
1080
+ # - ABORTED - Merchant aborted authentication after a challenge was requested
1081
+ # - ERROR - The challenge failed for a reason different than those documented
1082
+ #
1083
+ # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata#status
1084
+ module Status
1085
+ extend Lithic::Internal::Type::Enum
1086
+
1087
+ SUCCESS = :SUCCESS
1088
+ PENDING = :PENDING
1089
+ SMS_DELIVERY_FAILED = :SMS_DELIVERY_FAILED
1090
+ CARDHOLDER_TIMEOUT = :CARDHOLDER_TIMEOUT
1091
+ CANCELED_VIA_CHALLENGE_UI = :CANCELED_VIA_CHALLENGE_UI
1092
+ CANCELED_OOB = :CANCELED_OOB
1093
+ ATTEMPTS_EXCEEDED = :ATTEMPTS_EXCEEDED
1094
+ ABORTED = :ABORTED
1095
+ ERROR = :ERROR
1096
+
1097
+ # @!method self.values
1098
+ # @return [Array<Symbol>]
1099
+ end
967
1100
  end
968
1101
 
969
1102
  # Entity that orchestrates the challenge. This won't be set for authentications
@@ -31,10 +31,7 @@ module Lithic
31
31
  # When not set defaults to MATCH
32
32
  #
33
33
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationSimulateParams::CardExpiryCheck, nil]
34
- optional :card_expiry_check,
35
- enum: -> {
36
- Lithic::ThreeDS::AuthenticationSimulateParams::CardExpiryCheck
37
- }
34
+ optional :card_expiry_check, enum: -> { Lithic::ThreeDS::AuthenticationSimulateParams::CardExpiryCheck }
38
35
 
39
36
  # @!method initialize(merchant:, pan:, transaction:, card_expiry_check: nil, request_options: {})
40
37
  # Some parameter documentations has been truncated, see
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Lithic
4
4
  module Models
5
- # @see Lithic::Resources::Tokenizations#list
5
+ # @see Lithic::Resources::Tokenizations#retrieve
6
6
  class Tokenization < Lithic::Internal::Type::BaseModel
7
7
  # @!attribute token
8
8
  # Globally unique identifier for a Tokenization
@@ -26,10 +26,7 @@ module Lithic
26
26
  # @!attribute fleet
27
27
  #
28
28
  # @return [Array<Lithic::Models::Transactions::Events::EnhancedData::Fleet>]
29
- required :fleet,
30
- -> {
31
- Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Fleet]
32
- }
29
+ required :fleet, -> { Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Fleet] }
33
30
 
34
31
  # @!attribute transaction_token
35
32
  # The token of the transaction that the enhanced data is associated with.
@@ -54,9 +51,7 @@ module Lithic
54
51
  #
55
52
  # @return [Array<Lithic::Models::Transactions::Events::EnhancedData::Common::LineItem>]
56
53
  required :line_items,
57
- -> {
58
- Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Common::LineItem]
59
- }
54
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Common::LineItem] }
60
55
 
61
56
  # @!attribute tax
62
57
  #
@@ -200,10 +195,7 @@ module Lithic
200
195
  # The type of fuel service.
201
196
  #
202
197
  # @return [Symbol, Lithic::Models::Transactions::Events::EnhancedData::Fleet::ServiceType, nil]
203
- optional :service_type,
204
- enum: -> {
205
- Lithic::Transactions::Events::EnhancedData::Fleet::ServiceType
206
- }
198
+ optional :service_type, enum: -> { Lithic::Transactions::Events::EnhancedData::Fleet::ServiceType }
207
199
 
208
200
  # @!attribute vehicle_number
209
201
  # The vehicle number entered into the terminal at the time of sale, with leading
@@ -178,6 +178,8 @@ module Lithic
178
178
  # Some parameter documentations has been truncated, see
179
179
  # {Lithic::Models::Transfer::Event} for more details.
180
180
  #
181
+ # Financial Event
182
+ #
181
183
  # @param token [String] Globally unique identifier.
182
184
  #
183
185
  # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class WirePartyDetails < Lithic::Internal::Type::BaseModel
6
+ # @!attribute account_number
7
+ # Account number
8
+ #
9
+ # @return [String, nil]
10
+ optional :account_number, String, nil?: true
11
+
12
+ # @!attribute agent_id
13
+ # Routing number or BIC of the financial institution
14
+ #
15
+ # @return [String, nil]
16
+ optional :agent_id, String, nil?: true
17
+
18
+ # @!attribute agent_name
19
+ # Name of the financial institution
20
+ #
21
+ # @return [String, nil]
22
+ optional :agent_name, String, nil?: true
23
+
24
+ # @!attribute name
25
+ # Name of the person or company
26
+ #
27
+ # @return [String, nil]
28
+ optional :name, String, nil?: true
29
+
30
+ # @!method initialize(account_number: nil, agent_id: nil, agent_name: nil, name: nil)
31
+ # @param account_number [String, nil] Account number
32
+ #
33
+ # @param agent_id [String, nil] Routing number or BIC of the financial institution
34
+ #
35
+ # @param agent_name [String, nil] Name of the financial institution
36
+ #
37
+ # @param name [String, nil] Name of the person or company
38
+ end
39
+ end
40
+ end
data/lib/lithic/models.rb CHANGED
@@ -41,6 +41,10 @@ module Lithic
41
41
 
42
42
  Account = Lithic::Models::Account
43
43
 
44
+ AccountActivityListParams = Lithic::Models::AccountActivityListParams
45
+
46
+ AccountActivityRetrieveTransactionParams = Lithic::Models::AccountActivityRetrieveTransactionParams
47
+
44
48
  AccountFinancialAccountType = Lithic::Models::AccountFinancialAccountType
45
49
 
46
50
  AccountHolder = Lithic::Models::AccountHolder
@@ -385,4 +389,6 @@ module Lithic
385
389
  TransferCreateParams = Lithic::Models::TransferCreateParams
386
390
 
387
391
  VerificationMethod = Lithic::Models::VerificationMethod
392
+
393
+ WirePartyDetails = Lithic::Models::WirePartyDetails
388
394
  end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class AccountActivity
6
+ # Some parameter documentations has been truncated, see
7
+ # {Lithic::Models::AccountActivityListParams} for more details.
8
+ #
9
+ # Retrieve a list of transactions across all public accounts.
10
+ #
11
+ # @overload list(account_token: nil, begin_: nil, business_account_token: nil, category: nil, end_: nil, ending_before: nil, financial_account_token: nil, page_size: nil, result: nil, starting_after: nil, status: nil, request_options: {})
12
+ #
13
+ # @param account_token [String] Filter by account token
14
+ #
15
+ # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi
16
+ #
17
+ # @param business_account_token [String] Filter by business account token
18
+ #
19
+ # @param category [Symbol, Lithic::Models::AccountActivityListParams::Category] Filter by transaction category
20
+ #
21
+ # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w
22
+ #
23
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
24
+ #
25
+ # @param financial_account_token [String] Filter by financial account token
26
+ #
27
+ # @param page_size [Integer] Page size (for pagination).
28
+ #
29
+ # @param result [Array<Symbol, Lithic::Models::AccountActivityListParams::Result>] Filter by transaction result
30
+ #
31
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
32
+ #
33
+ # @param status [Array<Symbol, Lithic::Models::AccountActivityListParams::Status>] Filter by transaction status
34
+ #
35
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
36
+ #
37
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::AccountActivityListResponse::FinancialTransaction, Lithic::Models::AccountActivityListResponse::BookTransferTransaction, Lithic::Models::AccountActivityListResponse::CardTransaction, Lithic::Models::AccountActivityListResponse::PaymentTransaction, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction>]
38
+ #
39
+ # @see Lithic::Models::AccountActivityListParams
40
+ def list(params = {})
41
+ parsed, options = Lithic::AccountActivityListParams.dump_request(params)
42
+ @client.request(
43
+ method: :get,
44
+ path: "v1/account_activity",
45
+ query: parsed.transform_keys(begin_: "begin", end_: "end"),
46
+ page: Lithic::Internal::CursorPage,
47
+ model: Lithic::Models::AccountActivityListResponse,
48
+ options: options
49
+ )
50
+ end
51
+
52
+ # Retrieve a single transaction
53
+ #
54
+ # @overload retrieve_transaction(transaction_token, request_options: {})
55
+ #
56
+ # @param transaction_token [String] The unique identifier for the transaction
57
+ #
58
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
59
+ #
60
+ # @return [Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction]
61
+ #
62
+ # @see Lithic::Models::AccountActivityRetrieveTransactionParams
63
+ def retrieve_transaction(transaction_token, params = {})
64
+ @client.request(
65
+ method: :get,
66
+ path: ["v1/account_activity/%1$s", transaction_token],
67
+ model: Lithic::Models::AccountActivityRetrieveTransactionResponse,
68
+ options: params[:request_options]
69
+ )
70
+ end
71
+
72
+ # @api private
73
+ #
74
+ # @param client [Lithic::Client]
75
+ def initialize(client:)
76
+ @client = client
77
+ end
78
+ end
79
+ end
80
+ end
@@ -15,15 +15,9 @@ module Lithic
15
15
  # process. This endpoint can only be used on accounts that are part of the program
16
16
  # that the calling API key manages.
17
17
  #
18
- # @overload create(beneficial_owner_individuals:, business_entity:, control_person:, nature_of_business:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {})
18
+ # @overload create(business_entity:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_individuals: nil, control_person: nil, nature_of_business: nil, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {})
19
19
  #
20
- # @param beneficial_owner_individuals [Array<Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual>] You must submit a list of all direct and indirect individuals with 25% or more o
21
- #
22
- # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened and KYB is being
23
- #
24
- # @param control_person [Lithic::Models::AccountHolderCreateParams::ControlPerson] An individual with significant responsibility for managing the legal entity (e.g
25
- #
26
- # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company
20
+ # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened.
27
21
  #
28
22
  # @param tos_timestamp [String] An RFC 3339 timestamp indicating when the account holder accepted the applicable
29
23
  #
@@ -43,11 +37,17 @@ module Lithic
43
37
  #
44
38
  # @param phone_number [String] The KYC Exempt user's phone number, entered in E.164 format.
45
39
  #
40
+ # @param beneficial_owner_individuals [Array<Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual>] You can submit a list of all direct and indirect individuals with 25% or more ow
41
+ #
42
+ # @param control_person [Lithic::Models::AccountHolderCreateParams::ControlPerson] An individual with significant responsibility for managing the legal entity (e.g
43
+ #
44
+ # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company
45
+ #
46
46
  # @param beneficial_owner_entities [Array<Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity>] Deprecated.
47
47
  #
48
48
  # @param external_id [String] A user provided id that can be used to link an account holder with an external s
49
49
  #
50
- # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYC was completed on the busin
50
+ # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin
51
51
  #
52
52
  # @param website_url [String] Company website URL.
53
53
  #
@@ -9,9 +9,9 @@ module Lithic
9
9
  # Book transfer funds between two financial accounts or between a financial
10
10
  # account and card
11
11
  #
12
- # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, memo: nil, request_options: {})
12
+ # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, memo: nil, on_closed_account: nil, request_options: {})
13
13
  #
14
- # @param amount [Integer] Amount to be transferred in the currencys smallest unit (e.g., cents for USD).
14
+ # @param amount [Integer] Amount to be transferred in the currency's smallest unit (e.g., cents for USD).
15
15
  #
16
16
  # @param category [Symbol, Lithic::Models::BookTransferCreateParams::Category] Category of the book transfer
17
17
  #
@@ -21,12 +21,16 @@ module Lithic
21
21
  #
22
22
  # @param to_financial_account_token [String] Globally unique identifier for the financial account or card that will receive t
23
23
  #
24
- # @param type [Symbol, Lithic::Models::BookTransferCreateParams::Type] Type of book_transfer
24
+ # @param type [Symbol, Lithic::Models::BookTransferCreateParams::Type] Type of the book transfer
25
25
  #
26
26
  # @param token [String] Customer-provided token that will serve as an idempotency token. This token will
27
27
  #
28
+ # @param external_id [String] External ID defined by the customer
29
+ #
28
30
  # @param memo [String] Optional descriptor for the transfer.
29
31
  #
32
+ # @param on_closed_account [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation
33
+ #
30
34
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
31
35
  #
32
36
  # @return [Lithic::Models::BookTransferResponse]
@@ -18,7 +18,7 @@ module Lithic
18
18
  #
19
19
  # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
20
20
  #
21
- # @param page_size [Integer] Page size (for pagination).
21
+ # @param page_size [Integer] Number of records per page.
22
22
  #
23
23
  # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
24
24
  #
@@ -11,14 +11,14 @@ module Lithic
11
11
  #
12
12
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
13
13
  #
14
- # @return [Lithic::Models::TokenizationRetrieveResponse]
14
+ # @return [Lithic::Models::Tokenization]
15
15
  #
16
16
  # @see Lithic::Models::TokenizationRetrieveParams
17
17
  def retrieve(tokenization_token, params = {})
18
18
  @client.request(
19
19
  method: :get,
20
20
  path: ["v1/tokenizations/%1$s", tokenization_token],
21
- model: Lithic::Models::TokenizationRetrieveResponse,
21
+ model: Lithic::Tokenization,
22
22
  options: params[:request_options]
23
23
  )
24
24
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.1.0.pre.alpha.40"
4
+ VERSION = "0.1.0.pre.alpha.41"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -52,10 +52,15 @@ require_relative "lithic/internal/transport/pooled_net_requester"
52
52
  require_relative "lithic/client"
53
53
  require_relative "lithic/internal/cursor_page"
54
54
  require_relative "lithic/internal/single_page"
55
+ require_relative "lithic/models/transaction"
55
56
  require_relative "lithic/models/non_pci_card"
56
57
  require_relative "lithic/models/payment"
57
58
  require_relative "lithic/models/three_ds/challenge_response"
58
59
  require_relative "lithic/models/account"
60
+ require_relative "lithic/models/account_activity_list_params"
61
+ require_relative "lithic/models/account_activity_list_response"
62
+ require_relative "lithic/models/account_activity_retrieve_transaction_params"
63
+ require_relative "lithic/models/account_activity_retrieve_transaction_response"
59
64
  require_relative "lithic/models/account_financial_account_type"
60
65
  require_relative "lithic/models/account_holder"
61
66
  require_relative "lithic/models/account_holder_create_params"
@@ -315,14 +320,12 @@ require_relative "lithic/models/tokenization_list_params"
315
320
  require_relative "lithic/models/tokenization_pause_params"
316
321
  require_relative "lithic/models/tokenization_resend_activation_code_params"
317
322
  require_relative "lithic/models/tokenization_retrieve_params"
318
- require_relative "lithic/models/tokenization_retrieve_response"
319
323
  require_relative "lithic/models/tokenization_secret"
320
324
  require_relative "lithic/models/tokenization_simulate_params"
321
325
  require_relative "lithic/models/tokenization_simulate_response"
322
326
  require_relative "lithic/models/tokenization_unpause_params"
323
327
  require_relative "lithic/models/tokenization_update_digital_card_art_params"
324
328
  require_relative "lithic/models/tokenization_update_digital_card_art_response"
325
- require_relative "lithic/models/transaction"
326
329
  require_relative "lithic/models/transaction_expire_authorization_params"
327
330
  require_relative "lithic/models/transaction_list_params"
328
331
  require_relative "lithic/models/transaction_retrieve_params"
@@ -347,7 +350,9 @@ require_relative "lithic/models/transaction_simulate_void_response"
347
350
  require_relative "lithic/models/transfer"
348
351
  require_relative "lithic/models/transfer_create_params"
349
352
  require_relative "lithic/models/verification_method"
353
+ require_relative "lithic/models/wire_party_details"
350
354
  require_relative "lithic/models"
355
+ require_relative "lithic/resources/account_activity"
351
356
  require_relative "lithic/resources/account_holders"
352
357
  require_relative "lithic/resources/accounts"
353
358
  require_relative "lithic/resources/aggregate_balances"
@@ -106,6 +106,9 @@ module Lithic
106
106
  sig { returns(Lithic::Resources::NetworkPrograms) }
107
107
  attr_reader :network_programs
108
108
 
109
+ sig { returns(Lithic::Resources::AccountActivity) }
110
+ attr_reader :account_activity
111
+
109
112
  # Status of api
110
113
  sig do
111
114
  params(request_options: Lithic::RequestOptions::OrHash).returns(
@@ -59,10 +59,10 @@ module Lithic
59
59
  end
60
60
 
61
61
  class APIConnectionError < Lithic::Errors::APIError
62
- sig { void }
62
+ sig { returns(NilClass) }
63
63
  attr_accessor :status
64
64
 
65
- sig { void }
65
+ sig { returns(NilClass) }
66
66
  attr_accessor :body
67
67
 
68
68
  # @api private
@@ -213,7 +213,7 @@ module Lithic
213
213
  send_retry_header: T::Boolean
214
214
  ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
215
215
  end
216
- private def send_request(
216
+ def send_request(
217
217
  request,
218
218
  redirect_count:,
219
219
  retry_count:,